shrlok | ||
.gitignore | ||
pyproject.toml | ||
README.md | ||
setup.cfg | ||
share.sh |
Shrlok
Publish stuff on the Web by piping it to a Unix domain socket (WIP).
Shrlok listens in the background on a Unix socket for a small header followed by
data and pushes this data in a directory with some basic treatment. For example,
text pushed to Shrlok is put into a pre
tag of an HTML page.
Usage
See the share.sh
script to see how data can be sent to the socket from the
shell.
Packet format
The current expected format is described at the top of the shrlok.py
module,
but here is the short version:
- A packet length, as ASCII digits for convenience, ended with a null byte;
- A JSON header, ended with a null byte;
- Data.
The packet length counts the JSON header, its null byte and the data length, not itself nor its own null byte terminator.
The header must contain the key "type" with a supported type value.
Example:
28\0{"type":"txt"}\0hello shrlok!
Supported types are:
txt
: the data will be put inpre
tags into an HTML page;raw
: the data will be written without modifications.
Header options
Key | Value | Supported by |
---|---|---|
name | file name (has precedence over ext ) |
raw |
ext | file extension | raw |
title | Web page title | txt |
About
I needed something to push stuff into the public folders of a Web server possibly from remote, and this is my own cute over-engineered solution that refuses to use TCP. Ask Kadaztrof what the name means because I don't know?