Share over http - Utility for sharing files and directories via http

64coreCPU b702a3ec8a unix programs db refactor 9 months ago
.gitignore 49cf3dc4fd - 2 years ago
Makefile b702a3ec8a unix programs db refactor 9 months ago
file.c ffcab3aea6 minor 2 years ago
html.c b702a3ec8a unix programs db refactor 9 months ago
html.h c11e7ceefc ld -b binary refactor 9 months ago
malloc.c 05315aab91 project files description 2 years ago
network.c 48dc715eea minor 2 years ago
page_part1.html c11e7ceefc ld -b binary refactor 9 months ago
page_part2.html c11e7ceefc ld -b binary refactor 9 months ago
page_part3.html c11e7ceefc ld -b binary refactor 9 months ago
readme 275bb53e1d readme 2 years ago
soh.c 6da110f5a6 fix relative path sharing 2 years ago
soh.h b702a3ec8a unix programs db refactor 9 months ago
unix.c b702a3ec8a unix programs db refactor 9 months ago
unix.h b702a3ec8a unix programs db refactor 9 months ago
utils.c 9583f5dd7c filename uri encoding 2 years ago

readme

=== About. ===

This is a simple utility for sharing files and directories over HTTP. The utility is
a small HTTP server that receives and processes requests from clients. The server only
provides information about files and directories, and the work of transferring them is
entrusted to external utilities. To transfer files and directories, the server runs a
chain of programs, sequentially connecting them to stdout and stdin. The stdout of the
last program in the chain is connected to the client's socket. This ensures simplicity
and flexibility.

=== Supported programs. ===

Read files: cat, pv
Archivers: tar
Compressors: bzip2, gzip, lzip, lz4, lzma, lzop, xz, zstd

=== Building and usage. ===

To build, type "make". After the build is complete, the source directory contains the
"soh" executable file. For help, run soh without options. Usage example:

soh -p 1080 -s /home

This command will share the /home directory and start the server on TCP port 1080.
To stop the server, press Ctrl+c.

=== Thanks. ===

ozz_is_here (https://github.com/ozz-is-here)
for testing, some ideas and help with the web-gui theme