Giter Club home page Giter Club logo

pbincli's Introduction

GitHub license GitHub tag Codacy Badge

PBinCLI

PBinCLI is a command line client for PrivateBin written in Python 3.

Installation

Installing globally using pip3:

pip3 install pbincli

Installing with virtualenv:

python3 -m virtualenv --python=python3 venv
. venv/bin/activate
pip install pbincli

Note: if you used virtualenv installation method, don't forget to activate your virtual environment before running the tool: call . /path/to/venv/bin/activate in terminal

Configuration

By default PBinCLI is configured to use https://paste.i2pd.xyz/ for sending and receiving pastes. No proxy is used by default.

You can always create a config file to use different settings.

Configuration file is expected to be found in ~/.config/pbincli/pbincli.conf, %APPDATA%/pbincli/pbincli.conf (Windows) and ~/Library/Application Support/pbincli/pbincli.conf (MacOS)

Example of config file content

server=https://paste.i2pd.xyz/
proxy=http://127.0.0.1:3128

List of OPTIONS available

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://
expire 1day 5min / 10min / 1hour / 1day / 1week / 1month / 1year / never
burn False True / False
discus False True / False
format plaintext plaintext / syntaxhighlighting / markdown
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 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
compression zlib zlib / none

Usage

PBinCLI tool is started with pbincli command. Detailed help on command usage is provided with -h option:

pbincli {send|get|delete} -h

Sending

  • Sending text:
pbincli send -t "Hello! This is a test paste!"
  • Using stdin input to read text into a paste:
pbincli send - <<EOF
Hello! This is a test paste!
EOF
  • Sending a file with text attached into a paste:
pbincli send -f info.pdf -t "I'm sending my document."
  • Sending a file only with no text attached:
pbincli send -q -f info.pdf

Other options

It is also possible to set-up paste parameters such as "burn after reading", expiritaion time, formatting, enabling discussions and changing compression algorithm. Please refer to pbincli send -h output for more information.

Receiving

To retrieve a paste from a server, you need to use get command with the paste info.

Paste info must be formated as pasteID#Passphrase or just use full URL to a paste. Example:

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

To delete a paste from a server, use delete command with required -p and -t options:

pbincli delete -p xxx -t deletetoken

If you need to delete a paste on different server than the configured one, use -s option together with the instance URL.

Additional examples

Here you can find additional examples.

Usage with I2P enabled services

Change settings to set server to http://privatebin.i2p/ and proxy to http://127.0.0.1:4444. Configuration file for this example is:

server=http://privatebin.i2p/
proxy=http://127.0.0.1:4444

Using aliases

Example of alias to send a paste from stdin direclty to I2P service:

alias pastei2p="echo 'paste the text to stdin' && pbincli send -s http://privatebin.i2p/ -x http://127.0.0.1:4444 -"

Call it by running pastei2p in terminal.

License

This project is licensed under the MIT license, which can be found in the file LICENSE in the root of the project source code.

pbincli's People

Contributors

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

Watchers

 avatar

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.