A CLI tool for rustypaste.
cargo install rustypaste-cliuse-native-certs: makes the default TLS implementation use the OS' trust store. * (disabled)
To enable crate features, use the --features flag as follows:
cargo install rustypaste-cli --features use-native-certspacman -S rustypaste-cli
rustypaste-cli is available for Alpine Edge. It can be installed via apk after enabling the testing repository.
apk add rustypaste-cliSee the available binaries on releases page.
git clone https://github.com/orhun/rustypaste-cli.git
cd rustypaste-cli/
cargo build --releaserpaste [options] <file(s)>
-h, --help prints help information
-v, --version prints version information
-V, --server-version retrieves the server version
-l, --list lists files on the server
-d, --delete delete files from server
-o, --oneshot generates one shot links
-p, --pretty prettifies the output
-c, --config CONFIG sets the configuration file
-s, --server SERVER sets the address of the rustypaste server
-a, --auth TOKEN sets the authentication or delete token
-u, --url URL sets the URL to shorten
-r, --remote URL sets the remote URL for uploading
-e, --expire TIME sets the expiration time for the link
-n, --filename NAME sets and overrides the filename
Either set the credentials on the command line (not recommended):
rpaste -s "https://paste.example.com" -a "<token>"or specify them in the configuration file as follows:
[server]
auth_token = "<token>"
delete_token = "<delete_token>"It is also possible to use these tokens from a file:
[server]
auth_token_file = "~/example/auth-token"
delete_token_file = "~/example/delete-token"The contents should be only the token, all whitespace will be trimmed.
rpaste awesome.txt other.txtecho "Hello World" | rpaste -rpaste -u https://example.com/some/long/urlrpaste -r https://example.com/file.txtrpaste -o disappear_after_seen.txtrpaste -ou https://example.com/some/long/urlrpaste -e 10min expires_in_10_minutes.txtrpaste -e 1hour -u https://example.com/expire/1hour* Supported units: ns, us, ms, sec, min, hours, days, weeks, months, years
rpaste -l* Use -p for table output instead of JSON.
rpaste -d awesome.UA86.txt other.JSNI.txtrpaste -n filename-on-server.txt awesome.txt* rustypaste >=0.15.0 is required for this argument to work, otherwise the filename will not be overridden.
- Show a prettier output:
rpaste -p [...] - Disable colors in the output:
NO_COLOR=1 rpaste -p [...]
The configuration file can be specified via --config argument and RPASTE_CONFIG environment variable or it can be placed to the following global locations:
<config_dir>/rustypaste/config.toml<home_dir>/.rustypaste/config.toml
<config_dir> depends on the platform as shown in the following table:
| Platform | Value | Example |
|---|---|---|
| Linux | • $XDG_CONFIG_HOME • $HOME/.config |
/home/alice/.config |
| macOS | • $XDG_CONFIG_HOME • $HOME/.config • $HOME/Library/Application Support |
• /home/alice/.config • /Users/Alice/Library/Application Support |
| Windows | {FOLDERID_RoamingAppData} | C:\Users\Alice\AppData\Roaming |
See config.toml for configuration options.
Pull requests are welcome!
All code is licensed under The MIT License.