forked from r4sas/PBinCLI
update readme, change paste text parameter
This commit is contained in:
parent
b679e68f31
commit
5ef9c93077
42
README.md
42
README.md
@ -1,45 +1,7 @@
|
||||
PBinCLI
|
||||
=====
|
||||
|
||||
#### [PrivateBin](https://github.com/PrivateBin/PrivateBin/) CLI (in development)
|
||||
|
||||
This CLI tool currently working only with compression-disabled services (see [that](https://github.com/PrivateBin/PrivateBin/issues/188#issuecomment-281284360) issue).
|
||||
|
||||
```patch
|
||||
--- a/js/privatebin.js
|
||||
+++ b/js/privatebin.js
|
||||
@@ -545,9 +545,9 @@ jQuery.PrivateBin = (function($, sjcl, Base64, RawDeflate) {
|
||||
};
|
||||
|
||||
if ((password || '').trim().length === 0) {
|
||||
- return sjcl.encrypt(key, compress(message), options);
|
||||
+ return sjcl.encrypt(key, message, options);
|
||||
}
|
||||
- return sjcl.encrypt(key + sjcl.codec.hex.fromBits(sjcl.hash.sha256.hash(password)), compress(message), options);
|
||||
+ return sjcl.encrypt(key + sjcl.codec.hex.fromBits(sjcl.hash.sha256.hash(password)), message, options);
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -564,10 +564,10 @@ jQuery.PrivateBin = (function($, sjcl, Base64, RawDeflate) {
|
||||
{
|
||||
if (data !== undefined) {
|
||||
try {
|
||||
- return decompress(sjcl.decrypt(key, data));
|
||||
+ return sjcl.decrypt(key, data);
|
||||
} catch(err) {
|
||||
try {
|
||||
- return decompress(sjcl.decrypt(key + sjcl.codec.hex.fromBits(sjcl.hash.sha256.hash(password)), data));
|
||||
+ return sjcl.decrypt(key + sjcl.codec.hex.fromBits(sjcl.hash.sha256.hash(password)), data);
|
||||
} catch(e) {
|
||||
return '';
|
||||
}
|
||||
```
|
||||
|
||||
Currenty compression disabled on next services:
|
||||
|
||||
* https://paste.i2pd.xyz/
|
||||
* http://paste.r4sas.i2p/
|
||||
* *here can be your service*
|
||||
#### [PrivateBin](https://github.com/PrivateBin/PrivateBin/) CLI
|
||||
|
||||
Installing
|
||||
-----
|
||||
@ -55,7 +17,7 @@ Edit variables `server`, `proxies` and `useproxy` in `pbincli/settings.py` to yo
|
||||
|
||||
Run inside `venv` command:
|
||||
|
||||
$ ./cli send -c "Hello!"
|
||||
$ ./cli send --text "Hello!"
|
||||
|
||||
Or use stdin input to read text for paste:
|
||||
|
||||
|
4
cli
4
cli
@ -11,7 +11,7 @@ def main():
|
||||
# a send command
|
||||
send_parser = subparsers.add_parser("send", description="Send data to PrivateBin instance", usage="""
|
||||
%(prog)s --burn --discus --expire 1day --format plaintext \\
|
||||
--comment "My file" --password mypass image.txt"""
|
||||
--text "My file" --password mypass image.txt"""
|
||||
)
|
||||
send_parser.add_argument("-B", "--burn", default=False, action="store_true", help="burn sent paste after reading")
|
||||
send_parser.add_argument("-D", "--discus", default=False, action="store_true", help="open discussion of sent paste")
|
||||
@ -19,7 +19,7 @@ def main():
|
||||
choices=["5min", "10min", "1hour", "1day", "1week", "1month", "1year", "never"], help="expiration of paste (default: 1day)")
|
||||
send_parser.add_argument("-F", "--format", default="plaintext", action="store",
|
||||
choices=["plaintext", "syntaxhighlighting", "markdown"], help="format of comment (default: plaintext)")
|
||||
send_parser.add_argument("-c", "--comment", help="comment in quotes. Ignored if used stdin")
|
||||
send_parser.add_argument("-t", "--text", help="comment in quotes. Ignored if used stdin")
|
||||
send_parser.add_argument("-p", "--password", help="password for encrypting paste")
|
||||
send_parser.add_argument("-d", "--debug", default=False, action="store_true", help="enable debug")
|
||||
send_parser.add_argument("--dry", default=False, action="store_true", help="invoke dry run")
|
||||
|
@ -29,8 +29,8 @@ def compress(s):
|
||||
def send(args):
|
||||
if args.stdin:
|
||||
text = args.stdin.read()
|
||||
elif args.comment:
|
||||
text = args.comment
|
||||
elif args.text:
|
||||
text = args.text
|
||||
elif args.file:
|
||||
text = "Sending a file to you!"
|
||||
else:
|
||||
@ -52,7 +52,7 @@ def send(args):
|
||||
|
||||
if args.debug: print("Password:\t{}".format(password))
|
||||
|
||||
# Encrypting text (comment)
|
||||
# Encrypting text
|
||||
cipher = SJCL().encrypt(compress(text.encode('utf-8')), password, mode='gcm')
|
||||
|
||||
# TODO: should be implemented in upstream
|
||||
|
Loading…
Reference in New Issue
Block a user