2019-05-31 12:44:14 +00:00
[](https://github.com/r4sas/PBinCLI/blob/master/LICENSE)
2019-05-31 14:42:22 +00:00
[](https://github.com/r4sas/PBinCLI/tags/)
2022-01-10 12:26:20 +03:00
[](https://www.codacy.com/gh/r4sas/PBinCLI/dashboard?utm_source=github.com& utm_medium=referral& utm_content=r4sas/PBinCLI& utm_campaign=Badge_Grade)
2019-05-31 12:44:14 +00:00
2017-02-18 21:00:40 +03:00
PBinCLI
2017-02-18 21:27:24 +03:00
=====
2017-02-18 21:00:40 +03:00
2019-06-21 12:43:59 +00:00
PBinCLI is command line client for [PrivateBin ](https://github.com/PrivateBin/PrivateBin/ ) written on Python 3.
2017-02-18 21:27:24 +03:00
2017-02-18 21:30:56 +03:00
Installing
2022-01-24 19:06:29 +03:00
=====
Installation inside `virtualenv` :
2017-02-18 21:30:56 +03:00
```bash
2022-01-24 19:06:29 +03:00
python3 -m virtualenv --python=python3 venv
2019-06-21 12:43:59 +00:00
. venv/bin/activate
pip install pbincli
2017-02-18 21:30:56 +03:00
```
2017-02-19 23:27:37 +03:00
2022-01-24 19:06:29 +03:00
Installation to system with pip3:
```bash
pip3 install pbincli
```
2022-01-24 20:33:55 +03:00
*Note*: if you used installation with `virtualenv` , don't forget to activate it before usage: call `. /path/to/venv/bin/activate` in terminal
2022-01-24 19:06:29 +03:00
Configuration
=====
2019-06-21 12:43:59 +00:00
By default pbincli configured to use `https://paste.i2pd.xyz/` for sending and receiving pastes. No proxy used by default.
2018-09-22 01:33:21 +03:00
2022-01-24 19:06:29 +03:00
You can create config file to use different settings.
2018-09-22 01:33:21 +03:00
2022-01-24 19:06:29 +03:00
Configuration file is searched in `~/.config/pbincli/pbincli.conf` , `%APPDATA%/pbincli/pbincli.conf` (Windows) and `~/Library/Application Support/pbincli/pbincli.conf` (MacOS)
Example contents
-----
2018-09-22 01:33:21 +03:00
2019-06-21 13:32:46 +00:00
```ini
2018-09-22 01:33:21 +03:00
server=https://paste.i2pd.xyz/
proxy=http://127.0.0.1:3128
```
2017-02-21 05:12:13 +03:00
2022-01-24 19:06:29 +03:00
All possible options for configuration file
-----
2022-01-24 19:07:40 +03:00
| Option | Default | Possible value |
|----------------------|-------------------------|----------------|
| server | https://paste.i2pd.xyz/ | Domain ending with slash |
| mirrors | None | Domains separated with comma, like `http://privatebin.ygg/,http://privatebin.i2p/` |
| proxy | None | Proxy address starting with scheme `http://` or `socks5://` |
| short | False | True / False |
| short_api | None | `tinyurl` , `clckru` , `isgd` , `vgd` , `cuttly` , `yourls` , `custom` |
| short_url | None | Domain name of shortener service for `yourls` , or sortener URL (with required parameters) for `custom` |
| short_user | None | Used only in `yourls` |
| short_pass | None | Used only in `yourls` |
| short_token | None | Used only in `yourls` |
| no_check_certificate | False | True / False |
| no_insecure_warning | False | True / False |
2022-01-24 19:06:29 +03:00
Usage
=====
2017-02-21 05:09:38 +03:00
2022-01-24 19:06:29 +03:00
Tool available by command `pbincli` , help for every command can be called with `-h` option:
2019-06-21 12:43:59 +00:00
```bash
2022-01-24 19:06:29 +03:00
pbincli {send|get|delete} -h
2019-06-21 12:43:59 +00:00
```
2018-02-16 11:56:13 +03:00
2022-01-24 19:06:29 +03:00
Sending
-----
2018-02-16 11:56:13 +03:00
2022-01-24 19:06:29 +03:00
* Sending text:
```bash
pbincli send -t "Hello! This is test paste!"
```
* Use stdin input to read text for paste:
2019-06-21 12:43:59 +00:00
```bash
pbincli send - < < EOF
Hello! This is test paste!
EOF
```
2017-02-21 05:09:38 +03:00
2022-01-24 19:06:29 +03:00
* Sending file with text in paste:
```bash
pbincli send -f info.pdf -t "I'm sending my document."
```
2017-02-21 05:09:38 +03:00
2022-01-24 19:06:29 +03:00
* Sending only file without any text:
2019-06-21 12:43:59 +00:00
```bash
2022-01-24 19:06:29 +03:00
pbincli send -q -f info.pdf
2019-06-21 12:43:59 +00:00
```
2017-02-21 05:09:38 +03:00
2022-01-24 19:07:40 +03:00
*Note*: It is possible to set-up paste parameters such as burning after reading, expiritaion time, formatting, enabling discussions, and changing compression algorithm. Please refer to `pbincli send -h` output for more information.
2022-01-24 19:06:29 +03:00
Receiving
-----
2017-02-21 05:09:38 +03:00
To retrieve paste from server, use `get` command with paste info.
2017-02-21 05:12:13 +03:00
2022-01-24 19:06:29 +03:00
It must be formated like `pasteID#Passphrase` or use full URL to paste. Example:
```bash
pbincli get xxx#yyy ### receive paste xxx from https://paste.i2pd.xyz/ by default
pbincli get https://example.com/?xxx#yyy ### receive paste xxx from https://example.com/
```
Deletion
-----
2017-02-21 05:09:38 +03:00
2022-01-24 19:06:29 +03:00
To delete paste from server, use `delete` command with required `-p` and `-t` options:
2019-06-21 12:43:59 +00:00
```bash
2022-01-24 19:06:29 +03:00
pbincli delete -p xxx -t deletetoken
```
If you need to delete paste on different server that configured, use `-s` option with instance URL.
Additional examples
=====
Here you can find additional examples.
Usage with service available inside I2P
-----
Change settings to use server `http://privatebin.i2p/` and proxy `http://127.0.0.1:4444` . Here's example for configuration file:
```ini
server=http://privatebin.i2p/
proxy=http://127.0.0.1:4444
2019-06-21 12:43:59 +00:00
```
2017-02-21 05:09:38 +03:00
2022-01-24 19:06:29 +03:00
Using tool with aliases
-----
Example of alias to send paste from `stdin` direclty to I2P service:
2019-06-21 12:43:59 +00:00
```bash
2022-01-24 19:06:29 +03:00
alias pastei2p="echo 'paste the text to stdin' & & pbincli send -s http://privatebin.i2p/ -x http://127.0.0.1:4444 -"
2019-06-21 12:43:59 +00:00
```
2018-09-22 01:33:21 +03:00
2022-01-24 19:06:29 +03:00
Call it by running `pastei2p` in terminal.
2017-03-02 14:23:05 +03:00
License
2022-01-24 19:06:29 +03:00
=====
2022-01-24 19:07:40 +03:00
This project is licensed under the MIT license, which can be found in the file [LICENSE ](https://github.com/r4sas/PBinCLI/blob/master/LICENSE ) in the root of the project source code.