eephttpd requires the use of an I2P router with an enabled SAM API. On the default Java I2P router this is enabled by going to http://localhost:7657/configclients.
eephttpd recommends the Java I2P router from geti2p.net as the I2P router to use, as that is the router I use to test it. Other options are I2P-Zero, a minimized distribution of the Java I2P router with all required dependencies bundled-in, or i2pd, a C++ implementation of the I2P network which is preferred by some power users and sysadmins for it's performance and minimal, lightweight interface.
If you are using a Linux distribution it is recommended that you use your package manager to install or uninstall I2P. Java I2P maintains a Debian-style repository and a PPA for Ubuntu users and up-to-date packages are available in Debian Sid.
eephttpd is a static http server which automatically runs on i2p with the help of the SAM bridge. By default it will only be available from the localhost and it's i2p tunnel. It can be masked from the localhost using a container.
Usage of ./eephttpd/eephttpd:
-a string
hostname to serve on (default "127.0.0.1")
-b string
URL of a git repository to build populate the static directory with(optional)
-c Use an encrypted leaseset(true or false)
-d string
the directory of static files to host(default./www) (default "./www")
-f string
Use an ini file for configuration (default "none")
-g Uze gzip(true or false) (default true)
-i save i2p keys(and thus destinations) across reboots (default true)
-ib int
Set inbound tunnel backup quantity(0 to 5) (default 1)
-il int
Set inbound tunnel length(0 to 7) (default 3)
-iq int
Set inbound tunnel quantity(0 to 15) (default 2)
-iv int
Set inbound tunnel length variance(-7 to 7)
-l string
Type of access list to use, can be "whitelist" "blacklist" or "none". (default "none")
-m string
Certificate name to use (default "cert")
-n string
name to give the tunnel(default eephttpd) (default "eephttpd")
-ob int
Set outbound tunnel backup quantity(0 to 5) (default 1)
-ol int
Set outbound tunnel length(0 to 7) (default 3)
-oq int
Set outbound tunnel quantity(0 to 15) (default 2)
-ov int
Set outbound tunnel length variance(-7 to 7)
-p string
port to serve locally on (default "7880")
-r Reduce tunnel quantity when idle(true or false)
-rc int
Reduce idle tunnel quantity to X (0 to 5) (default 3)
-rs string
File with RSS feeds to aggregate and share
-rt int
Reduce tunnel quantity after X (milliseconds) (default 600000)
-sh string
sam host to connect to (default "127.0.0.1")
-sp string
sam port to connect to (default "7656")
-t Generate or use an existing TLS certificate
-z Allow zero-hop, non-anonymous tunnels(true or false)
docker build --build-arg user=eephttpd \
--build-arg path=example/www \
-f Dockerfile -t \
eyedeekay/eephttpd .
docker run -i -t -d \
--name eephttpd-volume \
--volume eephttpd:/opt/eephttpd/ \
eyedeekay/eephttpd
docker run -i -t -d \
--network si \
--env samhost=localhost \
--env samport=7656 \
--env args=-r # Additional arguments to pass to eephttpd\
--network-alias eephttpd \
--hostname eephttpd \
--name eephttpd \
--restart always \
--volumes-from eephttpd-volume \
eyedeekay/eephttpd
a running instance of eephttpd with the example index file is availble on http://k5xlaoc4xqlwv5wpgoq2io2xusrmjpk622hgbsw6pyeviimpcr4q.b32.i2p
You can mirror the site with bittorrent as well: http://k5xlaoc4xqlwv5wpgoq2io2xusrmjpk622hgbsw6pyeviimpcr4q.b32.i2p/eephttpd.torrent