Rants, Ideas, Stuff

A blog about coding, coffee, and stuff

Announcing tmpshare v1.0

I’m happy to announce version 1.0 of tmpshare a self-hosted file sharing tool.

tmpshare is beeing developed in live coding sessions on twitch.tv/zoranzaric. The streams are archived on YouTube.

The most basic example of tmpshare’s usage looks like this:

# Create a file
$ echo "Hello World" > hello-world

# Add it to tmpshare
$ tmpshare add hello-world
D2A84F4B8B650937EC8F73CD8BE2C74ADD5A911BA64DF27458ED8229DA804A26

# Show the served files
$ tmpshare list
D2A84F4B8B650937EC8F73CD8BE2C74ADD5A911BA64DF27458ED8229DA804A26: hello-world

# Start the server
$ tmpshare serve
Serving from http://127.0.0.1:8080

# (In another terminal or your browser)
# Get the file
$ curl http://127.0.0.1:8080/get/D2A84F4B8B650937EC8F73CD8BE2C74ADD5A911BA64DF27458ED8229DA804A26
Hello World

# In a cronjob or when you feel like it delete all files older than X days
# Assuming we've waited for at least a month
$ tmpshare cleanup
deleted D2A84F4B8B650937EC8F73CD8BE2C74ADD5A911BA64DF27458ED8229DA804A26: hello-world

For now this is just the bare minimum to provide a self-hosted file sharing service, that handles purging old files, so you don’t have to handle this.

Ideas for the future include:

  • (Authenticated) uploading of new files
  • Serving multiple files with one URL
  • (Authenticated) listing of all available files
  • Optionally pushing the deletion date for used files

I’m looking forward to improving tmpshare on stream, improve my streaming, and learn from the communiy.

Thanks for your time, Zoran