#文件传输 #命令行工具 #中继 #端口 #转发 #发送 #安全

app gday

命令行工具,用于安全发送文件(无需中继或端口转发)

3 个不稳定版本

0.2.1 2024年7月12日
0.2.0 2024年7月8日
0.1.1 2024年6月7日

#204 in 网络编程

Download history 143/week @ 2024-06-03 16/week @ 2024-06-10 258/week @ 2024-07-08 5/week @ 2024-07-15 54/week @ 2024-07-22

317 每月下载次数

MIT 许可证

120KB
2K SLoC

注意:此项目仍处于早期开发阶段,因此请期待有破坏性的更改。

gday

Crates.io Version

命令行工具,用于安全发送文件(无需中继或端口转发)。

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.

asciicast

安装

直接运行可执行文件

  1. 前往 发行版 下载您平台正确的文件。
  2. 解压它(在Linux上:tar xf <file>)。
  3. 运行它:./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
个人SSHHTTPS
个人FTP
Dropbox, Google Drive等。
交付一个USB驱动器。

问题中提出,以将更多项目添加到该列表。

依赖项

~18–28MB
~502K SLoC