mirror of
https://github.com/r4sas/PBinCLI
synced 2025-01-09 14:28:06 +00:00
fix v1 decrypt debug message, update readme
This commit is contained in:
parent
8d7a9235b8
commit
f5ef4bbc03
36
README.md
36
README.md
@ -5,19 +5,19 @@
|
||||
PBinCLI
|
||||
=====
|
||||
|
||||
#### [PrivateBin](https://github.com/PrivateBin/PrivateBin/) CLI
|
||||
PBinCLI is command line client for [PrivateBin](https://github.com/PrivateBin/PrivateBin/) written on Python 3.
|
||||
|
||||
Installing
|
||||
-----
|
||||
```bash
|
||||
$ virtualenv --python=python3 venv
|
||||
$ . venv/bin/activate
|
||||
$ pip install pbincli
|
||||
virtualenv --python=python3 venv
|
||||
. venv/bin/activate
|
||||
pip install pbincli
|
||||
```
|
||||
|
||||
Usage
|
||||
-----
|
||||
By default pbincli configured to use https://paste.i2pd.xyz/ for sending and receiving pastes. No proxy used by default.
|
||||
By default pbincli configured to use `https://paste.i2pd.xyz/` for sending and receiving pastes. No proxy used by default.
|
||||
|
||||
You can create config file with variables `server` and `proxy` in `~/.config/pbincli/pbincli.conf` to use different settings.
|
||||
|
||||
@ -30,30 +30,38 @@ proxy=http://127.0.0.1:3128
|
||||
|
||||
Run inside `venv` command:
|
||||
|
||||
$ pbincli send --text "Hello!"
|
||||
```bash
|
||||
pbincli send --text "Hello!"
|
||||
```
|
||||
|
||||
Or use stdin input to read text for paste:
|
||||
|
||||
$ pbincli send - <<EOF
|
||||
Hello! This is test paste!
|
||||
EOF
|
||||
```bash
|
||||
pbincli send - <<EOF
|
||||
Hello! This is test paste!
|
||||
EOF
|
||||
```
|
||||
|
||||
It will send string `Hello! This is test paste!` to PrivateBin.
|
||||
|
||||
To send file use `--file` or `-f` with filename. Example:
|
||||
|
||||
$ pbincli send -c "My document" -f info.pdf
|
||||
|
||||
```bash
|
||||
pbincli send -c "My document" -f info.pdf
|
||||
```
|
||||
|
||||
To retrieve paste from server, use `get` command with paste info.
|
||||
|
||||
It must be formated like `pasteID#passphrase`. Example:
|
||||
|
||||
$ pbincli get 49eeb1326cfa9491#vfeortoVWaYeJlviDdhxQBtj5e0I2kArpynrtu/tnGs=
|
||||
|
||||
```bash
|
||||
pbincli get 49eeb1326cfa9491#vfeortoVWaYeJlviDdhxQBtj5e0I2kArpynrtu/tnGs=
|
||||
```
|
||||
More info you can find by typing
|
||||
|
||||
$ pbincli [-h] {send, get, delete}
|
||||
```bash
|
||||
pbincli [-h] {send, get, delete}
|
||||
```
|
||||
|
||||
TODO
|
||||
----
|
||||
|
@ -42,7 +42,7 @@ def send(args, api_client):
|
||||
|
||||
request = paste.getJSON()
|
||||
|
||||
if args.debug:
|
||||
if args.debug:
|
||||
print("Passphrase:\t{}".format(paste.getHash()))
|
||||
print("Request:\t{}".format(request))
|
||||
|
||||
@ -103,7 +103,7 @@ def get(args, api_client):
|
||||
|
||||
version = result['v'] if 'v' in result else 1
|
||||
paste.setVersion(version)
|
||||
|
||||
|
||||
if version == 2:
|
||||
if args.debug: print("Authentication data:\t{}".format(result['adata']))
|
||||
|
||||
|
@ -113,6 +113,7 @@ class Paste:
|
||||
).digest())
|
||||
|
||||
|
||||
@classmethod
|
||||
def __initializeCipher(self, key, iv, adata):
|
||||
from pbincli.utils import json_encode
|
||||
cipher = AES.new(key, AES.MODE_GCM, nonce=iv, mac_len=CIPHER_TAG_BYTES)
|
||||
@ -126,7 +127,7 @@ class Paste:
|
||||
return b64encode(self._key) + digest.encode("UTF-8")
|
||||
else:
|
||||
return b64encode(self._key)
|
||||
|
||||
|
||||
|
||||
def __decompress(self, s):
|
||||
if self._version == 2 and self._compression == 'zlib':
|
||||
@ -188,7 +189,7 @@ class Paste:
|
||||
|
||||
cipher_text = json_decode(self._data['data'])
|
||||
|
||||
if self._debug: print("Text:\t{}\n".format(data))
|
||||
if self._debug: print("Text:\t{}\n".format(cipher_text))
|
||||
|
||||
text = SJCL().decrypt(cipher_text, password)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user