AntFTP - Serving Autonomi data over FTP

I’m pleased to release AntFTP, which is an FTP server which interfaces with AntTP over gRPC.

AntFTP allows uploads and downloads to the Autonomi network. For uploads, the files are initially pushed to AntTP disk cache as a staging area. Periodically (user defined) these files are then pushed to the network. This provides a fast user experience and avoids unnecessary uploads of archives when there are many modifications in a short period of time.

As gRPC is used, transfers are fast between AntFTP and AntTP too. There is no need to base64 encode/decode, as binary transfers are possible.

Why FTP? Well, it is a simple protocol, which made it a straightforward target to test gRPC and the upload/download process in general. Moreover, it is an option for rclone, allowing an FTP server to be used as a FUSE mount - in other words, you can mount your Autonomi public archive and use it like a regular disk.

There are a few limitations, including no support for renaming files and slow performance with large archives, but it’s pretty functional and fun to experiment with.

Finally, it’s designed to be used with AntTP running locally. There is no user authentication or encryption in transit at the moment, so please use it safely with a local AntTP instance.

Release notes and binaries are here: Release Release v0.1.9 · traktion/antftp · GitHub

16 Likes

New v0.1.10 release, feature tarchive support. Depends on AntTP v0.25.0.

Changes since last release

  • Version bump for release (7e22138)
  • Complete migration to ArchiveService (resolves #26) (#28) (571f8c9)
  • Replace PublicArchive with Archive to support both public archives and tarchives (#27) (eba8d08)
  • Merge branch ‘master’ of github.com:traktion/antftp (90b7558)
  • Update build.rs to use protos within crate. (e5d9a92)
  • Cloning proto files (for now) to allow cargo publish. Updates cargo.toml. (a07bb22)
  • Minor documentation improvement (ab5ebb5)

What’s Changed

Full Changelog: Comparing rolling-a7bf7b682f7db97f0252b79d35624930d3a600ff...rolling-7e221385b208d5a91d0112d90cb2b3378d10b97a · traktion/antftp · GitHub

Github: Release v0.1.10 · traktion/antftp · GitHub
Cargo: cargo install antftp

5 Likes

New version with updated unftp version bump (as suggested by maintainer - thanks!)

Changes since last release

  • Version bump (b469cca)
  • Fixes for breaking changes (13f1163)
  • Bump libunftp version (#29) (6c57ee9)

What’s Changed

New Contributors

Full Changelog: Comparing rolling-7e221385b208d5a91d0112d90cb2b3378d10b97a...rolling-b469cca724c3a3d5b8255ccc6a71f0b1349107cd · traktion/antftp · GitHub

Github: Release v0.1.11 · traktion/antftp · GitHub
Cargo: cargo install antftp

8 Likes