{"id":14155591,"url":"https://github.com/transmitic/transmitic","last_synced_at":"2025-04-15T12:31:15.577Z","repository":{"id":45804317,"uuid":"307886841","full_name":"transmitic/transmitic","owner":"transmitic","description":"Encrypted, peer to peer, file transfer program :: https://discord.gg/tRT3J6T :: https://www.reddit.com/r/transmitic/ :: https://twitter.com/transmitic","archived":false,"fork":false,"pushed_at":"2024-07-09T03:51:21.000Z","size":615,"stargazers_count":86,"open_issues_count":42,"forks_count":5,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-28T20:12:05.044Z","etag":null,"topics":["aes","aes-encryption","encrypted","f2f","file","file-sharing","file-transfer","friend-to-friend","large-file-transfers","linux","linux-desktop","macos","p2p","peer-to-peer","rust","rust-lang","self-hosted","transfer","windows","windows-desktop"],"latest_commit_sha":null,"homepage":"https://transmitic.net","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/transmitic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"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},"funding":{"github":null,"patreon":"andrewshay","open_collective":null,"ko_fi":"andrewshay","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://www.buymeacoffee.com/andrewshay"]}},"created_at":"2020-10-28T02:36:24.000Z","updated_at":"2025-02-20T09:09:59.000Z","dependencies_parsed_at":"2023-10-27T05:33:18.699Z","dependency_job_id":"dfba7d16-69c4-46c0-b339-3b7a5af929d0","html_url":"https://github.com/transmitic/transmitic","commit_stats":null,"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transmitic%2Ftransmitic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transmitic%2Ftransmitic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transmitic%2Ftransmitic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transmitic%2Ftransmitic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/transmitic","download_url":"https://codeload.github.com/transmitic/transmitic/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249072168,"owners_count":21208129,"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":["aes","aes-encryption","encrypted","f2f","file","file-sharing","file-transfer","friend-to-friend","large-file-transfers","linux","linux-desktop","macos","p2p","peer-to-peer","rust","rust-lang","self-hosted","transfer","windows","windows-desktop"],"created_at":"2024-08-17T08:04:10.690Z","updated_at":"2025-04-15T12:31:15.556Z","avatar_url":"https://github.com/transmitic.png","language":"HTML","readme":"\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"./src/window_icon.svg\" alt=\"Transmitic Logo\" height=\"150\"\u003e \n\u003ch1\u003eTransmitic Beta\u003c/h1\u003e\n\u003cstrong\u003eEncrypted, peer to peer, file transfer and sharing, with download pause and resume\u003c/strong\u003e\n\u003cbr/\u003e\n\u003ca href=\"https://discord.gg/tRT3J6T\"\u003eDiscord\u003c/a\u003e ● \u003ca href=\"https://www.reddit.com/r/transmitic/\"\u003eReddit\u003c/a\u003e ● \u003ca href=\"https://twitter.com/transmitic\"\u003eTwitter\u003c/a\u003e ● \u003ca href=\"https://techhub.social/@transmitic\"\u003eMastodon\u003c/a\u003e ● \u003ca href=\"https://transmitic.net/\"\u003etransmitic.net\u003c/a\u003e\n\u003c/div\u003e\n\u003cbr/\u003e\n\n- Encrypted\n- P2P\n- Built with Rust  \n- No third party server involved  \n- No file size limits  \n\nThe goal is to make transferring files and folders as easy as possible.  \nIf you have ever thought `I just want to send these files directly from this computer to another`, Transmitic can help.   \n\n## How it Works\n\n1. Users exchange Public IDs that Transmitic automatically generates.\n1. Add users' Public IDs and IPs that you want to share with.\n1. Add files or folders you want to share, and which users you want to share with.\n1. Turn sharing on! Users can choose which files they want to download directly from your device.\n1. View all files that are shared with you, and download directly from the other user's device.\n1. Connections are encrypted with AES256-GCM.\n1. Users behind NATs and firewalls can use the \"Reverse Connection\" feature to still share with users that do not have networking limitations.\n\nSee [Demo below](#demo)\n\n## Features\n\n1. Secure\n    1. AES-GCM 256 Encryption\n    1. Ed25519 Signing Keys\n    1. x25519 Diffie-Hellman Key Exchange\n1. Easy to use GUI\n1. Cross Platform\n    1. Windows MSI Installer \u0026 Portable\n    1. macOS Universal Bundle \u0026 Portable\n    1. Linux Portable\n1. Private\n    1. P2P\n    1. No third party servers in any way\n1. Lan \u0026 Internet\n1. Share files and folders\n1. No file size limits\n1. Pause and Resume\n    1. Downloads can be paused, or interrupted, but will continue where they left off\n1. Reverse Connection\n    1. If you're behind a NAT, or have network limitations, but your Users _do not_, you can still share with each other.\n\n## Support Transmitic\n\nPlease 🌟 the repo!  \n\nIf you get value from Transmitic, please donate\n\n\u003ca href=\"https://www.buymeacoffee.com/andrewshay\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/v2/default-blue.png\" alt=\"Buy Me A Coffee\" height=\"40\" width=\"150\" style=\"height: 40px !important;width: 150px !important;\" \u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;[![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/J3J626I8G) \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u003ca href=\"https://www.patreon.com/andrewshay\" target=\"_blank\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/4878195/161663353-d78961a3-71e6-4353-9a2e-3028e64c72e1.png\" alt=\"Patreon\" height=\"40\" width=\"40\" style=\"height: 40px !important;width: 40px !important;\" \u003e Patreon\u003c/a\u003e\n\n## Comparison To Other Tools\n\n**FTP**  \nTransmitic is most similar to FTP (though the FTP protocol is not supported). You choose which files and folders you want to download from other computers that are shared with you.\n\n**BitTorrent**  \nTransmitic does not support BitTorrent, or BitTorrent like functionality, in that Transmitic cannot download the same file from multiple peers to download it faster.  \n\n**File Syncing**  \nTransmitic is _not_ designed for \"file syncing\" and should not be used for this purpose.\n\n## Development Status\n\nTransmitic is currently in beta. Please report any bugs that you encounter.\n\n## More Info\n\nSee wiki for more information, networking help, and limitations [https://github.com/transmitic/transmitic/wiki](https://github.com/transmitic/transmitic/wiki)\n\n## Contributing\n\nThe only area of contribution that is needed at this time is a review of the cryptography usage.  \nIf you are interested, please visit the [Discord](https://discord.gg/tRT3J6T).\n\n## Dependencies\n\n- [Rust (backend)](https://www.rust-lang.org/)\n- [Sciter (GUI)](http://sciter.com/)\n- [ring](https://briansmith.org/rustdoc/ring/)\n- [aes-gcm](https://docs.rs/aes-gcm/)\n- [x25519_dalek](https://docs.rs/x25519-dalek/)\n\n## Future Features\n\n- UPnP\n- Transmitic Discovery\n  - Server to discover users without requiring IPs to be known by users (optional feature)\n- Auto updates\n- Transmitic Mini\n  - CLI only version with minimal dependencies\n\nSee [GitHub Issues](https://github.com/transmitic/transmitic/issues) and [Discussions](https://github.com/transmitic/transmitic/discussions) for more\n\n## Cryptography\n\n- Public, Private signing keys generated with `ring`\n- Signing `ring` keys (\"Public IDs\") are exchanged out of band, manually\n- Diffie-Hellman key generation with `x25519_dalek`\n  - Diffie-Hellman keys are regenerated for every new TCP stream. Never reused.\n- Diffie-Hellman `x25519_dalek` keys are signed with the `ring` keys\n- Remote user verifies `x25519_dalek` key with that user's `ring` public key (\"Public ID\")\n- AES key generated\n- All further communication encrypted with `AES-GCM` with `ring`\n\nSee these modules to review the cryptography in [transmitic-core](https://github.com/transmitic/transmitic-core)\n\n- [crypto.rs](https://github.com/transmitic/transmitic-core/blob/main/src/crypto.rs)\n- [transmitic_stream.rs](https://github.com/transmitic/transmitic-core/blob/main/src/transmitic_stream.rs)\n- [encrypted_stream.rs](https://github.com/transmitic/transmitic-core/blob/main/src/encrypted_stream.rs)\n\n## Demo\n\n![Transmitic](./screenshot.png)\n\nhttps://github.com/transmitic/transmitic/assets/4878195/cdca58fc-7de9-4d5e-9057-3dbd339cece6\n\n## Pricing\n\nAt this time Transmitic is free for personal and commercial use.  \n\n## Build\n\nPrebuilt binaries available at [Releases](https://github.com/transmitic/transmitic/releases)\n\n```\n$ mkdir transmitic_workspace\n$ cd transmitic_workspace\n$ git clone git@github.com:transmitic/transmitic.git\n$ git clone git@github.com:transmitic/transmitic-core.git\n\n# You need the sciter 4 dll. Either pull the repo and put the x64 folder in path\n#   OR just download sciter.dll, put it in your sys path, or next to transmitic.exe\n$ git clone git@gitlab.com:sciter-engine/sciter-js-sdk.git\n# Add to sys path sciter-js-sdk\\bin\\windows\\x64\n\n# Create transmitic_workspace\\Cargo.toml\n[workspace]\n\nmembers = [\n    \"transmitic\",\n    \"transmitic-core\"\n]\n\n\n$ cargo run -p transmitic\n```\n\n\n## License\n\nThis project is provided \"AS IS\" and makes no warranties, express or implied.  \n\nTo be determined.\n","funding_links":["https://patreon.com/andrewshay","https://ko-fi.com/andrewshay","https://www.buymeacoffee.com/andrewshay","https://ko-fi.com/J3J626I8G","https://www.patreon.com/andrewshay"],"categories":["windows"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftransmitic%2Ftransmitic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftransmitic%2Ftransmitic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftransmitic%2Ftransmitic/lists"}