6 个稳定版本

7.0.5 2024年8月2日
7.0.4 2024年7月26日
7.0.3 2024年6月19日
7.0.2 2024年5月21日
7.0.1 2024年4月21日

137网络编程 中排名

Download history 26/week @ 2024-04-26 3/week @ 2024-05-03 171/week @ 2024-05-17 19/week @ 2024-05-24 3/week @ 2024-05-31 7/week @ 2024-06-07 104/week @ 2024-06-14 38/week @ 2024-06-21 127/week @ 2024-07-26 114/week @ 2024-08-02 5/week @ 2024-08-09

每月 246 次下载

MIT/Apache

105KB
2K SLoC

aft
GitHub Workflow Status (with event)GitHub release (with filter)

aft(高级文件传输)是一个简单且安全的应用程序,用于轻松高效地在双方之间共享文件。支持 Windows、Linux 和 macOS。

功能

  • 加密。
  • 快速。
  • 轻量级(对 RAM 和存储空间)。
  • 安全性是首要任务。
  • 对等模式。
  • 中继模式。
  • 阻止发送者。
  • 不进行 IP 自动查找。
  • 支持 fail2ban。

模式

此程序有几个模式可以使用

对等模式

发送者直接连接到接收者,传输过程直接进行。

中继模式

允许使用中继而不是两个设备直接连接。它带来一些好处,例如

  • 接收端不需要端口转发。
  • 接收者和发送者之间没有直接联系。
  • 更好的隐私 - 不共享 IP。

使用方法

aft - file transfer done easily

Usage:
    aft sender [--address <address>] [--port <port>] [--identifier <identifier>] <filename>
    aft receiver [-p <port>]
    aft download -a <address> [-p <port>] [-i <identifier>]
    aft relay [-p <port>]
    aft <mode> [options ...]

Positional arguments:
    mode

Optional arguments:
    -a --address ADDRESS        Address.
    -p --port PORT              Port.
    -i --identifier IDENTIFIER  Identifier to find the receiver. Used only when its not P2P.
    -v --verbose VERBOSE        Verbose level. Default is 1 (warnings only). Range 1-3.
    -c --config CONFIG          Config location.
    -v --version                Show version.
    -e --encryption ALGORITHM   Possbile values: [AES128, AES256].

安装

使用 cargo 安装

运行 cargo install aft,然后你应该能够立即运行程序。

自动安装

运行以下命令来安装 aft: curl --proto '=https' -sf https://raw.githubusercontent.com/dd-dreams/aft/master/install.sh | sudo sh -s -- install

如果您想修改配置,可以在您的家目录中创建一个名为 %USERPROFILE%(适用于 Windows)和 ~/(适用于 Unix)的新文件,在 .aft 目录中,命名为: "config"。请参阅 docs/CONFIG.md 了解更多信息。

运行以下命令来卸载aft: curl --proto '=https' -sf https://raw.githubusercontent.com/dd-dreams/aft/master/install.sh | sudo sh -s -- uninstall

手动安装

导航到发布页面并选择您的平台。对于Windows,您可以通过双击导出存档内容。对于Linux和macOS,您可以使用gzip来提取内容。gzip默认应包含。运行:gzip -dN <archive>。您可以将程序导出在任何您喜欢的地方,但请确保将其添加到PATH,以便您可以轻松访问。

Systemd设置

  • aft程序复制到/usr/local/bin/
  • aft-relay.service复制到/etc/systemd/system/
  • 使用以下命令启动程序:sudo systemctl start aft-relay

注意,此服务需要名为aft的新用户。如果您想以root身份运行服务,请删除User=aft行,尽管出于安全原因不建议这样做。

此服务仅运行中继模式。

fail2ban设置

  • assets/fail2ban/aft-relay-filter.conf复制到/etc/fail2ban/filter.d/
  • assets/fail2ban/aft-relay.conf复制到/etc/fail2ban/jail.d/
  • 重新启动服务:sudo systemctl restart fail2ban

您可以在aft-relay.conf中修改bantime和maxretries。

注意

fail2ban仅在中继模式下工作。fail2ban在Windows上不工作。

构建

构建非常简单:cargo build --release,输出将在target/release/aft

许可证

根据以下任一许可证授权:

  • Apache许可证,版本2.0
  • MIT许可证。

依赖关系

~6–15MB
~181K SLoC