Skip to main content

A simple file transfer service for temporary file sharing

Project description

Simple File Transfer (SFT)

A simple, temporary file transfer service for sharing files between machines.

Installation

pip install simple-file-transfer

Quick Start

Server Setup (Digital Ocean)

doctl compute droplet create sfts-droplet \
  --region fra1 \
  --size s-1vcpu-1gb \
  --image ubuntu-22-04-x64 \
  --ssh-keys <your-ssh-key-id> \
  --user-data '#cloud-config
runcmd:
  - apt-get update
  - apt-get install -y python3-pip
  - pip3 install simple-file-transfer
  - sfts serve --port 12345 &
' \
  --wait

Or run manually:

pip install simple-file-transfer
sft serve --port 12345

Upload a File (Machine A)

export SFT_SERVICE=my-server.digitalocean.com:12345
sft upload ./my-file.tgz 1h

Output:

Uploaded my-file.tgz 5GB sha256:...
The file will be deleted in 1h (2025-01-01 00:01:00)
To download your file, enter: sft download 763298

Download a File (Machine B)

export SFT_SERVICE=my-server.digitalocean.com:12345
sft download 763298

Output:

File downloaded my-file.tgz 5GB sha256:...
The file will be deleted in 55min (2025-01-01 00:01:00)

Configuration

Set the server address using the SFT_SERVICE environment variable:

export SFT_SERVICE=your-server.com:12345

Or use the --service flag:

sft upload --service your-server.com:12345 ./file.txt 1h

Time Formats

Supported time formats for expiry:

  • 1h - 1 hour
  • 30m - 30 minutes
  • 2d - 2 days
  • 1w - 1 week

Docker Deployment

docker build -t sft-server .
docker run -p 12345:12345 -v /data/sft:/data sft-server

Features

  • Simple CLI interface
  • Automatic file expiry
  • SHA256 checksums for integrity
  • Minimal dependencies
  • Easy deployment

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

simple_file_transfer-0.1.1.tar.gz (16.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

simple_file_transfer-0.1.1-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file simple_file_transfer-0.1.1.tar.gz.

File metadata

  • Download URL: simple_file_transfer-0.1.1.tar.gz
  • Upload date:
  • Size: 16.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for simple_file_transfer-0.1.1.tar.gz
Algorithm Hash digest
SHA256 8bb3cc15551f297e16752d5a6aef07cfc74382b3a5549c9ab2e3786358dbd6e0
MD5 f0f9424a5f880b9e3f3b4cdd1f4623cf
BLAKE2b-256 4de4514bfc96d2f5640954fbe803e385551b01334d37e7fb3a5ab25400e9535d

See more details on using hashes here.

File details

Details for the file simple_file_transfer-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for simple_file_transfer-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f14a6b59fa16af188fcf9c8ff2dd851e382b464858a5c141de9a9cfa4691d749
MD5 a17f62468f2b1cf242db2fbb61be8af2
BLAKE2b-256 a8bdacac90381e3acf54d8817443cb164db60985672dfa411f1a0e5c66ff48a1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page