3 个不稳定版本
0.2.1 | 2024年7月12日 |
---|---|
0.2.0 | 2024年7月8日 |
0.1.1 | 2024年6月7日 |
#204 in 网络编程
317 每月下载次数
120KB
2K SLoC
注意:此项目仍处于早期开发阶段,因此请期待有破坏性的更改。
gday
命令行工具,用于安全发送文件(无需中继或端口转发)。
peer_1: gday send image.jpg folder <Asks for confirmation> Tell your mate to run "gday get 1.1C30.C71E.A". Transfer complete.
peer_2: gday get 1.1C30.C71E.A <Asks for confirmation> Transfer complete.
安装
直接运行可执行文件
- 前往 发行版 下载您平台正确的文件。
- 解压它(在Linux上:
tar xf <file>
)。 - 运行它:
./gday
使用 cargo 安装
$ cargo install gday
使用 brew 安装
$ brew install manforowicz/tap/gday
功能
- 文件传输始终直接,不使用中继服务器。服务器仅在开始时用于交换套接字地址。
- 发送的文件和文件夹大小没有限制。
- 无需端口转发。而是使用 TCP Hole Punching 来穿越 NATs。注意:这可能在非常限制性的NAT上不起作用。
- 服务器连接使用 TLS 加密,文件传输使用 ChaCha20Poly1305 加密。
- 自动尝试IPv4和IPv6。
- 对恶意服务器冒充您的对等方免疫。使用 SPAKE2 密码认证密钥交换从共享秘密中派生加密密钥。
- 此存储库中没有
unsafe
Rust。
用法
Usage: gday [OPTIONS] <COMMAND>
Commands:
send Send files and/or directories
get Receive files
help Print this message or the help of the given subcommand(s)
Options:
-s, --server <SERVER> Use a custom gday server with this domain name
-p, --port <PORT> Connect to a custom server port
-u, --unencrypted Use raw TCP without TLS
-v, --verbosity <VERBOSITY> Verbosity. (trace, debug, info, warn, error) [default: warn]
-h, --help Print help
-V, --version Print version
类似项目
无中继 | 超出局域网工作 | 非常严格的 NATs 上也能工作 | 无端口转发 | 加密 | 可以恢复中断的传输 | |
---|---|---|---|---|---|---|
gday | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ |
magic-wormhole | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
croc | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
p2pcopy | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ |
iwant | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ |
zget | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ |
sharedrop | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |
filepizza | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |
个人SSH或HTTPS | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ |
个人FTP | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
Dropbox, Google Drive等。 | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |
交付一个USB驱动器。 | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
在问题中提出,以将更多项目添加到该列表。
相关
- gday - 发送文件的命令行工具。
- gday_server - 允许两个对等方共享其套接字地址的服务器。
- gday_hole_punch - 建立对等点TCP连接的库。
- gday_file_transfer - 在连接上传输文件的库。
- gday_encryption - 加密IO流的库。
- gday_contact_exchange_protocol - 允许两个对等方通过服务器共享其套接字地址的库。
依赖项
~18–28MB
~502K SLoC