A really simple file upload/linker which you can run yourself
Switch branches/tags
Nothing to show
Clone or download
Latest commit c7e5480 Oct 23, 2016
Failed to load latest commit information.
android java, how does it work? Mar 29, 2016
bin added -s and --silent Oct 23, 2016
chromium encryption seems to work Mar 29, 2016
firefox new release Mar 9, 2016
LICENCE add licence [close #1] Feb 28, 2016
README.md exif scrubbing Apr 20, 2016


It's a really simple file upload and rehosting tool in the style of puush or transfer.sh, but you can just run it yourself without overcomplicating the whole situation. It also supports client-side encryption, so you can decrypt files in the web browser. You can run it from the command line, use it with scrot, or there is also a handy Firefox addon, which lets you right click an image or text to rehost it on alsuti. Currently there is no Windows or Chrome client, but I imagine it would probably be pretty easy to create these (can't Chrome run Firefox addons these days?).

If you want to use it, you'll have to find an instance. I host one on alsuti.xyz or you can run your own with alsuti-server.


To configure the application, you need to set two environment variables (both the server and the client use these):

  • ALSUTI_API_KEY - The API key necessary to post on the server.
  • ALSUTI_ENDPOINT - The base endpoint for the server, not including the 'upload' path and not including a trailing slash.

If you use bash, you can simply set these in your .bashrc, for example:

export ALSUTI_API_KEY=bubbles
export ALSUTI_ENDPOINT=https://reality.rehab/biscuits

If you use fish you can do similarly in the fish config file using the 'setenv' command.

Command line client

To set up the client:

  1. Clone the repository somewhere.
  2. Add PATH="$PATH:$HOME/alsuti/bin" to your ~/.bashrc, modifying it to include the relative path to the bin subdirectory in the alsuti folder, which will depend on where you cloned this repository to.
  3. Then you can run alsuti whateveryouwanttoupload.gif or scroti (also supports additional scrot flags e.g. scroti -d 5)

Note: if you use fish, you can add the bin folder to your path instead by doing: set -gx PATH ~/alsuti/bin $PATH

To use the screenshot tool, you'll need xclip and scrot installed.

To use the encryption you will need to install nodejs and then npm install node-cryptojs-aes underscore.

For image EXIF scrubbing, you'll need to install imagemagick.

To use it, you just run 'alsuti file.txt', you can also pipe stuff into it e.g. 'grep fish -i *.log | alsuti'. To encrypt things, simply run it with the -p flag and give it a password e.g. 'alsuti -p supersecret mythings.txt'. For an automatically generated password, use -e or --encrypted - this means your password won't be in your shell history! Also, you won't have to think of a password. You can use it without a filename argument, to get a stdin prompt and enter input manually.


The firefox plugin allows you to easily rehost images and text on an alsuti instance, encrypted or not, and then share the link. This is useful for sharing images which are transient, or behind login-walls to your friends (or enemies). You can just go ahead and right click an image, and then click 'Upload to Alsuti,' and the link will be copied to your clipboard.

Firefox Addon Screenshot

To set this up, you simply need to install the addon to Firefox, and set the api key and endpoint path in the addon settings (note that unlike the ALSUTI_ENDPOINT environment variable, the endpoint for the firefox plugin must be the full upload path e.g. http://reality.rehab/al/upload).


You can install the Android application with this APK. Note that it's not signed, so you'll need to enable the ability to install software from unknown sources to use it.