基于Go编写一个轻量级可托管的 Torrent 客户端

1,078 阅读3分钟

exatorrent

Self-hostable , easy-to-use , lightweight and feature-rich torrent client written in Go

可自行托管的洪流客户端


截图-发布-功能- 安装 - 使用-Docker- 建立 -许可


简介

exatorrent是用Go语言编写的BitTorrent客户端。
它可以在本地运行,也可以托管在有良好资源的远程服务器上
作为SeedBox使用。
它是一个完全静态链接的二进制文件,没有外部依赖性。

exatorrent简单但功能丰富。它是
轻量级的,对资源的要求很低。它配备了用Svelte和Typescript编写的漂亮的响应式Web客户端,
但由于exatorrent有记录的WebSocket API
,如果你想,你也可以编写自己的客户端。

exatorrent可以在管理员管理的可选多用户模式下运行
,但它也可以成功地用于单用户。
Torrented文件存储在它运行的设备的本地磁盘中,然后可以通过HTTP检索或流式传输。


Self-hostable , easy-to-use , lightweight and feature-rich torrent client written in Go

更多截图 →


安装

exatorrent可以通过3种方式安装。

  • **发布。**你可以从Release下载适合你的操作系统的二进制文件。把它标记为可执行文件并运行它。参考使用方法

    wget https://github.com/varbhat/exatorrent/releases/latest/download/exatorrent-linux-amd64
    chmod u+x ./exatorrent-linux-amd64
    ./exatorrent-linux-amd64
    
  • **Docker:**exatorrent也可以在Docker(或Podman)中运行。参见Docker文档.

    docker pull ghcr.io/varbhat/exatorrent:latest
    docker run -p 5000:5000 -p 42069:42069 -v /path/to/directory:/exa/exadir ghcr.io/varbhat/exatorrent:latest
    
  • **构建:**exatorrent是开源的,可以从源代码构建。请参阅Build Docs.

    make web && make app
    

请注意,第一次运行时创建的默认用户的用户名密码分别是adminuseradminpassword 。您可以稍后更改密码,但账户的用户名在创建后不能更改。参考用法.

Github Actions被用来构建和发布exatorrent的ReleaseDocker/Podman镜像

如果您想在服务器上部署exatorrent ,也请参考部署文档

特点

  • 无依赖性的单一可执行文件
  • 尺寸小
  • 跨平台
  • 下载(或构建)单个可执行的二进制文件并运行。这就是它
  • 在你的浏览器中打开并流传山洪文件
  • 通过磁铁或Infohash或Torrent文件添加Torrents
  • 个人文件控制(开始、停止或删除)。
  • 停止 , 移除或删除山洪
  • 会话之间的持久性
  • 一旦达到种子比率就停止山洪(可选)
  • anacrolix/Torrent提供技术支持
  • 下载/上传速率限制器(可选
  • 应用封锁名单(可选
  • 通过配置文件进行配置,但在零配置的情况下工作正常。
  • 通过解锁Torrent或锁定Torrent来分享文件(通过授权保护),防止外部访问
  • 通过HTTP检索或传输文件
  • 通过认证的多用户
  • 从追踪器列表的URL中自动添加追踪器到山洪中
  • 自动从在线/本地Metainfo缓存中获取Torrent Metainfo
  • 以Zip格式或Tarball格式下载目录
  • 直接在浏览器或VLCmpv或其他媒体播放器上流媒体
  • 文档化的API
  • 默认使用Sqlite3(嵌入式数据库,无需设置和配置)作为数据库,但也可以使用PostgreSQL代替。

阅读更多→

GitHub

github.com/varbhat/exa…