18 releases
0.9.1 | Aug 1, 2024 |
---|---|
0.9.0 | Mar 27, 2024 |
0.8.0 | Sep 5, 2023 |
0.6.0 | Jul 8, 2023 |
0.1.3 | Nov 7, 2021 |
#1005 in Command line utilities
380KB
579 lines
A CLI tool for rustypaste.
Installation
crates.io
cargo install rustypaste-cli
Features
use-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-certs
Arch Linux
pacman -S rustypaste-cli
Alpine Linux
rustypaste-cli
is available for Alpine Edge. It can be installed via apk after enabling the testing repository.
apk add rustypaste-cli
Binary releases
See the available binaries on releases page.
Build from source
git clone https://github.com/orhun/rustypaste-cli.git
cd rustypaste-cli/
cargo build --release
Usage
rpaste [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
Set credentials
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.
Upload files
rpaste awesome.txt other.txt
Upload from stdin
echo "Hello World" | rpaste -
Shorten URLs
rpaste -u https://example.com/some/long/url
Paste from URL
rpaste -r https://example.com/file.txt
One shot
rpaste -o disappear_after_seen.txt
One shot URL
rpaste -ou https://example.com/some/long/url
Expiration
rpaste -e 10min expires_in_10_minutes.txt
rpaste -e 1hour -u https://example.com/expire/1hour
* Supported units: ns
, us
, ms
, sec
, min
, hours
, days
, weeks
, months
, years
List uploaded files
rpaste -l
* Use -p
for table output instead of JSON.
Delete files from server
rpaste -d awesome.UA86.txt other.JSNI.txt
Override the filename
rpaste -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.
Extras
- Show a prettier output:
rpaste -p [...]
- Disable colors in the output:
NO_COLOR=1 rpaste -p [...]
Configuration
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 or $HOME /.config |
/home/alice/.config |
macOS | $HOME /Library/Application Support |
/Users/Alice/Library/Application Support |
Windows | {FOLDERID_RoamingAppData} |
C:\Users\Alice\AppData\Roaming |
See config.toml for configuration options.
Contributing
Pull requests are welcome!
License
All code is licensed under The MIT License.Dependencies
~8–18MB
~266K SLoC