filebridging
Share files via a bridge server using TCP over SSL and end-to-end encryption.
Requirements
Python3.8+ is needed for this package. You may find it here.
OpenSSL 1.1.1+ is required as well to handle SSL connection and end-to-end cryptography. On Windows, installing git for Windows will install OpenSSL as well.
Usage
If you need a virtual environment, create it.
python3.8 -m venv env;
alias pip="env/bin/pip";
alias python="env/bin/python";
Install filebridging and read the help.
pip install filebridging
python -m filebridging.server --help
python -m filebridging.client --help
Examples
-
Client-server example
# 3 distinct tabs python -m filebridging.server --host localhost --port 5000 --certificate ~/.ssh/server.crt --key ~/.ssh/server.key python -m filebridging.client s --host localhost --port 5000 --certificate ~/.ssh/server.crt --token 12345678 --password supersecretpasswordhere --path ~/file_to_send python -m filebridging.client r --host localhost --port 5000 --certificate ~/.ssh/server.crt --token 12345678 --password supersecretpasswordhere --path ~/Downloads
-
Client-client example
# 2 distinct tabs python -m filebridging.client s --host localhost --port 5000 --certificate ~/.ssh/server.crt --key ~/.ssh/private.key --token 12345678 --password supersecretpasswordhere --path ~/file_to_send --standalone python -m filebridging.client r --host localhost --port 5000 --certificate ~/.ssh/server.crt --token 12345678 --password supersecretpasswordhere --path ~/Downloads
The receiver client may be standalone as well: just add the
--keyparameter (for SSL-secured sessions) and the--standaloneflag. -
Configuration file example
#!/bin/python host = "www.example.com" port = 5000 certificate = "/path/to/public.crt" key = "/path/to/private.key" action = 'r' password = 'verysecretpassword' token = 'sessiontok' file_path = '.'
Generating SSL certificates
You may use filebridging.create_certificate.py script or use openssl from the command line.
Via script
python -m filebridging.create_certificate --name example --domain example.com --force
Via command line
Store configuration in file mycert.csr.cnf and run the following command to generate a self-signed SSL certificate.
openssl req -newkey rsa:4096 -nodes -keyout ./mycert.key \
-x509 -days 365 -out ./mycert.crt \
-config mycert.csr.cnf
mycert.csr.cnf
[ req ]
default_bits = 4096
prompt = no
default_md = sha256
distinguished_name = dn
[ dn ]
CN = yourdomain.com
Metadata
Release files for filebridging 0.0.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| filebridging-0.0.9.tar.gz | 15.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| filebridging-0.0.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 32.6 kB
Release files / filebridging-0.0.9.tar.gz
| Download URL | filebridging-0.0.9.tar.gz |
|---|---|
| Size | 15.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
894b7f2d7e0d86bc89cff723b0ad2af92c9b59afafdc46e0ec8a65d710f93956
|
|
BLAKE2b-256 checksum How to use checksums |
6cf569e1ee8c47d3c4a2b59e4145e1e035904e743d3d0ebd90cb9cf7c20213a2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2
|
Release files / filebridging-0.0.9-py3-none-any.whl
| Download URL | filebridging-0.0.9-py3-none-any.whl |
|---|---|
| Size | 16.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ab483122674839c06398f68f91c73a4986860a62061565ae16464e70ab931b42
|
|
BLAKE2b-256 checksum How to use checksums |
36364014dfef49595af1cf3e603fb95820fed4d46b424c6d0972d80342a9fbb7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2
|