Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

fileup

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fileup

Easily upload files to an FTP-server and get back the url.

  • 1.1.0
  • PyPI
  • Socket score

Maintainers
1

:rocket: fileup - Effortless File Sharing for Command-Line Enthusiasts :rocket:

PyPI Build Status CodeCov

fileup is your go-to Python package for hassle-free uploading and sharing of files right from your command-line interface! 🖥️ You can set a time limit after which the file will be automatically removed, ensuring the security of your data. 🕒

:books: Table of Contents

✨ Features

  • 📤 Upload via FTP or SCP (using SSH config)
  • ⏰ Automatic file expiration and cleanup
  • 🔗 Smart URLs: Jupyter notebooks → nbviewer, image markdown, direct links
  • 📋 Automatic clipboard copy (macOS)
  • ⚡ Simple config using ~/.config/fileup/config.ini
  • 🔐 Supports SSH keys and password authentication

:package: Installation

To install fileup, simply run the following command:

pip install -U fileup

:memo: Configuration

Before you can start sharing your files, you'll need to create a configuration file at ~/.config/fileup/config.ini with the following structure:

# ~/.config/fileup/config.ini
[default]
protocol = ftp  # or scp
hostname = example.com  # or the Host from your ~/.ssh/config
base_folder = /path/to/files  # where files are stored on the server
file_up_folder =  # subdirectory in URL, can be empty
url = files.example.com  # the actual URL where files are accessible

[ftp]
username = my_user_name
password = my_difficult_password

[scp]
# If empty, will use your SSH config
username =
# If using SSH config, no need for these
private_key =
password =

FTP Configuration

For FTP uploads, you need to provide both username and password in the [ftp] section.

SCP Configuration

For SCP uploads, you have two options:

  1. Use your SSH config by setting protocol = scp and using a hostname from your ~/.ssh/config
  2. Explicitly configure SCP by providing username and optionally private_key in the [scp] section

:video_game: Usage

For a list of available commands, type fu -h.

In a nutshell, you can use fileup by running:

fu filename

The command supports several options:

  • -t DAYS, --time DAYS: Set an expiration time in days (default: 90, use 0 for no expiration)
  • -d, --direct: Return a direct URL without any prefixes
  • -i, --img: Return the URL formatted for markdown image embedding

This is the output of fu -h:

usage: fu [-h] [-t TIME] [-d] [-i] filename

Publish a file.

Create a config file at ~/.config/fileup/config.ini with the following structure:

[default]
protocol = ftp  # or scp
hostname = example.com  # or the Host from your ~/.ssh/config
base_folder = /path/to/files  # where files are stored on the server
file_up_folder =  # subdirectory in URL, can be empty
url = files.example.com  # the actual URL where files are accessible

[ftp]
username = my_user_name
password = my_difficult_password

[scp]
# If empty, will use your SSH config
username =
# If using SSH config, no need for these
private_key =
password =

positional arguments:
  filename

options:
  -h, --help            show this help message and exit
  -t TIME, --time TIME  If time is 0 the file will never be deleted, default is 90 days.
  -d, --direct
  -i, --img

Special Features

  • Jupyter Notebooks: If you're uploading a Jupyter notebook (.ipynb), the returned URL will be accessible via nbviewer.jupyter.org
  • Automatic Deletion: Files with expiration times are automatically removed when their time is up
  • URL Copying: On macOS, the URL is automatically copied to your clipboard

:green_apple: macOS Integration

fileup currently supports the pbcopy command, so the URL will be automatically copied to your clipboard on macOS systems. 📋✨

:warning: Limitations

  • The automatic clipboard copying feature is only available for macOS users
  • FTP passwords are stored in plain text; use with caution
  • SCP implementation requires the ssh and scp commands to be available

Give fileup a try today and experience the convenience of effortless file sharing right from your command-line! 🎉

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc