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.2.tar.gz (8.1 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.2-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: swan_ssh-1.0.2.tar.gz
  • Upload date:
  • Size: 8.1 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.2.tar.gz
Algorithm Hash digest
SHA256 4311bc148431ab72b98139d29aeea299f2b38279b6167a7326cc1fee8f38aabc
MD5 324fd3c0ba08454035b8b73cae61567f
BLAKE2b-256 c05ded10c1b1d32a3c08ccd45c24a82fb1cd0a5a01041f4329f8699e96175d45

See more details on using hashes here.

File details

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

File metadata

  • Download URL: swan_ssh-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 8.7 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b53471015caf33d8b21af91570eda68b560a80525b4a7af35efd247895b68d1a
MD5 e0775bfac981a94e4726c0a1c6bb54c7
BLAKE2b-256 55df21f4aeae0193430276c9bc1f6761e1035faac595c47023cca26237e7ff1a

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