From 042af3f6982da693290f4ea74591d577c50c94c2 Mon Sep 17 00:00:00 2001 From: Carmelo Messina Date: Sun, 15 Oct 2023 15:17:38 +0200 Subject: [PATCH] use dante for ftp tunnel --- .github/workflows/update_fdroid_repo.yaml | 16 ++++++++++------ tools/images/squid/Dockerfile | 3 ++- tools/images/squid/danted.conf | 18 ++++++++++++++++++ tools/images/squid/start-proxy.sh | 8 ++++---- 4 files changed, 34 insertions(+), 11 deletions(-) create mode 100644 tools/images/squid/danted.conf diff --git a/.github/workflows/update_fdroid_repo.yaml b/.github/workflows/update_fdroid_repo.yaml index db022539..942cc2d8 100644 --- a/.github/workflows/update_fdroid_repo.yaml +++ b/.github/workflows/update_fdroid_repo.yaml @@ -11,15 +11,19 @@ jobs: - name: Update fdroid repo shell: bash run: | - socat TCP-LISTEN:21,reuseaddr,fork UNIX-CLIENT:/tmp/proxy/ftp.sock & + socat TCP-LISTEN:1080,reuseaddr,fork UNIX-CLIENT:/tmp/proxy/ftp.sock & + + DEBIAN_FRONTEND=noninteractive sudo apt install -y wget + wget https://github.com/rclone/rclone/releases/download/v1.64.0/rclone-v1.64.0-linux-amd64.zip + unzip rclone-v1.64.0-linux-amd64.zip + export rclone=rclone-v1.64.0-linux-amd64/rclone mkdir -p ~/.config/rclone echo "${{ secrets.RCLONE_CONF }}" > ~/.config/rclone/rclone.conf - test -d /usr/share/man/man1 || sudo mkdir -p /usr/share/man/man1 - DEBIAN_FRONTEND=noninteractive sudo apt install -y fdroidserver rclone wget + $rclone sync ftp:www.cromite.org/fdroid fdroid --log-level INFO --ftp-socks-proxy 127.0.0.1:1080 - rclone sync ftp:www.cromite.org/fdroid fdroid --log-level INFO + DEBIAN_FRONTEND=noninteractive sudo apt install -y fdroidserver cd fdroid/repo/ wget https://github.com/uazo/cromite/releases/latest/download/arm_ChromePublic.apk @@ -41,5 +45,5 @@ jobs: test -f fdroid/config.yml || exit 1 test -f fdroid/keystore.p12 || exit 1 - rclone sync fdroid ftp:www.cromite.org/fdroid --log-level INFO - rclone sync fdroid ftp:www.cromite.org/fdroid --log-level INFO + $rclone sync fdroid ftp:www.cromite.org/fdroid --log-level INFO --ftp-socks-proxy 127.0.0.1:1080 + $rclone sync fdroid ftp:www.cromite.org/fdroid --log-level INFO --ftp-socks-proxy 127.0.0.1:1080 diff --git a/tools/images/squid/Dockerfile b/tools/images/squid/Dockerfile index ae538770..1f40a167 100644 --- a/tools/images/squid/Dockerfile +++ b/tools/images/squid/Dockerfile @@ -5,9 +5,10 @@ COPY start-proxy.sh . ENV DEBIAN_FRONTEND=noninteractive -RUN apt-get update && apt-get install -y squid bash sudo socat +RUN apt-get update && apt-get install -y squid bash sudo socat dante-server COPY squid.conf /etc/squid/squid.conf +COPY danted.conf /etc/danted.conf CMD sudo chmod +x ./start-proxy.sh &&\ ./start-proxy.sh diff --git a/tools/images/squid/danted.conf b/tools/images/squid/danted.conf new file mode 100644 index 00000000..54de7bee --- /dev/null +++ b/tools/images/squid/danted.conf @@ -0,0 +1,18 @@ +logoutput: stderr /var/log/sockd.log + +internal: 0.0.0.0 port=1080 +external: eth0 + +user.privileged: root +user.unprivileged: nobody + +socksmethod: none +clientmethod: none + +client pass { + from: 0.0.0.0/0 to: 0.0.0.0/0 +} + +socks pass { + from: 127.0.0.1/32 to: 89.46.104.211/32 +} diff --git a/tools/images/squid/start-proxy.sh b/tools/images/squid/start-proxy.sh index d623a598..af3818d1 100644 --- a/tools/images/squid/start-proxy.sh +++ b/tools/images/squid/start-proxy.sh @@ -1,7 +1,6 @@ #!/bin/bash -sudo apt update -sudo apt upgrade +sudo apt update && sudo apt upgrade echo Connect /tmp/forward-proxy/proxy.sock to 127.0.0.1:8118 test -e /tmp/forward-proxy/proxy.sock && sudo rm /tmp/forward-proxy/proxy.sock @@ -13,9 +12,10 @@ test -e /tmp/proxy/bots.sock && sudo rm /tmp/proxy/bots.sock socat UNIX-LISTEN:/tmp/proxy/bots.sock,reuseaddr,fork TCP4:$REMOTEEXEC_ADDR & sudo chmod 777 /tmp/proxy/bots.sock -echo Connect /tmp/proxy/ftp.sock to ftp.cromite.org +echo Connect /tmp/proxy/ftp.sock to 127.0.0.1:1090 +/usr/sbin/danted & test -e /tmp/proxy/ftp.sock && sudo rm /tmp/proxy/ftp.sock -socat UNIX-LISTEN:/tmp/proxy/ftp.sock,reuseaddr,fork TCP4:ftp.cromite.org:21 & +socat UNIX-LISTEN:/tmp/proxy/ftp.sock,reuseaddr,fork TCP4:127.0.0.1:1080 & sudo chmod 777 /tmp/proxy/ftp.sock squid -N