Build obfs4proxy from go package
This commit is contained in:
parent
0f48b9bd61
commit
dc938d6f3a
23
Dockerfile
23
Dockerfile
|
@ -1,3 +1,21 @@
|
||||||
|
# Dockerfile for Tor Relay Server with obfs4proxy (Multi-Stage build)
|
||||||
|
FROM golang:alpine AS go-build
|
||||||
|
|
||||||
|
|
||||||
|
# Install Go for building obfs4proxy.
|
||||||
|
RUN apk --no-cache add --update go git ca-certificates
|
||||||
|
RUN mkdir -p /go/src /go/bin
|
||||||
|
RUN chmod -R 644 /go
|
||||||
|
ENV GOPATH /go
|
||||||
|
ENV PATH /go/bin:$PATH
|
||||||
|
WORKDIR /go
|
||||||
|
# Build /go/bin/obfs4proxy & /go/bin/meek-server
|
||||||
|
RUN go install -v gitlab.com/yawning/obfs4.git/obfs4proxy@latest \
|
||||||
|
&& go install -v git.torproject.org/pluggable-transports/meek.git/meek-server@latest
|
||||||
|
|
||||||
|
# Copy the binaries to /usr/local/bin
|
||||||
|
RUN cp /go/bin/* /usr/local/bin/
|
||||||
|
|
||||||
FROM alpine:3.18
|
FROM alpine:3.18
|
||||||
|
|
||||||
LABEL maintainer="Peter Dave Hello <hsu@peterdavehello.org>"
|
LABEL maintainer="Peter Dave Hello <hsu@peterdavehello.org>"
|
||||||
|
@ -7,12 +25,15 @@ LABEL version="latest"
|
||||||
RUN echo '@edge https://dl-cdn.alpinelinux.org/alpine/edge/community' >> /etc/apk/repositories && \
|
RUN echo '@edge https://dl-cdn.alpinelinux.org/alpine/edge/community' >> /etc/apk/repositories && \
|
||||||
echo '@edge https://dl-cdn.alpinelinux.org/alpine/edge/testing' >> /etc/apk/repositories && \
|
echo '@edge https://dl-cdn.alpinelinux.org/alpine/edge/testing' >> /etc/apk/repositories && \
|
||||||
apk -U upgrade && \
|
apk -U upgrade && \
|
||||||
apk -v add tor@edge obfs4proxy@edge curl && \
|
apk -v add tor@edge curl && \
|
||||||
chmod 700 /var/lib/tor && \
|
chmod 700 /var/lib/tor && \
|
||||||
rm -rf /var/cache/apk/* && \
|
rm -rf /var/cache/apk/* && \
|
||||||
tor --version
|
tor --version
|
||||||
COPY --chown=tor:root torrc /etc/tor/
|
COPY --chown=tor:root torrc /etc/tor/
|
||||||
|
|
||||||
|
# Copy obfs4proxy & meek-server
|
||||||
|
COPY --from=go-build /usr/local/bin/ /usr/local/bin/
|
||||||
|
|
||||||
HEALTHCHECK --timeout=10s --start-period=60s \
|
HEALTHCHECK --timeout=10s --start-period=60s \
|
||||||
CMD curl --fail --socks5-hostname localhost:9150 -I -L 'https://www.facebookwkhpilnemxj7asaniu7vnjjbiltxjqhye3mhbshg7kx5tfyd.onion/' || exit 1
|
CMD curl --fail --socks5-hostname localhost:9150 -I -L 'https://www.facebookwkhpilnemxj7asaniu7vnjjbiltxjqhye3mhbshg7kx5tfyd.onion/' || exit 1
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue