Compare commits

..

No commits in common. '01d3d881b1609e1f004d0e9a1c8424f388d41b86' and '3f30828e1a6fa3c21fb1cdd9968100b1cd107863' have entirely different histories.

  1. 8
      pbincli/cli.py
  2. 17
      pbincli/format.py
  3. 1
      requirements.txt

8
pbincli/cli.py

@ -1,10 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
# PYTHON_ARGCOMPLETE_OK
import os, sys, argparse import os, sys, argparse
from distutils.util import strtobool from distutils.util import strtobool
import argcomplete
import pbincli.actions import pbincli.actions
from pbincli.api import PrivateBin from pbincli.api import PrivateBin
from pbincli.utils import PBinCLIException, PBinCLIError, validate_url_ending from pbincli.utils import PBinCLIException, PBinCLIError, validate_url_ending
@ -49,7 +46,7 @@ def main():
send_parser.add_argument("-t", "--text", help="Text in quotes. Ignored if used stdin. If not used, forcefully used stdin") send_parser.add_argument("-t", "--text", help="Text in quotes. Ignored if used stdin. If not used, forcefully used stdin")
send_parser.add_argument("-f", "--file", help="Example: image.jpg or full path to file") send_parser.add_argument("-f", "--file", help="Example: image.jpg or full path to file")
send_parser.add_argument("-p", "--password", help="Password for encrypting paste") send_parser.add_argument("-p", "--password", help="Password for encrypting paste")
send_parser.add_argument("-E", "--expire", default=argparse.SUPPRESS, action="store", send_parser.add_argument("-E", "--expire", default="1day", action="store",
choices=["5min", "10min", "1hour", "1day", "1week", "1month", "1year", "never"], help="Paste lifetime (default: 1day)") choices=["5min", "10min", "1hour", "1day", "1week", "1month", "1year", "never"], help="Paste lifetime (default: 1day)")
send_parser.add_argument("-B", "--burn", default=argparse.SUPPRESS, action="store_true", help="Set \"Burn after reading\" flag") send_parser.add_argument("-B", "--burn", default=argparse.SUPPRESS, action="store_true", help="Set \"Burn after reading\" flag")
send_parser.add_argument("-D", "--discus", default=argparse.SUPPRESS, action="store_true", help="Open discussion for sent paste") send_parser.add_argument("-D", "--discus", default=argparse.SUPPRESS, action="store_true", help="Open discussion for sent paste")
@ -127,9 +124,6 @@ def main():
delete_parser.add_argument("-d", "--debug", default=False, action="store_true", help="Enable debug output") delete_parser.add_argument("-d", "--debug", default=False, action="store_true", help="Enable debug output")
delete_parser.set_defaults(func=pbincli.actions.delete) delete_parser.set_defaults(func=pbincli.actions.delete)
# Add argcomplete trigger
argcomplete.autocomplete(parser)
# parse arguments # parse arguments
args = parser.parse_args() args = parser.parse_args()

17
pbincli/format.py

@ -20,11 +20,7 @@ try:
else: else:
from Crypto.Random import get_random_bytes from Crypto.Random import get_random_bytes
except ImportError: except ImportError:
try: PBinCLIError("Unable import pycryptodome")
from Cryptodome.Cipher import AES
from Cryptodome.Random import get_random_bytes
except ImportError:
PBinCLIError("Unable import pycryptodome")
CIPHER_ITERATION_COUNT = 100000 CIPHER_ITERATION_COUNT = 100000
@ -124,15 +120,8 @@ class Paste:
def __deriveKey(self, salt): def __deriveKey(self, salt):
try: from Crypto.Protocol.KDF import PBKDF2
from Crypto.Protocol.KDF import PBKDF2 from Crypto.Hash import HMAC, SHA256
from Crypto.Hash import HMAC, SHA256
except ModuleNotFoundError:
try:
from Cryptodome.Protocol.KDF import PBKDF2
from Cryptodome.Hash import HMAC, SHA256
except ImportError:
PBinCLIError("Unable import pycryptodome")
# Key derivation, using PBKDF2 and SHA256 HMAC # Key derivation, using PBKDF2 and SHA256 HMAC
return PBKDF2( return PBKDF2(

1
requirements.txt

@ -2,4 +2,3 @@ pycryptodome
sjcl sjcl
base58 base58
requests requests
argcomplete

Loading…
Cancel
Save