Skip to content

Latest commit

 

History

History
19 lines (15 loc) · 979 Bytes

File metadata and controls

19 lines (15 loc) · 979 Bytes

Vendoring and building the GoFtpfs executable

Overview

  • The project is prepared to build an executable that exposes an FTP server via a FUSE filesystem in Go. To ensure reproducible builds in environments with restricted network access, the dependencies can be vendored and built offline.

What you need

  • A machine with internet access to vendor dependencies at least once, and a Linux environment with FUSE support.
  • Go 1.20+ (in this repo we use 1.22+ in tests).

Steps to produce a self-contained executable

  • Run: chmod +x build_vendor.sh
  • Run: ./build_vendor.sh
  • After completion, the binary will be at ./bin/goftpfs
  • Run the binary with arguments, for example: ./bin/goftpfs -mount /mnt/goftpfsh -addr ftp.example.com:21 -user user -pass pass -root /

Notes

  • The vendor directory is created by the script and should be committed if you want fully offline reproducibility.
  • If you need to adjust root or other defaults, modify main.go or supply flags at runtime.