Commit Graph

16 Commits

Author SHA1 Message Date
chrome-storm-c442
cf319c502e v1.9.16: add --s3-url presigned URL command to ssh.py
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 04:05:00 -05:00
chrome-storm-c442
9b0e4c76a3 v1.9.0: S3 server type — bucket/object browser, drag-and-drop upload, resilient transfers
New server type: S3 (MinIO, AWS, any S3-compatible storage)
- core/s3_client.py: boto3 client with auto-reconnect, 10 retries, exponential backoff, multipart upload/download, tcp_keepalive
- gui/tabs/s3_tab.py: object browser (Treeview), bucket selector, folder navigation, drag-and-drop upload from Explorer (windnd), progress bar with %, multi-file upload
- CLI: --s3-buckets, --s3-ls, --s3-upload, --s3-download, --s3-delete with retry
- ServerDialog: access_key, secret_key, bucket fields
- Registration: server_store, connection_factory, status_checker, icons, app, i18n (EN/RU/ZH)
- Fix: build.py cleanup_old_releases now sorts by semver (was lexicographic, broke v1.8.100+)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 06:32:03 -05:00
chrome-storm-c442
7e7c1d3efc v1.8.73: reliable SFTP upload — chunked resume, SHA256 verification, adaptive retry
- CLI (ssh.py): chunked resume upload for files >10MB with .part atomic rename
- CLI: SHA256 verification (sha256sum on Linux, Get-FileHash on Windows)
- CLI: adaptive retry count based on file size (up to 30 for large files)
- CLI: SSH keepalive 15s + window_size 4MB for stable transfers
- CLI: path injection fix in SHA256 shell commands
- CLI: Windows SFTP path fix for PowerShell Get-FileHash
- GUI (ssh_client.py): chunked upload with resume in SFTPSession
- GUI: retry up to 3 attempts with SHA256 readback in SSHClientWrapper
- GUI: keepalive 15s + window_size 4MB in both auth paths
- Tested: 5MB, 15MB, 200MB uploads to Windows SSH server (116)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 10:03:07 -05:00
chrome-storm-c442
997c7d20a5 v1.8.66: fix 7 Redis bugs — shlex parser, GUI stats, SSL, error handling, dedup
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 07:15:46 -05:00
delta-cloud-208e
7c9e54bb44 feat: add --type support to --add command
- Support for all server types: ssh, telnet, mariadb, mssql, postgresql, redis, grafana, prometheus, winrm, rdp
- Add --type, --database, --token options to --add command
- Add server type validation
- Add type-specific fields (database, token, auth_method)
- Update skill-ssh.md with new usage

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-02-27 07:15:57 +00:00
chrome-storm-c442
b2c6f8fdd3 v1.8.65: Linux→Windows auto-sanitize commands for Windows SSH servers
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 08:27:57 -05:00
chrome-storm-c442
3a5d1b27fc v1.8.60: multi-type status check + --add in skill + skill docs update
- _check_status_one: proper connectivity check per server type
  (SSH/SQL/Redis/Grafana/Prometheus/WinRM/RDP)
- ping_server uses _check_status_one instead of paramiko-only
- check_status shows server type column
- skill-ssh.md: allow --add, document it, update --status description
- CLAUDE.md: add --add/--remove/--set-note to command reference

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 05:26:24 -05:00
chrome-storm-c442
eede67e6a9 feat: multi-type server support — SQL, Redis, Grafana, Prometheus, Telnet, WinRM, RDP/VNC
Full implementation of multi-type server management across GUI and CLI:

New clients: SQLClient (MariaDB/MSSQL/PostgreSQL), RedisClient, GrafanaClient,
PrometheusClient, TelnetSession, WinRMClient, RemoteDesktopLauncher.

New GUI tabs: QueryTab (SQL editor + Treeview), RedisTab (console + history),
GrafanaTab (dashboards + alerts), PrometheusTab (PromQL + targets),
PowershellTab (PS/CMD), LaunchTab (RDP/VNC external client).

Infrastructure: TAB_REGISTRY for conditional tabs per server type,
adaptive server_dialog fields, colored type badges in sidebar,
status checker for all types (SSH/TCP/SQL/Redis/HTTP), 100+ i18n keys.

CLI: ssh.py extended with --sql, --redis, --grafana-*, --prom-*, --ps, --cmd.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 09:35:24 -05:00
chrome-storm-c442
7d29f8446a feat: add upload/download progress reporting in ssh.py
Files <1MB show size+time in OK line. Files >=1MB show 25/50/75% milestones with transferred/total, plus speed in final OK line.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 07:38:40 -05:00
chrome-storm-c442
e75afddb99 fix: SFTP paths on Windows — double-slash for remote, remove broken MSYS env
- Remote paths in upload/download require // prefix on Windows/Git Bash
- Removed useless MSYS_NO_PATHCONV from Python (must be shell-level)
- Removed broken bash wrapper
- Updated skill docs with // path rule and examples

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 07:14:49 -05:00
chrome-storm-c442
d7101a12d2 chore: add release binaries v1.6.x, v1.8.9-v1.8.23 and fix MSYS path conversion
- Add 17 release executables that were missing from the remote repo
- Fix MSYS path conversion issue in tools/ssh.py for Windows compatibility
- Add nul to .gitignore to prevent Windows special file conflicts

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 07:08:40 -05:00
chrome-storm-c442
8554c73ba0 fix: word-boundary fuzzy alias search, _resolve_alias in remove_server
- "tor" now matches "API TOR contabo..." but NOT "investor"
- Whole-word match first, substring fallback second
- remove_server() now uses _resolve_alias() for consistency

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 07:02:38 -05:00
chrome-storm-c442
afa3210260 v1.8.23: upgrade ssh.py + skill for secure Claude Code integration
- Add --info (safe server details without credentials)
- Add --set-note (update server notes for context)
- Add --no-sudo flag documentation in skill
- Fix --add leaking user@ip:port in output
- Add WARNING to --list-full, forbid in skill
- Add notes column to --list output
- Update skill: portable path ~/.server-connections/, security rules, behavior docs
- Update CLAUDE.md: security section, architecture, dev commands, doc references

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 06:51:59 -05:00
chrome-storm-c442
efb508c982 v1.8.10: security audit fixes
- --list and --status no longer expose IP/port/user (only aliases)
- --list-full for admin use (not in skill)
- Removed --add from /ssh skill (servers added via GUI only)
- Removed exact file paths from skill template
- Added deny-read rules for ~/.server-connections/ files
- Wrapped main() in try/except to prevent traceback leaking
- Added needs_reencrypt() to encryption.py for future migration
- install_key no longer prints server IP

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 04:56:16 -05:00
chrome-storm-c442
bf39fd7b67 v1.2.0 + v1.3.0: Localization, About dialog, TOTP/2FA, stability improvements
v1.2.0:
- GUI localization (EN/RU/ZH) with language switcher and persistent selection
- About dialog (ⓘ) with app info, features, quick start guide
- core/i18n.py — internationalization module with t() function
- All GUI components translated via t() keys

v1.3.0:
- TOTP/2FA tab — Google Authenticator compatible codes with live 30s countdown,
  one-click copy, per-server secret management
- core/totp.py — TOTP module (pyotp, RFC 6238)
- core/logger.py — rotating file logger (5MB, 3 backups)
- Stronger Fernet encryption key with automatic migration from old key
- Thread-safe server store with locks, atomic writes, auto-restore on corruption
- Parallel status checks via ThreadPoolExecutor (up to 10 concurrent)
- SSH client: explicit channel cleanup, Unix key permissions
- Server dialog: port validation (1-65535), TOTP secret field
- Language change preserves active tab and server selection
- pyotp dependency added

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 11:07:51 -05:00
chrome-storm-c442
42a6a876d3 Add Claude Code integration: shared config + Setup tab
- Shared servers.json at ~/.server-connections/ (GUI + Claude Code)
- Setup tab: one-click install of ssh.py, /ssh skill, SSH key
- Duplicate checks — safe to run multiple times
- tools/ssh.py + tools/skill-ssh.md bundled
- Updated README with integration docs (EN/RU/ZH)
- Deploy guide for new machines

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 09:01:22 -05:00