Skip to main content

A CLI tool to manage and sync SSH connections via Git

Project description

Swan SSH 🦢

A simple, fast, and beautiful CLI tool to manage and synchronize SSH connections seamlessly across all your devices using a private Git repository. Made with Python, Typer, and Rich.

Installation

The recommended way to install Swan SSH is via pipx. This ensures it's installed in an isolated environment without disturbing your system's Python packages.

pipx install swan-ssh

⚠️ Important Note on pipx PATH: If you see a warning saying ~/.local/bin is not on your PATH, you simply need to run:

pipx ensurepath

Then close and reopen your terminal. Your swan command will now be globally available!

Usage Flow

  1. Initialize the workspace: First, create a private GitHub repository. Then, run swan init and paste its URL.

    swan init
    
  2. Add a Server:

    swan add
    # Prompts for label, ip, port, username, password
    # Automatically commits and pushes to your private repo behind the scenes!
    
  3. List Servers: Brings up a beautiful formatting table of your servers.

    swan list
    
  4. Connect Instantly: Using the short ID from the list command.

    swan connect <id>
    
  5. Sync from Another Device: Installed Swan on your Macbook? Just run:

    swan init
    # Provide the same repo URL
    swan sync
    # Ready to connect!
    
  6. Remove a Server:

    swan rm <id>
    
  7. Clean up & Uninstall: If you ever want to completely remove the configuration directory (~/.swan-ssh) before uninstalling the tool, use:

    swan destroy
    pipx uninstall swan-ssh
    

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

swan_ssh-1.0.0.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

swan_ssh-1.0.0-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file swan_ssh-1.0.0.tar.gz.

File metadata

  • Download URL: swan_ssh-1.0.0.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for swan_ssh-1.0.0.tar.gz
Algorithm Hash digest
SHA256 cad6f622dd98cb63edff964baeecb0f3931f13ffc5a31d417c6f9ee9cc9d4162
MD5 25cdce949e7a63a2f6c8051278ca582a
BLAKE2b-256 3eb0c0e6f8b01e01aa95e9a7fafced6e9472e3cbb27dc0afec64767d08869a44

See more details on using hashes here.

File details

Details for the file swan_ssh-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: swan_ssh-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for swan_ssh-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b5a0655864ef4e5a52cd0bab6586b37c01b3da4e22727d2e55e40da2e7f24223
MD5 429be40b4e37a8e2659424599b9169e2
BLAKE2b-256 00508cd90c1576464ed1dc6e516ae4c6457a0ee53a1816b0068a2672a789a3eb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page