: An attempt to make computer machines run better

home | better linux | games | software | tutorials | reference | web log |

Software: info | servers | luck library | psf library | http_p2p | ksec clocks | xcb saver | xcb clock |



System Requirements:
- Linux
- C Compiler
License: Beerware


This is a small server implementing the HTTP protocol optimized for peer-to-peer like usage.
A typical usage scenario would be sending a large file over the internet to a friend. The sender would start the server and send the link to the receiver. The receiver would open the link in a web browser (or with wget) and download the file directly from the sender's computer. This server supports several unique features which make this usage practical.


The server is implemented as a standard program rather than as a daemon which allows it to be started and stopped easily and in a controlled manner. It also has additional features to support it's intended use. These features include:
- Can be "locked" to only serve a single specified file
- Can be run on any port
- Prints an easy-to-copy link to the file
- Can be set to end automatically after one transfer


In the modern world of cloud computing and email and online storage, you may wonder why this would be needed or desired. However, there are many reasons you may wish to utilize this mode of file transfer.
First, most popular methods of file transfer (including email) involve uploading the file to a third-party server where the receiver will download the file. One problem with this is that it requires two transfers, where the HTTP_P2P server requires only one transfer, all things being equal, this reduces transfer time by half.
Second, since many methods of internet file transfer require intermediate storage, many of these service providers limit the file sizes that can be transfered. HTTP_P2P has no such limit.
Third, since HTTP_P2P establishes a point-to-point connection, it eliminates reliance on any centralized server or service provider. Reducing dependance on centralized authority is always a good thing and can make you a happier person. It can also reduce surveillance since files are not stored in intermediate locations. If you encrypt your files using strong encryption schemes such as PGP or one-time-pad, you can further improve privacy.


Source (.c file)