FROM debian:bullseye-slim

RUN apt update && \
    env DEBIAN_FRONTEND=noninteractive apt -y install curl gnupg2 libcap2-bin socat && \
    curl https://pkg.cloudflareclient.com/pubkey.gpg | apt-key add - && \
    echo 'deb http://pkg.cloudflareclient.com/ bullseye main' | tee /etc/apt/sources.list.d/cloudflare-client.list && \
    apt update && \
    env DEBIAN_FRONTEND=noninteractive apt -y install cloudflare-warp && \
    rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \
    mkdir -p /root/.local/share/warp && \
    echo 'yes' > ~/.local/share/warp/accepted-tos.txt && \
    mkdir -p /var/lib/cloudflare-warp

WORKDIR /usr/src/app

COPY ./entrypoint.sh ./

ENV LOCAL_PROXY_PORT 10080
ENV FORWARD_PROXY_PORT 8080
EXPOSE $FORWARD_PROXY_PORT

ENTRYPOINT [ "./entrypoint.sh" ]
CMD ["bash", "-c", "socat tcp-listen:$FORWARD_PROXY_PORT,fork tcp:localhost:$LOCAL_PROXY_PORT"]
