2 个稳定版本

1.2.3 2024 年 8 月 7 日
1.2.2 2024 年 4 月 17 日

#598加密学

Download history 7/week @ 2024-04-28 22/week @ 2024-05-19 2/week @ 2024-05-26 6/week @ 2024-06-02 5/week @ 2024-06-09 11/week @ 2024-06-16 3/week @ 2024-06-23 1/week @ 2024-07-07 8/week @ 2024-07-28 120/week @ 2024-08-04 15/week @ 2024-08-11

143 每月下载量
用于 aft

MIT/Apache

30KB
387

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

如果您想修改配置,可以在您的家目录中创建一个新的文件(Windows 为 %USERPROFILE%,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 License,版本2.0
  • MIT许可证。

依赖项

~2.7-4MB
~80K SLoC