Giter Site home page Giter Site logo

pbincli's People

Contributors

dependabot-preview[bot] avatar firecat53 avatar l-n-s avatar otaku avatar r4sas avatar reneluria avatar sviceman avatar tacerus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

pbincli's Issues

assorted hypoenot wishes

  1. add i2p config to the readme
  2. add the following hint to the readme:

i2p hint

alias pastei2p="echo 'paste the text to stdin' && pbincli send -"

Failed to decompress downloaded paste, part 2

Hello, I'm noticing possibly a very similar issue to #14 where I'm unable to properly get some pastes that I'm not the author of. The only difference I notice is kdf_keysize being 128. The vim.cx is version 1.3, and I compared against paste.biocrafting.net of the same version and the js files all matched up (except vim.cx doesn't have base64-1.7.js).

Example: https://vim.cx/?23854101733f88cd#C9nHwV1PgScHGR3Ypo6CiUgmk5tZPjBusuH3yqF1Epy

gives me the error:

  File "/usr/local/lib/python3.7/site-packages/pbincli/format.py", line 186, in _decryptV2
    cipher_message = json_decode(self.__decompress(cipher.decrypt_and_verify(cipher_text, cipher_tag)).decode())
  File "/usr/local/lib/python3.7/site-packages/Crypto/Cipher/_mode_gcm.py", line 567, in decrypt_and_verify
    self.verify(received_mac_tag)
  File "/usr/local/lib/python3.7/site-packages/Crypto/Cipher/_mode_gcm.py", line 508, in verify
    raise ValueError("MAC check failed")
ValueError: MAC check failed

However, if I clone it, the new link has a kdf_keysize of 256, and decompresses just fine.

I tried playing with the various values of the constants, mac_len value, and values that __deriveKey() uses, as well as the cipher_text_tag truncation, etc but can't seem to find the right combination to make it all work. Any thoughts?

Allow URL shortening via Shlink

Hi,

whilst I can shorten PrivateBin URLs via a Shlink API string set in the PrivateBin config just fine when pasting text on my PrivateBin instance, the same sort of string does not seem to be supported in PBinCLI.

pbincli send: error: argument --short-api: invalid choice: 'shlink' (choose from 'tinyurl', 'clckru', 'isgd', 'vgd', 'cuttly', 'yourls')

It would be nice if either support for Shlink was added, or if there was an option to just use universal strings, the same way they are supported in PrivateBin itself.

Cheers!

Allow URL shortening preset in the config

Hi,

it would be nice if one could pre-define a URL shortening service in the config, in order not having to specify the shortening options manually each time.

Cheers and Thanks for the otherwise awesome tool!

ValueError in case of empty line in config file

I usually leave EOL at EOF. ValueError is raised if there's an empty line in config file.

 ~ pbincli send --text "Hello world"
Traceback (most recent call last):
  File "/Users/bkhanale/Library/Python/3.7/bin/pbincli", line 8, in <module>
    sys.exit(main())
  File "/Users/bkhanale/Library/Python/3.7/lib/python/site-packages/pbincli/cli.py", line 110, in main
    CONFIG.update(read_config(p))
  File "/Users/bkhanale/Library/Python/3.7/lib/python/site-packages/pbincli/cli.py", line 16, in read_config
    key, value = l.strip().split("=")
ValueError: not enough values to unpack (expected 2, got 1)

Installation on Debian Buster #25 Ok but bug for send a file

Send a file, example from README :
pbincli send -c "FILE LOG" -f FILE.log
pbincli send: error: argument -c/--compression: invalid choice: 'FILE LOG' (choose from 'zlib', 'none')

pbincli send -c "none" -f FILE.log
pbincli send -c 'none' -f FILE.log
pbincli send -c none -f FILE.log
Waiiitiiing .... and ..... nothing ......

pbincli send -f FILE.log
pbincli send -f /home/folder/FILE.log
Waiiitiiing .... and ..... nothing ......

Solved :
cat FILE.log | pbincli send

Windows Build of Release 0.3.4 is not working

Hi!

Unfurtunaly the Windows Binary of Release #0.3.4 is not working if called without parameters

This happens if I execute it without any parameters:

.\pbincli-0.3.4.exe
Traceback (most recent call last):
 File "D:\devel\project\PrivateBin\PBinCLI\pbincli\cli.py", line 167, in <module>
 File "D:\devel\project\PrivateBin\PBinCLI\pbincli\cli.py", line 154, in main
AttributeError: 'Namespace' object has no attribute 'debug'
[17928] Failed to execute script 'cli' due to unhandled exception!

If I add all parameters needed for a send it works:

.\pbincli-0.3.4.exe send --burn -t "Test"
Preparing paste…
Uploading paste…
Paste uploaded!
PasteID:        cb65a960790821bc
Password:       GqDwv2FSR9eQS1dCTDvkmS6rdnGxMtGzSQj3eHMdAW3T
Delete token:   dfbb2a19b42c8620498a0c358f8b372550f337bab55ea97790cfe738d70ded25

Link:           https://paste.i2pd.xyz/?cb65a960790821bc#GqDwv2FSR9eQS1dCTDvkmS6rdnGxMtGzSQj3eHMdAW3T
Delete Link:    https://paste.i2pd.xyz/?pasteid=cb65a960790821bc&deletetoken=dfbb2a19b42c8620498a0c358f8b372550f337bab55ea97790cfe738d70ded25

feature request - fetch shortened url with urlshortener

Privatebin provides urlshortener buttion. When configured with self hosted server like yourls , it will be very convenient to send urls ( as privatebin urls are very lengthy ). I request you to provide a commandline option for url shortening.

Simple text file examples fail

From the ReadME:

# python pbincli.py send -f tmp/file.txt -c "test" -d

It produces the following:

eJwrSS0uAQAEXQHB

Passphrase:	riHS4TPUheZiJP/OMCO5T7/SL1zkcSRPVInCvDz1+X8=
Password:	riHS4TPUheZiJP/OMCO5T7/SL1zkcSRPVInCvDz1+X8=
Filename:	file.txt
MIME-type:	text/plain
Request:	{'attachmentname': '{"ks":256,"cipher":"aes","mode":"gcm","v":1,"adata":"","ct":"yPkdlUVnxvw5X3f5WHL4bmks6GqrpLJZwumXWkoTDaj95uN+zOt0Rg==","salt":"PT9FcVWM6Qg=","ts":128,"iter":10000,"iv":"sdgZHAy0O1UHG1hgAGs3TA=="}', 'burnafterreading': 0, 'expire': '1day', 'attachment': '{"ks":256,"cipher":"aes","mode":"gcm","v":1,"adata":"","ct":"5Zk9AG+1mO2KHCqIkSyuxlaTZyU+i7TA32OyKXyFwlyDjQ1odcCosaN1hAdhJS5/8yfOGKsZHUCJCkDP7BkOv98gliGEiQ869VnArseChNqzx/5zP4lky/qq2m/RPp2l","salt":"PT9FcVWM6Qg=","ts":128,"iter":10000,"iv":"Yc0MvHMzgJJ8kqUE7EM3lw=="}', 'opendiscussion': 0, 'formatter': 'plaintext', 'data': '{"ks":256,"cipher":"aes","mode":"gcm","v":1,"adata":"","ct":"5VMJxVfYVTwIY0Sg75wytXbDcnHn+OidZ1dCIGJKTiA=","salt":"PT9FcVWM6Qg=","ts":128,"iter":10000,"iv":"j6+QiL0BrSoXqULyf/4i/g=="}'}
Response:	{"status":1,"message":"Invalid attachment."}

Something went wrong...
Error:		Invalid attachment.

It seems that the issue is caused, on due to server checks with the following code: https://github.com/PrivateBin/PrivateBin/blob/master/lib/Model/Paste.php#L183-L211

So I am not sure if this issue should be filed with https://github.com/PrivateBin/PrivateBin/issues or not ?

`burn=true` in config ignored

I have installed v0.3.2 and my pbincli.conf reads

server=https://paste.i2pd.xyz/
expire=1day
burn=True

Yet, pbincli send -t test does not use the burn after reading option, whereas pbincli send --burn -t test works as expected.

feature request: option for parseable output

This is a feature request. When used in scripting, it would be useful to have pbincli output information in a easily parse-able format (e.g. JSON as it seams some verbose and/or debug output already uses it?).
That way it could be easy to e.g. catch the url of the paste, and do something with it, e.g. copying it to the clipboard.

Cant get Onion sites to work or Tor in general?

So I can't get PBinCLI to work with Tor.

I have tried these types of variations in the terminal:

$ pbincli send -x socks5://127.0.0.1:9050 -q -f pub.asc -E 1day -B -s http://thetorsiteishere.onion

$ torsocks -i pbincli send -x -q -f pub.asc -E 1day -B -s http://thetorsiteishere.onion

cd'd in correct folder that had .asc file :
$ pbincli send -x socks5://127.0.0.1:9050 -t "test" -f pub.asc -E 1day -B -s http://thetorsiteishere.onion

$ torsocks -i pbincli send -t "test" -f pub.asc -E 1day -B -s http://thetorsiteishere.onion

  • Also created a config file with the same path ~/.config/pbincli/pbincli.conf and put:
proxy=socks5://127.0.0.1:9050
expire=1day
burn=true
format=plaintext

It still wouldn't work with and without torsocks -i command or -x socks5://127.0.0.1:9050 flag.

Also noted I have onioncircuits package installed and showed "succeeded" so it did connect to the onion site and also did verify it was not down in Tor browser and via torsocks curl -I.

  • Here is the errors:

Preparing paste…
Traceback (most recent call last):
  File "/home/user/.local/lib/python3.9/site-packages/requests/models.py", line 971, in json
    return complexjson.loads(self.text, **kwargs)
  File "/usr/lib/python3.9/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.9/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.9/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/user/.local/bin/pbincli", line 8, in <module>
    sys.exit(main())
  File "/home/user/.local/lib/python3.9/site-packages/pbincli/cli.py", line 161, in main
    args.func(args, api_client, settings=CONFIG)
  File "/home/user/.local/lib/python3.9/site-packages/pbincli/actions.py", line 38, in send
    version = api_client.getVersion()
  File "/home/user/.local/lib/python3.9/site-packages/pbincli/api.py", line 72, in getVersion
    jsonldSchema = self.session.get(
  File "/home/user/.local/lib/python3.9/site-packages/requests/models.py", line 975, in json
    raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

`distutils` is no longer usable from python 3.12 onwards

In the cli.py script one of the imports is for strtobool from the distutils package. That package has been deprecated since python 3.10 and now, since 3.12, is no longer supported. I think the fix should be easy by adding a method that returns a bool, seeing as you already check if the string is either "true" or "false".

Let me know if you want me to make a PR.

fr add -v flag verbose --- for better user-friendliness.

so that pbincli -v would print "uploading paste..." immediately after stdin eof received for better user-friendliness.

example:

root@desktop1:~# alias pastei2p="echo 'paste the text to stdin' && pbincli -v send -s http://paste.r4sas.i2p/ -x http://127.0.0.1:4444/"
root@desktop1:~# pastei2p
paste the text to stdin
usage: pbincli [-h] {send,get,delete} ...
pbincli: error: unrecognized arguments: -v

so

Failed to decompress downloaded paste

I tried to download paste (I'm not author) https://priv.atebin.com/?fb0daaba7acd7f6c#HrgT6DPj4BH7O1FrGS3jPrpeWMRAeIe0MQw4TSm9tvE=
but it failed to decompress received content with

$ pbincli get fb0daaba7acd7f6c#HrgT6DPj4BH7O1FrGS3jPrpeWMRAeIe0MQw4TSm9tvE=
Paste received!
Traceback (most recent call last):
  File "G:\Development\python\a\venv\Scripts\pbincli-script.py", line 11, in <module>
    load_entry_point('PBinCLI==0.2b1', 'console_scripts', 'pbincli')()
  File "G:\Development\python\a\venv\lib\site-packages\pbincli-0.2b1-py3.6.egg\pbincli\cli.py", line 77, in main
  File "G:\Development\python\a\venv\lib\site-packages\pbincli-0.2b1-py3.6.egg\pbincli\actions.py", line 111, in get
  File "G:\Development\python\a\venv\lib\site-packages\pbincli-0.2b1-py3.6.egg\pbincli\format.py", line 200, in decrypt
  File "G:\Development\python\a\venv\lib\site-packages\pbincli-0.2b1-py3.6.egg\pbincli\format.py", line 144, in __decompress
ValueError: byte must be in range(0, 256)

You can check link above that paste exist, isn't password protected and web site itself has no problems to process it.

I added some logging to see what's input for decompressing (output of decryption):

Paste received!
Decrypted text: b'77+M776977+J776WI++/p+++mTbvvrbvv6/vvqvvvojvvpLvvo/vv7/vvrTvv5vvvqhs776OYu++kS3vvqlOcU7vvpnvvqTvv5TvvqpS776X77+177+Lfe+/ugTvvoAPQDADEVAMCe++ggsdLe++vO+/t0YLb3Tvvrzvv7PvvrJ777+h776N776v776HN2Bf776C77+f77+nHe++vikCQO++ku+/jV/vvq1W776T776s77+KBCLvvr7vv6Ed776fd++/uu+/me++unoo77+2ZXfvvr9u776P77+N77+Pf++/su+/pk/vvopVXe+/tu+/ve+/j39SNe++h3F4776677+t77+a77+xUAzvv67vvpvvv6Hvv6nvv5djP1TvvptT776xcu+/je+/oO++uu++p++/i+++ul3vv50X776r7762fu++ul8/77+9776p77+9776h77+dbHo3PH3vv7sn776/77+477+Z7765Bx9dXe+/k+++r+++l++/ozDvvrRNMe++nA7vv67vv6c/776R776/77+4776PLO++h+++pu++oH/vvp4e7766776K776e776Q776+77+yJ++/he++uhzvv4rvvqdD776777+d77+W77+0TXpvXR56Zz8u7767776tG37vv77vvpPvv79uaFc/77+577+FK++/vlDvvrHvv5rvvpUH77+6flFX77+977+w776zf+++kHfvv43vvqzvvq9a77+/77+8J++/uO++mu++re+/gj/vv7oXf++/t++/t++/he+/j++/imLvv5fvvrkNPe+/ue+/s27vv7vvv6rvvqcf77+/77+677+rdz7vv7zvv7zvvr1f776977+5ae+/t++/me+/i+++t+++v++/vnV3cO++r+++v++/vO+/jQt377+n77+e77+477+y776f776O77+v7768eu++uX9/eO+/uO+/pO+/p++/v0Vf77+977+077+Z776z7763f+++ontdV++/ve++qu+/re+/lu+/v3oo77+777+BPX3vv7fvvq3vvrfvvp/vvr3vv7/vv6Y7b+++ve+/u++/rO+/me+/u++/rzx777+n77+ZG2/vv77vv6tq776177+9V++/uu+/vO+/k2bvv4RBfe++pO++i+++p+++n3xQ776877+a7765Yu+/m+++tu+/q+++ou++re+/l++/he+/kO++le+/q2rvvqjvv5rvvqbvvr/vvr3vvr0t77+K776Gfu++snNNURbvv73vv5jvv5Hvv4nvv7Xvvq4o776H776hXO+/ne+/v++/rB/vv4ofZQfvv6/vv4zvv68A776rfu+/s+++p2/vvr3vv7/vv74b77+v776977+177+m776777+v776/77+377+O77677766776DdyY7eO+/p+++g++/ou++i3J9Kn7vv5Xvv5DvvqrvvrHvv6hjRUvvv67vv5zvv7rvv4da77+i7767776277+ETe+/m+++je+/u+++p++/r+++vO+/se+/jhs/77+V77+V7768O1nvv43vvrty776e776177+bDO++hTvvvrnvvqLvv53vv6AAC+++ou+/su+/le+/ve++vmx+776sNe+/vXTvv77vv5jvv55/77+j77+Z776b77+v776+77+377+s776nb+++v++/v++/tu++s+++t++/nn3vv6vvv5kb776677+O776f77+SV++/nu++i+++l++/ue+/kw/vvorvv4/vv5wwVO+/je++lu++ru+/tlBWHRZK77+r77+t77+l77+K7767776y77+pae++t3vvv7rvv73vvpMfa++/ie+/r++/vQfvvpfvv7zvv54H77+F77+L77+d7764K+++m++/re++ojjvvrUjOG
........... (only part)

It's Base64 but it looks extremely fishy.

I cloned this paste (https://priv.atebin.com/?66dfee161d6babc7#F+0Fxa4qBzAAf20PgrbuDAI9xnO71JKcUuh/E+JRhTU=) and I'm able to download it just fine. Log output looks quite different too:

Paste received!
Decrypted text: b'w4xcw4nCkhxHcsK9w7MrwoLCkMOZw4BswqzCusOZG8KAbg4IGEASRHMIwpJiwrcEwo0WG8KLw4rCjMKqCnRuw4zCpcKKw4XDkxx0w5dlwq7Dug99D39Awr/CoMO3w5wjMsKzwpZuYMOIwpZMNgRRw4wlw4LDg8ODw73DuXPDt8OIecKaw7rCpcOJbX3Ck8KWwqvDosKzB8OHD0zCksOZwqbDucOswoEvwqrCrj3CmMOXZVfCmcOWw73DlB7CvMOrwprDlsOPw5YmcUXDq8OqwoNpViY3JinCs8KDPD14HH/ClMKzWcOjw5rCg8OTB8OPwp7DnjbDsMOKZRluT8K7wrYtC8OTwq4rw7fDmQPDvcKPw77CkWlbGMO8OcKoasKPETbCp3xgUsObw5rCg8K2wpzDjzPCvMKJeTNbNS5ewrbDtcOcwrXCnz3DuMK7wrZMHjzCu8KWwodMwrLCsBXDnjfCmW/DmsKnwp/DqFx7w6TDs8OpZw/DuFrClMKiH8O6w5lHwr83T8KtWcOUbsKGwpFfw5fDs8Orw4dffMO/w67DrMOlw6snw58dwr/CqsK/wro6fcO3fV3CucK3b354w6Euw53DkcKbwr9fwp1dX8OlF8Otw7LDi8OPfhfCpj44Pz99EMOWwprDuiYpw6vDtMOPwpVtWnfDsMOow6TDtMO8w6LDuMOsw6TDkcO5w7nDhcOZw7nDmcO5w5HDscKfwpNkw75nPH9QdFTDlMOnQXhcw7nDlFwvwpzCmcKXZWrDiiw1bW1Tw5/DusKyaA4PD8KNLXBlw6EKY03Dk8OVw5Bcw6PCjG1bwpvDnDzDvcOEw57DiwrDjsO2wq/CgFIfPz7CucK4OHpycsO8w6jDosOJw5nCo8KwwoLCs8KdFcKcfWrCvsKxw6nDmnxXQGoKwr3DshDCuXbDqX3CicO4KMKKOCvDqy4/ODs6O3ocwqR5wrQjw40jw5Vnw6Zmwq1xa2fDihkVaGDDpcOJTW7Ci8O7wpLDqcOxfsK1XRzCnR8/enLDvsO4w7TDosO0w7zDpMORw4nDuVHCkMOzMV55MhbDs8OxwqfDpivDl8K2wr7CmGNrK8OrawoKeRvDncOyw5oWDVbCm8Ojw77Dh8O3JcOywpPDnyjDssKTT8ONw5XColvDmGI+McOrwrLCo8Onw40XLcOlXsO6wrrDrcKcacK7wrpwwqnDsUVbYlFzX2fDtyXDusO5wpYFHMKfwp1GMcOPdyzDoMO8U8OzwqprYMKLEzPCk8K/w69NwoMXwrtiRMOHwr7DmBHDowJiWMOoQsK2GHvCusKyN8O8w5lVw5FFw5Quwrs8w4fDo0vCm1g6wr3CmTp5PsKrHV3CqlzCusO6wr7CpMK/OMOawpLDvsOkw7gsKMOxw6JoW8O6wovCo8ORZl/CmhXCoMOaNMKLwrLCqijCnQjCj8K1AcODwr8owovDuQwPwpkrw7/Ck8Ksclp2NArCvMKYTsOtwrwxwpjDixzCm8OcZxlXw7fDg8KbwpfDt8K2wpzDo8Otw6U8OQ4YdXHCvMKzwpxjbAYiVMK5Ml/DmBIBAxhRw7vDhMKZH1xywpPCucKmwpn
........... (only part)

This looks much more like proper Base64 string. And because it's clone then these outputs should be same (only guessing). Because clone is working fine then this issue is probably neither content or server (1.2.1) related.

Tried to download some another pastes from same source/author (even from different server) and results are again bad (same exception). Tried to create and download my own pastes and it works fine.

From that I'm guessing that pastes produced by this source/author are somehow incompatible with your decryption method.

error with module 'Crypto.Cipher.AES'

pbincli giving following error.

Traceback (most recent call last):
File "/home/murali/.pyenv/versions/3.7.3/bin/pbincli", line 8, in
sys.exit(main())
File "/home/murali/.pyenv/versions/3.7.3/lib/python3.7/site-packages/pbincli/cli.py", line 116, in main
args.func(args, api_client, settings=CONFIG)
File "/home/murali/.pyenv/versions/3.7.3/lib/python3.7/site-packages/pbincli/actions.py", line 44, in send
expiration = args.expire)
File "/home/murali/.pyenv/versions/3.7.3/lib/python3.7/site-packages/pbincli/format.py", line 229, in encrypt
if self._version == 2: self._encryptV2()
File "/home/murali/.pyenv/versions/3.7.3/lib/python3.7/site-packages/pbincli/format.py", line 261, in _encryptV2
cipher = self.__initializeCipher(key, iv, adata)
File "/home/murali/.pyenv/versions/3.7.3/lib/python3.7/site-packages/pbincli/format.py", line 121, in __initializeCipher
cipher = AES.new(key, AES.MODE_GCM, nonce=iv, mac_len=CIPHER_TAG_BYTES)
AttributeError: module 'Crypto.Cipher.AES' has no attribute 'MODE_GCM'

Allow changing timer, BOR, open discussion, and more

As far as I can tell, PBinCLI doesn't support these features and only goes with the default week timer with no bells and whistles. Allowing the timer to be changed, burn-on-read to be enabled, discussions and syntax changes, etc, would massively improve the usefulness of the program.

binascii.Error: Incorrect padding

Strange error, but in browser works well.

may be it helps https://gist.github.com/perrygeo/ee7c65bb1541ff6ac770

Paste received! Decoding…
Traceback (most recent call last):
  File "/home/[email protected]/.local/bin/pbincli", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/[email protected]/.local/lib/python3.11/site-packages/pbincli/cli.py", line 161, in main
    args.func(args, api_client, settings=CONFIG)
  File "/home/[email protected]/.local/lib/python3.11/site-packages/pbincli/actions.py", line 159, in get
    paste.setHash(passphrase)
  File "/home/[email protected]/.local/lib/python3.11/site-packages/pbincli/format.py", line 119, in setHash
    self._key = b64decode(passphrase)
                ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/base64.py", line 88, in b64decode
    return binascii.a2b_base64(s, strict_mode=validate)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
binascii.Error: Incorrect padding

PBinCLI produces garbage output against private instance

Tested against both paste.i2pd.xyz aswell as a private instance.
Works fine on paste.i2pd.xyz.
Both instances currently run version 1.1.1.

Examples (reproducible on the private instance):
echo "Test bla" | python -m pbincli.cli send
Results reliably in the following:

Test fst fst fst fst fst fst fst fst fst fst fst fst fst fst fst fst fst                                                 

"This is a slightly longer test" results in VVVVVVVV

Do you have any recommendations for debugging this?

Support onion addresses

Add onion addresses support and for convenience convert onion to clearnet address in the command output (so people can open the link without tor). Config for example:

server=https://bin.snopyta.org
onion_server=http://5cs6g2gtee7lqkbvliotggauvwi7vtc6tmgw2li7jzmoyoeuvqwsldqd.onion
proxy=socks5://127.0.0.1:9050
$ pbincli send -t text
Paste uploaded!
PasteID:	xyz
Password:	xyz
Delete token:	xyz

Link:		https://bin.snopyta.org/xyz
Onion link:     http://5cs6g2gtee7lqkbvliotggauvwi7vtc6tmgw2li7jzmoyoeuvqwsldqd.onion/xyz

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.