rqbit icon indicating copy to clipboard operation
rqbit copied to clipboard

add FTP storage backend

Open milahu opened this issue 3 months ago • 0 comments

early draft to add a FTP storage backend

use case: bittorrent reverse proxy running on a fast cache server with limited storage in front of a slow backend server with large storage

remotefs-ftp does not work because remotefs is not thread-safe see e9dcd1697cb8cbeaa4a4dd6c7c349d61a79955cf

async_ftp is hard to integrate because all the storage functions are sync... i am not good enough in Rust for such a large task and github copilot fails on complex errors

note: the FTP protocol is an implementation detail it could be any network filesystem: NFS, SMB, HTTP, WebDAV, SCP, Rsync, Rclone, ...

alternatives:

  • mount the FTP server with curlftpfs or go-fuseftp, but that requires the fuse kernel module
  • hook syscalls with fakechroot or proot, but these tools have no FTP storage backend
  • use a different bittorrent client like libtorrent or anacrolix/torrent, and add a FTP storage backend there
    • https://github.com/jpillora/cloud-torrent/issues/24

milahu avatar Oct 05 '25 13:10 milahu