User Manual
upsies comes with a mixed TUI/CLI interface. Subcommands provide a variety of
functions that can be configured with options and configuration files. Every
subcommand (and subsubcommand) provides a --help/-h option that explains
what it does and the arguments it accepts. See CLI Reference for a
complete overview.
Input/Output
Subcommands do one or more jobs and print the result to stdout. If a subcommand does multiple jobs (e.g. creating and uploading screenshots), the final result is the last job’s output.
If stdout is not a TTY (e.g. when it is redirected to a file or a pipe), the TUI
is printed to stderr. For example, you can run upsies screenshots
file.mkv --upload-to imgbox | xclip and then paste the screenshot URLs.
User input comes from configuration files, CLI arguments and interactive prompts. You should only be bothered by a prompt if upsies is unsure about its autodetection capabilities.
Configuration files
Configuration is stored in INI files beneath $HOME/.config/upsies/ or
$XDG_CONFIG_HOME/upsies/ if $XDG_CONFIG_HOME is set. You can edit
configuration options with a text editor or with upsies set <option>
<value>.
Warning
You will lose any comments and order if you use the set
subcommand for setting options.
upsies set without any other arguments prints a list of configuration
options and their values. To get the value of a specific option, run upsies
set <option>.
Along with some more information, upsies set -h prints a list of options
with their type.
BitTorrent clients
$HOME/.config/upsies/clients.ini specifies connections to your BitTorrent client instances. You
can create it with commented-out defaults by running upsies set --dump clients. The section
names in clients.ini are used to identify a running client instance. For example,
trackers.*.add_to must be set to one of the section names in clients.ini.
By default, the section names are the names of supported clients, e.g. qbittorrent or
transmission. If you are running multiple instances of the same BitTorrent client, you can
change the section names to anything you like (e.g. nas or my best seedbȯx). But if you do
that, you have to specify the type of connection by setting the client option to a supported
client name like qbittorrent or transmission.
For example, these two sections are identical, except that one is named qbittorrent and the
other is named home:
[qbittorrent]
url = http://localhost:4321
username = AzureDiamond
password = hunter2
[home]
client = qbittorrent
url = http://localhost:4321
username = AzureDiamond
password = hunter2
Caching
Generated metadata is cached and re-used as much as possible. You can cancel upsies at any time, run the same command again, and it should continue without losing too much progress.
Note
The torrent can only be created in one go.
If you made a mistake and you need to regenerate metadata, use the
--ignore-cache/-C option. Note that this is a global option and must come
before any subcommand, e.g. upsies --ignore-cache release-name
The.Foo.2000.x264.mkv.
For easy inspection and debugging, cached metadata is stored in files beneath
$HOME/.cache/upsies/ or $XDG_CACHE_HOME/upsies/ if $XDG_CACHE_HOME
is set. You can also set config.main.cache_directory to permanently change
the location of cache files.
The size of all cache files combined is limited to 100 MB by default. The oldest
files are purged until the size limit is no longer exceeded. You can change the
cache size limit by setting config.main.max_cache_size.