From 322bfa9513548608391c1c959992bda1acece2a6 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Mon, 8 Jun 2026 18:55:05 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=203proxy=20=D0=BA=20squid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/deploy-ru-vps.yml | 47 +++++++++++++++++------------- ru-vps/squid/docker-compose.yml | 11 +++++++ ru-vps/squid/entrypoint.sh | 10 +++++++ 3 files changed, 47 insertions(+), 21 deletions(-) create mode 100644 ru-vps/squid/entrypoint.sh diff --git a/.gitea/workflows/deploy-ru-vps.yml b/.gitea/workflows/deploy-ru-vps.yml index b7f41d0..eb95e5c 100644 --- a/.gitea/workflows/deploy-ru-vps.yml +++ b/.gitea/workflows/deploy-ru-vps.yml @@ -1,28 +1,33 @@ name: Deploy ru-vps on: - workflow_dispatch: - inputs: - stack: - description: "Stack to deploy (leave empty to reconcile all)" - required: false + workflow_dispatch: + inputs: + stack: + description: "Stack to deploy (leave empty to reconcile all)" + required: false - push: - paths: - - ".gitea/workflows/deploy-ru-vps.yml" - - "ru-vps/**" - schedule: - - cron: "0 4 * * *" + push: + paths: + - ".gitea/workflows/deploy-ru-vps.yml" + - "ru-vps/**" + schedule: + - cron: "0 4 * * *" jobs: - deploy: - runs-on: ru-vps - steps: - - name: Sync repo - run: | - git config --global --replace-all safe.directory /opt/services - git -C /opt/services pull origin main --ff-only - chown -R 1000:100 /opt/services + deploy: + runs-on: ru-vps + steps: + - name: Sync repo + run: | + git config --global --replace-all safe.directory /opt/services + git -C /opt/services pull origin main --ff-only + chown -R 1000:100 /opt/services - - name: Deploy stacks - run: /opt/services/scripts/deploy.sh ru-vps "${{ inputs.stack }}" + - name: Write squid secrets + run: | + echo "PROXY_USER=${{ secrets.PROXY_USER }}" > /opt/services/ru-vps/squid/.env + echo "PROXY_PASS=${{ secrets.PROXY_PASS }}" >> /opt/services/ru-vps/squid/.env + + - name: Deploy stacks + run: /opt/services/scripts/deploy.sh ru-vps "${{ inputs.stack }}" diff --git a/ru-vps/squid/docker-compose.yml b/ru-vps/squid/docker-compose.yml index 9ed8182..73f35d2 100644 --- a/ru-vps/squid/docker-compose.yml +++ b/ru-vps/squid/docker-compose.yml @@ -6,3 +6,14 @@ services: - ./squid.conf:/etc/squid/squid.conf:ro - ./passwd:/etc/squid/passwd:ro restart: unless-stopped + + 3proxy: + image: 3proxy/3proxy + network_mode: host + environment: + - PROXY_USER=${PROXY_USER} + - PROXY_PASS=${PROXY_PASS} + volumes: + - ./entrypoint.sh:/entrypoint.sh:ro + entrypoint: sh /entrypoint.sh + restart: unless-stopped diff --git a/ru-vps/squid/entrypoint.sh b/ru-vps/squid/entrypoint.sh new file mode 100644 index 0000000..8c142f7 --- /dev/null +++ b/ru-vps/squid/entrypoint.sh @@ -0,0 +1,10 @@ +#!/bin/sh +cat > /tmp/3proxy.cfg << EOF +daemon +log /dev/stdout +auth strong +users ${PROXY_USER}:CL:${PROXY_PASS} +allow ${PROXY_USER} +socks -p1080 +EOF +exec 3proxy /tmp/3proxy.cfg