{"id":15704664,"url":"https://github.com/nlemoine/transmit-2-ssh-config","last_synced_at":"2025-05-12T16:45:16.979Z","repository":{"id":57379211,"uuid":"88881092","full_name":"nlemoine/transmit-2-ssh-config","owner":"nlemoine","description":"Sync your Transmit SFTP favorites with your ssh config file","archived":false,"fork":false,"pushed_at":"2025-04-25T09:08:44.000Z","size":55,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-25T10:26:24.464Z","etag":null,"topics":["ssh-config","transmit"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nlemoine.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-04-20T15:24:35.000Z","updated_at":"2024-07-25T23:31:37.000Z","dependencies_parsed_at":"2024-10-24T06:19:02.049Z","dependency_job_id":"516ee7f2-338f-4130-bdd3-4ce06a638137","html_url":"https://github.com/nlemoine/transmit-2-ssh-config","commit_stats":{"total_commits":22,"total_committers":1,"mean_commits":22.0,"dds":0.0,"last_synced_commit":"c2551743124969f36fbf3887d46f7d86b4f41aad"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nlemoine%2Ftransmit-2-ssh-config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nlemoine%2Ftransmit-2-ssh-config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nlemoine%2Ftransmit-2-ssh-config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nlemoine%2Ftransmit-2-ssh-config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nlemoine","download_url":"https://codeload.github.com/nlemoine/transmit-2-ssh-config/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253778742,"owners_count":21962917,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ssh-config","transmit"],"created_at":"2024-10-03T20:13:05.291Z","updated_at":"2025-05-12T16:45:16.957Z","avatar_url":"https://github.com/nlemoine.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Transmit favorites to SSH config\n\nThis package is born because I was bored to keep both my SSH config file and Transmit favorites in sync, filling twice the same informations over and over.\n\nIt will add all your [Transmit 5](https://panic.com/transmit/) SFTP favorites into an SSH config file.\n\n- [Install](#install)\n- [Usage](#usage)\n- [Additional notes](#additional-notes)\n- [Third party stuff to consider](#third-party-stuff-to-consider)\n- [License](#license)\n\n## Install\n\n```bash\nnpm install -g transmit-2-ssh-config\n```\n\nor\n\n```bash\nyarn global add transmit-2-ssh-config\n```\n\n## Usage\n\n```bash\nt2sc\n```\n\n## Additional notes\n\n- You have to allow access to Transmit on the first run.\n- If you don't have a `~/.ssh/config` file, it will be created for you.\n- Only SFTP favorites are synchronized to the SSH config file.\n- Existing config, hosts in your SSH config file will be preserved, Transmit favorites are safely added, updated or deleted.\n\n## Caveats\n\nSince Transmit 5, [getting favorites folders is made in a hacky and dirty way through AppleScript](https://github.com/nlemoine/transmit-2-ssh-config/blob/master/favorites-folders.applescript). Thus, it's far less reliable than it used to be in Transmit 4. There might some (edges) cases where it fails, for example, if you have a favorite with the same name in two different folders. Global advice to avoid that kind of situation: have unique folder and favorites names.\n\n## Third party stuff to consider\n\n### SSH config completion\n\nI strongly recommend, if not using it already, to add this line to your `.bash_profile`:\n\n```bash\n# Add tab completion for SSH hostnames based on ~/.ssh/config, ignoring wildcards\n[ -e \"$HOME/.ssh/config\" ] \u0026\u0026 complete -o \"default\" -o \"nospace\" -W \"$(grep \"^Host\" ~/.ssh/config | grep -v \"[?*]\" | cut -d \" \" -f2- | tr ' ' '\\n')\" scp sftp ssh;\n```\nTaken from famous [Mathias’s dotfiles](https://github.com/mathiasbynens/dotfiles/blob/5368015b53467949c36f1e386582ac066b0d0ae6/.bash_profile#L42-L43)\n\n### Shuttle\n\nYou can quickly access your SSH config file hosts with the excellent [Shuttle](http://fitztrev.github.io/shuttle/) app.\n\n## License\n\nMIT © Nicolas Lemoine\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnlemoine%2Ftransmit-2-ssh-config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnlemoine%2Ftransmit-2-ssh-config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnlemoine%2Ftransmit-2-ssh-config/lists"}