Files
sam-forwarder/Makefile

163 lines
4.9 KiB
Makefile
Raw Normal View History

2018-07-21 07:11:54 -04:00
GOPATH = $(PWD)/.go
2018-07-30 22:01:05 -04:00
appname = ephsite
2018-08-08 16:53:24 -04:00
eephttpd = eephttpd
network = si
samhost = sam-host
samport = 7656
args = -r
2018-08-08 16:53:24 -04:00
echo:
@echo "$(GOPATH)"
2018-07-28 03:41:33 -04:00
find . -name "*.go" -exec gofmt -w {} \;
2018-07-30 22:01:05 -04:00
find . -name "*.i2pkeys" -exec rm {} \;
2018-07-27 12:37:11 -04:00
2018-08-16 13:58:05 -04:00
test: echo
2018-07-28 04:33:43 -04:00
go test
cd udp && go test
2018-08-11 01:16:50 -04:00
cd config && go test
2018-07-28 04:33:43 -04:00
deps:
go get -u github.com/zieckey/goini
2018-07-26 18:05:56 -04:00
go get -u github.com/eyedeekay/sam-forwarder
2018-07-30 19:26:31 -04:00
go get -u github.com/eyedeekay/sam-forwarder/udp
2018-07-29 00:56:05 -04:00
go get -u github.com/eyedeekay/sam-forwarder/config
go get -u github.com/kpetku/sam3
2018-08-08 16:13:09 -04:00
build: clean bin/$(appname)
bin/$(appname):
mkdir -p bin
2018-07-30 22:01:05 -04:00
cd main && go build -a -tags netgo -ldflags '-w -extldflags "-static"' -o ../bin/$(appname)
2018-08-08 16:51:18 -04:00
server: clean-server bin/$(eephttpd)
2018-08-08 16:13:09 -04:00
2018-08-08 16:51:18 -04:00
bin/$(eephttpd):
2018-08-08 16:13:09 -04:00
mkdir -p bin
2018-08-08 16:51:18 -04:00
go build -a -tags netgo -ldflags '-w -extldflags "-static"' -o ./bin/$(eephttpd) ./example/serve.go
2018-08-08 16:13:09 -04:00
all: build server
2018-08-16 17:28:14 -04:00
clean-all: clean clean-server
clean:
2018-07-30 22:01:05 -04:00
rm -f bin/$(appname)
2018-08-08 16:13:09 -04:00
clean-server:
2018-08-08 16:51:18 -04:00
rm -f bin/$(eephttpd)
2018-08-08 16:13:09 -04:00
noopts: clean
mkdir -p bin
2018-07-30 22:01:05 -04:00
cd main && go build -o ../bin/$(appname)
2018-07-28 03:41:33 -04:00
2018-08-22 21:53:48 -04:00
install:
install -m755 bin/ephsite
remove:
2018-08-08 16:37:41 -04:00
gendoc: all
2018-07-30 22:01:05 -04:00
@echo "$(appname) - Easy forwarding of local services to i2p" > USAGE.md
2018-07-28 03:41:33 -04:00
@echo "==================================================" >> USAGE.md
@echo "" >> USAGE.md
2018-07-30 22:01:05 -04:00
@echo "$(appname) is a forwarding proxy designed to configure a tunnel for use" >> USAGE.md
2018-07-28 03:51:05 -04:00
@echo "with i2p. It can be used to easily forward a local service to the" >> USAGE.md
@echo "i2p network using i2p's SAM API instead of the tunnel interface." >> USAGE.md
2018-07-28 03:41:33 -04:00
@echo "" >> USAGE.md
@echo "usage:" >> USAGE.md
@echo "------" >> USAGE.md
@echo "" >> USAGE.md
2018-07-28 03:51:05 -04:00
@echo '```' >> USAGE.md
2018-07-30 22:01:05 -04:00
./bin/$(appname) -h 2>> USAGE.md; true
2018-07-28 03:51:05 -04:00
@echo '```' >> USAGE.md
2018-08-08 16:37:41 -04:00
@echo "" >> USAGE.md
2018-08-08 16:51:18 -04:00
@echo "$(eephttpd) - Static file server automatically forwarded to i2p" >> USAGE.md
2018-08-08 16:37:41 -04:00
@echo "============================================================" >> USAGE.md
@echo "" >> USAGE.md
2018-08-08 16:52:47 -04:00
@echo "usage:" >> USAGE.md
@echo "------" >> USAGE.md
@echo "" >> USAGE.md
2018-08-08 16:51:18 -04:00
@echo "$(eephttpd) is a static http server which automatically runs on i2p with" >> USAGE.md
2018-08-08 16:37:41 -04:00
@echo "the help of the SAM bridge. By default it will only be available from" >> USAGE.md
@echo "the localhost and it's i2p tunnel. It can be masked from the localhost" >> USAGE.md
@echo "using a container." >> USAGE.md
@echo "" >> USAGE.md
@echo '```' >> USAGE.md
./bin/$(eephttpd) -h 2>> USAGE.md; true
2018-08-08 16:37:41 -04:00
@echo '```' >> USAGE.md
@echo "" >> USAGE.md
make docker-cmd
@echo "" >> USAGE.md
2018-08-08 18:15:35 -04:00
@echo "instance" >> USAGE.md
@echo "--------" >> USAGE.md
@echo "" >> USAGE.md
@echo "a running instance of eephttpd with the example index file is availble on" >> USAGE.md
@grep 'and on' eephttpd.log | sed 's|and on||g' | tr -d '\t' >> USAGE.md
@echo "" >> USAGE.md
2018-08-08 16:51:18 -04:00
@cat USAGE.md
2018-08-08 16:37:41 -04:00
docker-build:
docker build --force-rm --no-cache --build-arg user=$(eephttpd) --build-arg path=example/www -f Dockerfile -t eyedeekay/$(eephttpd) .
2018-08-08 16:37:41 -04:00
2018-08-16 17:51:08 -04:00
docker-volume:
docker run -i -t -d \
--name $(eephttpd)-volume \
--volume $(eephttpd):/home/$(eephttpd)/ \
eyedeekay/$(eephttpd); true
2018-08-16 18:42:18 -04:00
docker stop $(eephttpd)-volume; true
2018-08-16 17:51:08 -04:00
docker-run: docker-volume
2018-08-08 18:17:34 -04:00
docker rm -f eephttpd; true
2018-08-16 18:42:18 -04:00
docker run -i -t -d \
--network $(network) \
--env samhost=$(samhost) \
--env samport=$(samport) \
--env args=$(args) \
2018-08-08 16:51:18 -04:00
--network-alias $(eephttpd) \
--hostname $(eephttpd) \
--name $(eephttpd) \
2018-08-08 16:37:41 -04:00
--restart always \
2018-08-16 17:51:08 -04:00
--volumes-from $(eephttpd)-volume \
2018-08-08 16:51:18 -04:00
eyedeekay/$(eephttpd)
2018-08-16 18:42:18 -04:00
docker rm -f $(eephttpd)-volume; true
docker logs -f $(eephttpd)
2018-08-16 17:51:08 -04:00
docker: docker-build docker-volume docker-run
docker-cmd:
@echo "### build in docker" >> USAGE.md
@echo "" >> USAGE.md
@echo '```' >> USAGE.md
2018-08-08 18:35:09 -04:00
@echo "docker build --build-arg user=$(eephttpd) --build-arg path=example/www -f Dockerfile -t eyedeekay/$(eephttpd) ." >> USAGE.md
@echo '```' >> USAGE.md
@echo "" >> USAGE.md
@echo "### Run in docker" >> USAGE.md
@echo "" >> USAGE.md
@echo '```' >> USAGE.md
2018-08-16 18:43:27 -04:00
@echo "docker run -i -t -d \\" >> USAGE.md
@echo " --name $(eephttpd)-volume \\" >> USAGE.md
@echo " --volume $(eephttpd):/home/$(eephttpd)/ \\" >> USAGE.md
@echo " eyedeekay/$(eephttpd)" >> USAGE.md
@echo '```' >> USAGE.md
@echo "" >> USAGE.md
@echo '```' >> USAGE.md
2018-08-16 18:43:27 -04:00
@echo "docker run -i -t -d \\" >> USAGE.md
@echo " --network $(network) \\" >> USAGE.md
@echo " --env samhost=$(samhost) \\" >> USAGE.md
@echo " --env samport=$(samport) \\" >> USAGE.md
@echo " --env args=$(args) # Additional arguments to pass to eephttpd\\" >> USAGE.md
@echo " --network-alias $(eephttpd) \\" >> USAGE.md
@echo " --hostname $(eephttpd) \\" >> USAGE.md
@echo " --name $(eephttpd) \\" >> USAGE.md
@echo " --restart always \\" >> USAGE.md
@echo " --volumes-from $(eephttpd)-volume \\" >> USAGE.md
@echo " eyedeekay/$(eephttpd)" >> USAGE.md
@echo '```' >> USAGE.md
index:
2018-08-08 17:51:19 -04:00
pandoc USAGE.md -o example/www/index.html
visit:
http_proxy=http://127.0.0.1:44443 surf http://566niximlxdzpanmn4qouucvua3k7neniwss47li5r6ugoertzuq.b32.i2p