{"id":19272288,"url":"https://github.com/sdslabs/portkey","last_synced_at":"2025-04-21T22:31:22.987Z","repository":{"id":48406731,"uuid":"275259978","full_name":"sdslabs/portkey","owner":"sdslabs","description":"File transfers using RTC over QUIC","archived":false,"fork":false,"pushed_at":"2021-07-27T17:56:48.000Z","size":13544,"stargazers_count":14,"open_issues_count":6,"forks_count":1,"subscribers_count":9,"default_branch":"develop","last_synced_at":"2024-06-21T16:35:55.551Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","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/sdslabs.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}},"created_at":"2020-06-26T22:39:10.000Z","updated_at":"2023-06-25T05:12:56.000Z","dependencies_parsed_at":"2022-09-02T01:11:06.041Z","dependency_job_id":null,"html_url":"https://github.com/sdslabs/portkey","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdslabs%2Fportkey","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdslabs%2Fportkey/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdslabs%2Fportkey/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdslabs%2Fportkey/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sdslabs","download_url":"https://codeload.github.com/sdslabs/portkey/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223881291,"owners_count":17219262,"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":[],"created_at":"2024-11-09T20:36:11.545Z","updated_at":"2024-11-09T20:36:12.101Z","avatar_url":"https://github.com/sdslabs.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003ePortkey\u003c/h1\u003e\n \u003cp align=\"center\"\u003e\u003cb\u003eA peer to peer file transfer tool using RTC over QUIC\u003c/b\u003e\u003c/p\u003e\n\n#\nPortkey is a file transfer tool that uses RTC over QUIC protocol to provide peer to peer file transfers. It uses the zstd on-the-fly compression algorithm alongside with QUIC protocol to achieve high speed file transfers. \n\n## Build \n\nTo build portkey from source, first git clone the repo \n\n        git clone git@github.com:sdslabs/portkey.git\n\nPortkey strictly uses go 1.14. All dependencies are vendored so no need to install any dependencies. Use the makefile to build the portkey binary. Simply run\n\n        make build \n\nThis will place the portkey binary in your working directory\n\n## Usage\n \nYou can use the following flags\n\n        -b, --benchmark      Set to benchmark locally(for local testing)\n        -h, --help           Help for portkey\n        -k, --key string     Key to connect to peer\n        -r, --receive        Set to receive files\n        -p, --rpath string   Absolute path of where to receive files, pwd by default\n        -s, --send string    Absolute path of directory/file to send\n\nIf you wish to send a file to someone, initiate the transfer by using the -s flag and specifying the path to the file you want to send\n\n        portkey -s /example/path/to/file\n\nYou will then receive a key. Pass that key to the recipient. They can now use \n\n        portkey -r -k example_key -p /example/destination/path\n\nIf -p is not specified, the file will be received in the present working directory. You can also specify both -r and -s if you wish to send and receive files simultaneously. Don't use -r if you don't intend on receiving files.\n\n## Note\nIf after the key exchange, portkey is stuck at \n\n        starting ice connection... \n\nthen the file transfer is unfortunately not possible because you or your peer are either behind a firewall or a misbehaved NAT that makes a peer to peer connection impossible. You can try turning off your firewall or shifting to an un-NAT-ed connection like your mobile data if you are on a wi-fi connection. \n## License\n\nLicensed under the [MIT License](./LICENSE).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsdslabs%2Fportkey","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsdslabs%2Fportkey","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsdslabs%2Fportkey/lists"}