Kumi
dbb4aff4e7
Server initialization in `fiche_server.py`, `lines_server.py`, and `recup_server.py` has been modified to configure runtime arguments using environment variables, providing flexibility for different deployment environments. This enhances the portability of the code by allowing server configuration without code changes. Additionally, the `.gitignore` file has been updated to exclude `*.log` files, ensuring that log files do not get committed to version control, thus keeping the repository clean. |
||
---|---|---|
src/pyfiche | ||
.gitignore | ||
Dockerfile | ||
LICENSE | ||
pyproject.toml | ||
README.md | ||
supervisord.conf |
PyFiche
PyFiche is a simple pastebin optimized for the command line, written in Python and heavily inspired by fiche, or rather a shameless translation. It has no dependencies outside the Python standard library.
It also comes with a re-implementation of Lines, the HTTP server that comes with Fiche, which this time around also allows you to upload files using POST requests. Additionally, PyFiche also comes with a simple TCP server, Recup, to download pastes through netcat without using HTTP(S), in the same way you upload them.
Installation
Dependencies
- Python 3 (tested with 3.11)
Local Installation
$ python -m venv venv
$ source venv/bin/activate
$ pip install -U git+https://kumig.it/PrivateCoffee/pyfiche.git
Usage
Fiche Server
$ source venv/bin/activate
$ pyfiche-server # try --help for options
With the exception of the -u
option, all arguments of the original Fiche
should work as expected. -u
is not implemented because, well, just use the
right user in the first place. 🤷♀️
Additionally, PyFiche also supports the -M
option, which allows you to
specify a maximum paste size in bytes. The default is 5 MiB.
Use -h
to see all options.
Uploading files
$ nc <server> <port> < <file>
Recup Server
$ source venv/bin/activate
$ pyfiche-recup # try --help for options
Downloading files
Pipe the ID of an uploaded file to nc
:
$ echo <id> | nc <server> <port> > <file>
Lines Server
$ source venv/bin/activate
$ pyfiche-lines # try --help for options
Viewing pastes in a browser
Go to http://<server>:<port>/<id>
.
Downloading raw pastes
$ curl http://<server>:<port>/<id>/raw
Uploading pastes
$ curl -X POST -d '<paste content>' http://<server>:<port>
Or use a file:
$ curl -X POST -d @<file> http://<server>:<port>
License
PyFiche is licensed under the MIT license. See the LICENSE file for more information.