Publish stuff on the Web by piping it to a Unix domain socket.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
dece 18358569d1
clean
1 year ago
shrlok clean 1 year ago
.gitignore shrlok: add html type 2 years ago
README.md readme: format properly & add details 1 year ago
pyproject.toml init 2 years ago
setup.cfg init 2 years ago
share.sh improoooove 1 year ago

README.md

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:

  1. A packet length, as ASCII digits for convenience, ended with a null byte;
  2. A JSON header, ended with a null byte;
  3. 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 in pre 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?