Skip to content
Snippets Groups Projects
Volkor's avatar
3af74c59
History

SUpload (Screenshot - Upload)

SUpload is an easy to use bash script for taking screenshots and uploading files to a curl supported file host. Supports multiple domains, perfect for shitposting, AND for work!

Installation

Until I can get packaging working, this'll have to do. It installs it to /usr/local/bin/supload, check the Makefile for more info.

git clone https://git.volkor.me/Volkor/supload.git
cd supload
sudo make install

Configuration

The default config is located at /etc/supload.conf, If it exists, it will read from ~/.config/supload/settings.conf. The home config file will take priority. If you delete this file, it will NOT be recreated, you will have to recreate it. To see the config defaults, check the start of supload.sh.

Dependencies

  • bash (this is important)
  • curl (needed for actually uploading the file)
  • jq (needed to parse the json responses)

Optional dependencies

Screenshot backends

Screenshot Backend Display Server Notes
scrot X11 Legacy Screenshot
maim X11 Better Looking Selections
spectacle X11 or Wayland! KDE/Plasma Selection
gnome-screenshot - Doesn't work, thanks gnome for not letting you control it with terminal :/
watershot Wayland (wlroots) Haven't tested this since I'm using KDE now

Other Optional dependencies

  • ffmpeg, slop (optional, needed for video recording), X11 only for now
  • xclip (optional, needed for clipboard), or wl-clipboard on wayland

Usage

You can use supload -h, or view it below.

Usage: supload [OPTIONS] [FILE]

Options:

  -d      Use custom domain use -d <domain>
  -o      Automatically open in browser
  -s      Screenshot mode (maim Selection)
  -g      Screen Recording Mode (ffcast)
  -V      Verbose (debug mode)
  -v      Shows current version of SUpload

Examples:

# Upload test.txt
$ supload test.txt

# Paste from STDIN (pipe from another command)
$ cat test.txt | supload -

# Screenshot
$ supload -s

# Screenshot, and upload to SFW domain, open in new window
$ supload -fos

# Screenshot and debug output
$ supload -Vs

# Record and Upload video (make sure to press q to end recording)
$ supload -g