Skip to content

cyisfor/gnunet-webserver

Repository files navigation

Awesomenet also known as GNUnet doesn’t have a web interface like Freenet does. That makes it boring and dull to download files on the command line, since you can’t hyperlink or the like. Normally you’d publish a website on gnunet as a directory, then people would download the directory and browse the HTML files locally, but that was too easy and I have way too much time on my hands and poor judgement.

So this will download any file by chk or sks, just strip off the gnunet://fs part and add the web server URL to that. It uses tornado which is an async, generator driven network framework that uses epoll under the table. It should serve as a pretty good example of just what that sort of technique is capable of, with cached inter-process multi-process communication with progress estimates, automatically closing and reopening files, a web server written mostly from scratch that does HTTP/1.1 (tornado.web only does HTTP/1.0), a ANSI color enhanced module granular logging system that records the file and line of the function that called it, and an efficient generic object, whose items are accessible via named attributes but as quick to access as indexes in a list.

I believe I mentioned something about too much time on my hands.

tl;dr publish a thing, take the chk or the ssk and set that as the ‘root’ environment variable, then run.sh and go to http://127.0.0.1:8444/ to be redirected to your amazing web-enabled gnunet file. You might want to set the timeout in gnunet.py to more than a million microseconds, if you’re actually searching for stuff and not just gratifying yourself with locally indexed files like I am.

About

A web server as a way to serve up files retrieved from gnunet, for making gnunet fortified websites.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published