This commit is contained in:
ВяткинАртём
2026-03-27 16:45:55 +03:00
parent 9026b88d0a
commit 549bc255f1
683 changed files with 222915 additions and 2128 deletions
+37 -4
View File
@@ -2,13 +2,24 @@
FROM python:3.12-slim
# Python оптимизации
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
PIP_DISABLE_PIP_VERSION_CHECK=1 \
PIP_NO_CACHE_DIR=1 \
TG_WS_PROXY_HOST=0.0.0.0 \
PIP_NO_CACHE_DIR=1
# Переменные окружения по умолчанию для tg-ws-proxy
ENV TG_WS_PROXY_HOST=0.0.0.0 \
TG_WS_PROXY_PORT=1080 \
TG_WS_PROXY_DC_IPS="2:149.154.167.220 4:149.154.167.220"
TG_WS_PROXY_LOGGER=true \
TG_WS_PROXY_LOG_LEVEL=INFO \
TG_WS_PROXY_LOG_FILE="" \
TG_WS_PROXY_LOG_MAX_MB=100 \
TG_WS_PROXY_LOG_BACKUPS=3 \
TG_WS_PROXY_BIND_MODE=network \
TG_WS_PROXY_DC_IPS="2:149.154.167.220 4:149.154.167.220" \
TG_WS_PROXY_BUF_KB=256 \
TG_WS_PROXY_POOL_SIZE=4
RUN apt-get update \
&& apt-get install -y --no-install-recommends build-essential cargo libffi-dev libssl-dev tini ca-certificates \
@@ -20,6 +31,7 @@ WORKDIR /app
COPY pyproject.toml README.md LICENSE ./
COPY proxy ./proxy
COPY utils ./utils
COPY config.py ./
RUN pip install --upgrade pip setuptools wheel \
&& pip install .
@@ -28,5 +40,26 @@ USER app
EXPOSE 1080/tcp
ENTRYPOINT ["/usr/bin/tini", "--", "/bin/sh", "-lc", "set -eu; args=\"--host ${TG_WS_PROXY_HOST} --port ${TG_WS_PROXY_PORT}\"; for dc in ${TG_WS_PROXY_DC_IPS}; do args=\"$args --dc-ip $dc\"; done; exec python -u -m proxy.tg_ws_proxy $args \"$@\"", "--"]
# Собираем аргументы командной строки из переменных окружения
ENTRYPOINT ["/usr/bin/tini", "--", "/bin/sh", "-lc", "set -eu; \
args=\"--host ${TG_WS_PROXY_HOST} --port ${TG_WS_PROXY_PORT} --bind-mode ${TG_WS_PROXY_BIND_MODE} \
--log-level ${TG_WS_PROXY_LOG_LEVEL} --buf-kb ${TG_WS_PROXY_BUF_KB} --pool-size ${TG_WS_PROXY_POOL_SIZE}\"; \
\
# Добавляем --quiet если логгер отключен \
if [ \"${TG_WS_PROXY_LOGGER}\" = \"false\" ] || [ \"${TG_WS_PROXY_LOGGER}\" = \"0\" ] || [ \"${TG_WS_PROXY_LOGGER}\" = \"no\" ]; then \
args=\"$args --quiet\"; \
fi; \
\
# Добавляем log-file если указан \
if [ -n \"${TG_WS_PROXY_LOG_FILE}\" ]; then \
args=\"$args --log-file ${TG_WS_PROXY_LOG_FILE} --log-max-mb ${TG_WS_PROXY_LOG_MAX_MB} --log-backups ${TG_WS_PROXY_LOG_BACKUPS}\"; \
fi; \
\
# Добавляем dc-ip \
for dc in ${TG_WS_PROXY_DC_IPS}; do \
args=\"$args --dc-ip $dc\"; \
done; \
\
# Запускаем прокси \
exec python -u -m proxy.tg_ws_proxy $args \"$@\"", "--"]
CMD []