Files
sam-forwarder/USAGE.md
2018-08-08 19:09:56 -04:00

4.7 KiB

ephsite - Easy forwarding of local services to i2p

ephsite is a forwarding proxy designed to configure a tunnel for use with i2p. It can be used to easily forward a local service to the i2p network using i2p's SAM API instead of the tunnel interface.

usage:

Usage of ./bin/ephsite:
  -access string
    	Type of access list to use, can be "whitelist" "blacklist" or "none". (default "none")
  -accesslist value
    	Specify an access list member(can be used multiple times)
  -dir string
    	Directory to save tunnel configuration file in.
  -encryptlease
    	Use an encrypted leaseset(true or false) (default true)
  -gzip
    	Uze gzip(true or false)
  -host string
    	Target host(Host of service to forward to i2p) (default "127.0.0.1")
  -inback int
    	Set inbound tunnel backup quantity(0 to 5) (default 4)
  -incount int
    	Set inbound tunnel quantity(0 to 15) (default 8)
  -ini string
    	Use an ini file for configuration(config file options override passed arguments for now.) (default "none")
  -inlen int
    	Set inbound tunnel length(0 to 7) (default 3)
  -invar int
    	Set inbound tunnel length variance(-7 to 7)
  -name string
    	Tunnel name, this must be unique but can be anything. (default "forwarder")
  -outback int
    	Set outbound tunnel backup quantity(0 to 5) (default 4)
  -outcount int
    	Set outbound tunnel quantity(0 to 15) (default 8)
  -outlen int
    	Set outbound tunnel length(0 to 7) (default 3)
  -outvar int
    	Set outbound tunnel length variance(-7 to 7)
  -port string
    	Target port(Port of service to forward to i2p) (default "8081")
  -reduce
    	Reduce tunnel quantity when idle(true or false)
  -reducecount int
    	Reduce idle tunnel quantity to X (0 to 5) (default 3)
  -reducetime int
    	Reduce tunnel quantity after X (minutes) (default 10)
  -samhost string
    	SAM host (default "127.0.0.1")
  -samport string
    	SAM port (default "7656")
  -save
    	Use saved file and persist tunnel(If false, tunnel will not persist after program is stopped.
  -udp
    	UDP mode(true or false)
  -zeroin
    	Allow zero-hop, non-anonymous tunnels in(true or false)
  -zeroout
    	Allow zero-hop, non-anonymous tunnels out(true or false)

eephttpd - Static file server automatically forwarded to i2p

usage:

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 ./bin/eephttpd:
  -a string
    	hostname to serve on (default "127.0.0.1")
  -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 4)
  -il int
    	Set inbound tunnel length(0 to 7) (default 3)
  -iq int
    	Set inbound tunnel quantity(0 to 15) (default 8)
  -iv int
    	Set inbound tunnel length variance(-7 to 7)
  -n string
    	name to give the tunnel(default static-eepSite) (default "static-eepSite")
  -ob int
    	Set outbound tunnel backup quantity(0 to 5) (default 4)
  -ol int
    	Set outbound tunnel length(0 to 7) (default 3)
  -oq int
    	Set outbound tunnel quantity(0 to 15) (default 8)
  -ov int
    	Set outbound tunnel length variance(-7 to 7)
  -p string
    	port to serve locally on (default "8100")
  -r	Reduce tunnel quantity when idle(true or false)
  -rc int
    	Reduce idle tunnel quantity to X (0 to 5) (default 3)
  -rt int
    	Reduce tunnel quantity after X (minutes) (default 10)
  -s string
    	the directory to save the keys in(default ./) (default ".")
  -sh string
    	sam host to connect to (default "127.0.0.1")
  -sp string
    	sam port to connect to (default "7656")
  -z	Allow zero-hop, non-anonymous tunnels(true or false)

build in docker

docker build --build-arg user=eephttpd  --build-arg path=example/www -f Dockerfile -t eyedeekay/eephttpd .

Run in docker

docker run -i -t -d --network si \
    --env samhost=sam-host \
    --env samport=7656 \
    --env args=-r # Additional arguments to pass to eephttpd\
    --network-alias eephttpd \
    --hostname eephttpd \
    --name eephttpd \
    --restart always \
    --volume eephttpd:/home/eephttpd/ \
    eyedeekay/eephttpd

instance

a running instance of eephttpd with the example index file is availble on 6vdci6cxqcwtcjfnt537on7fwuihevyg3u7pntaiijts7pqkqo4a.b32.i2p