54 lines
1.6 KiB
Docker
54 lines
1.6 KiB
Docker
FROM --platform=$BUILDPLATFORM debian:bookworm-slim AS builder
|
|
|
|
ARG TARGETARCH
|
|
|
|
RUN apt-get update && apt-get install -y \
|
|
git curl make gcc libssl-dev zlib1g-dev \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
RUN if [ "$(dpkg --print-architecture)" != "$TARGETARCH" ]; then \
|
|
dpkg --add-architecture $TARGETARCH && \
|
|
apt-get update && \
|
|
case "$TARGETARCH" in \
|
|
arm64) apt-get install -y gcc-aarch64-linux-gnu libssl-dev:arm64 zlib1g-dev:arm64 ;; \
|
|
amd64) apt-get install -y gcc-x86-64-linux-gnu libssl-dev:amd64 zlib1g-dev:amd64 ;; \
|
|
esac && \
|
|
rm -rf /var/lib/apt/lists/*; \
|
|
fi
|
|
|
|
RUN git clone https://github.com/TelegramMessenger/MTProxy.git /src
|
|
WORKDIR /src
|
|
|
|
RUN NATIVE=$(dpkg --print-architecture) && \
|
|
if [ "$NATIVE" != "$TARGETARCH" ]; then \
|
|
case "$TARGETARCH" in \
|
|
arm64) export CC=aarch64-linux-gnu-gcc ;; \
|
|
amd64) export CC=x86_64-linux-gnu-gcc ;; \
|
|
esac; \
|
|
fi && \
|
|
make -j$(nproc)
|
|
|
|
FROM debian:bookworm-slim
|
|
|
|
ENV PROXY_PORT=30443
|
|
ENV STATS_PORT=8888
|
|
ENV WORKERS=1
|
|
ENV RUN_USER=nobody
|
|
|
|
RUN apt-get update && apt-get install -y \
|
|
curl libssl3 zlib1g xxd \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
COPY --from=builder /src/objs/bin/mtproto-proxy /usr/local/bin/mtproto-proxy
|
|
|
|
RUN curl -s https://core.telegram.org/getProxySecret -o /etc/mtproxy/proxy-secret --create-dirs && \
|
|
curl -s https://core.telegram.org/getProxyConfig -o /etc/mtproxy/proxy-multi.conf
|
|
|
|
ENTRYPOINT mtproto-proxy \
|
|
-u ${RUN_USER} \
|
|
-p ${STATS_PORT} \
|
|
-H ${PROXY_PORT} \
|
|
-M ${WORKERS} \
|
|
--aes-pwd /etc/mtproxy/proxy-secret \
|
|
/etc/mtproxy/proxy-multi.conf
|