grym 214e139163 | ||
---|---|---|
tests | ||
.gitignore | ||
.pre-commit-config.yaml | ||
LICENSE | ||
Makefile | ||
README.org | ||
oxo.py | ||
pyproject.toml |
README.org
0x0 uploader
This is a very lightweight front-end to the 0x0 pastebin service for slightly easier command line use.
Use
oxo --help
Usage: oxo [OPTIONS] COMMAND [ARGS]... A command line utility for 0x0.st compliant pastebins. To use a different 0x0 site, set `OXO_BASE_URL` in your environment, or specify it in the relevant subcommand. ╭─ Options ────────────────────────────────────────────────────────────────────╮ │ --version Show the version and exit. │ │ --install-completion Install completion for the current shell. │ │ --show-completion Show completion for the current shell, to copy │ │ it or customize the installation. │ │ --help Show this message and exit. │ ╰──────────────────────────────────────────────────────────────────────────────╯ ╭─ Commands ───────────────────────────────────────────────────────────────────╮ │ delete Delete uploaded files if tokens are found on disk at │ │ `token_cache_dir`. │ │ files Upload one or more files. If one is provided by the 0x0 site used │ │ on a successful upload, a management token will be printed to │ │ stderr along with instructions on how to use it to delete or adjust │ │ the expiration time on the uploaded file(s). If │ │ `--token-cache-dir` is passed or `OXO_TOKEN_CACHE_DIR` is set, the │ │ management token will also be cached as a json file in that │ │ directory. The cache directory will be created on first use. │ │ repost Repost one or more urls. │ │ shorten Shorten one or more urls. │ ╰──────────────────────────────────────────────────────────────────────────────╯
oxo files --help
Usage: oxo files [OPTIONS] FILES... Upload one or more files. If one is provided by the 0x0 site used on a successful upload, a management token will be printed to stderr along with instructions on how to use it to delete or adjust the expiration time on the uploaded file(s). If `--token-cache-dir` is passed or `OXO_TOKEN_CACHE_DIR` is set, the management token will also be cached as a json file in that directory. The cache directory will be created on first use. ╭─ Arguments ──────────────────────────────────────────────────────────────────╮ │ * files FILES... [default: None] [required] │ ╰──────────────────────────────────────────────────────────────────────────────╯ ╭─ Options ────────────────────────────────────────────────────────────────────╮ │ --use-long-name --no-use-long-name If true, create a harder │ │ to guess name. │ │ [default: │ │ no-use-long-name] │ │ --base-url TEXT [env var: OXO_BASE_URL] │ │ [default: │ │ https://0x0.st] │ │ --expires INTEGER Expiration time, in │ │ hours or epoch │ │ milliseconds │ │ [default: None] │ │ --token-cache-dir TEXT [env var: │ │ OXO_TOKEN_CACHE_DIR] │ │ [default: None] │ │ --help Show this message and │ │ exit. │ ╰──────────────────────────────────────────────────────────────────────────────╯
oxo repost --help
Usage: oxo repost [OPTIONS] URLS... Repost one or more urls. ╭─ Arguments ──────────────────────────────────────────────────────────────────╮ │ * urls URLS... [default: None] [required] │ ╰──────────────────────────────────────────────────────────────────────────────╯ ╭─ Options ────────────────────────────────────────────────────────────────────╮ │ --use-long-name --no-use-long-name If true, create a harder │ │ to guess name. │ │ [default: │ │ no-use-long-name] │ │ --base-url TEXT [env var: OXO_BASE_URL] │ │ [default: │ │ https://0x0.st] │ │ --expires INTEGER Expiration time, in │ │ hours or epoch │ │ milliseconds │ │ [default: None] │ │ --token-cache-dir TEXT [env var: │ │ OXO_TOKEN_CACHE_DIR] │ │ [default: None] │ │ --help Show this message and │ │ exit. │ ╰──────────────────────────────────────────────────────────────────────────────╯
oxo shorten --help
Usage: oxo shorten [OPTIONS] URLS... Shorten one or more urls. ╭─ Arguments ──────────────────────────────────────────────────────────────────╮ │ * urls URLS... [default: None] [required] │ ╰──────────────────────────────────────────────────────────────────────────────╯ ╭─ Options ────────────────────────────────────────────────────────────────────╮ │ --base-url TEXT [env var: OXO_BASE_URL] │ │ [default: https://0x0.st] │ │ --expires INTEGER Expiration time, in hours or epoch │ │ milliseconds │ │ [default: None] │ │ --token-cache-dir TEXT [env var: OXO_TOKEN_CACHE_DIR] │ │ [default: None] │ │ --help Show this message and exit. │ ╰──────────────────────────────────────────────────────────────────────────────╯
oxo delete --help
Usage: oxo delete [OPTIONS] [TOKEN_CACHE_DIR] Delete uploaded files if tokens are found on disk at `token_cache_dir`. ╭─ Arguments ──────────────────────────────────────────────────────────────────╮ │ token_cache_dir [TOKEN_CACHE_DIR] [env var: OXO_TOKEN_CACHE_DIR] │ ╰──────────────────────────────────────────────────────────────────────────────╯ ╭─ Options ────────────────────────────────────────────────────────────────────╮ │ --interactive --no-interactive If True, prompt for each token found. │ │ [default: no-interactive] │ │ --help Show this message and exit. │ ╰──────────────────────────────────────────────────────────────────────────────╯
Installation
pipx
pipx automates the creation of isolated runtimes for python CLI utilities like
oxo
. Once pipx
is installed, install oxo
like so, and it'll be on your
$PATH
pipx install git+https://tildegit.org/grym/oxo@master # or @tag-of-your-choice
pip + venv
If you'd prefer to create or manage your own isolated runtime for oxo
, create
a venv and install oxo
into it:
python3 -m venv oxovenv #or wherever you want the venv to go
oxovenv/bin/pip install git+https://tildegit.org/grym/oxo@master # or @tag-of-your-choice
ln -s oxovenv/bin/oxo ${HOME}/.local/bin # optionally add to here, or anywhere else on your $PATH
development
If you'd like to set up a development install to edit oxo on your own (to prepare a PR, for example):
git clone https://tildegit.org/grym/oxo
cd oxo
make install