ngbs 4 anni fa
parent
commit
88d18ce6dd

+ 189 - 0
.github/workflows/main.yml

@@ -760,6 +760,195 @@ jobs:
         run: |
           echo ${{ steps.docker_build_tinyfec.outputs.digest }}
 
+  build-frp:
+    needs: build-basic
+    runs-on: ubuntu-latest
+    steps:
+      - name: Check Out Repo
+        uses: actions/checkout@v2
+
+      - name: Set up Docker Buildx
+        id: buildx
+        uses: docker/setup-buildx-action@v1
+
+      - name: Cache Docker layers
+        uses: actions/cache@v2
+        with:
+          path: /tmp/.buildx-cache
+          key: ${{ runner.os }}-buildx-${{ github.sha }}
+          restore-keys: |
+            ${{ runner.os }}-buildx-
+
+      - name: Login to Docker Hub
+        uses: docker/login-action@v1
+        with:
+          username: ${{ secrets.DOCKER_HUB_USERNAME }}
+          password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
+
+      - name: Build frps and push
+        id: docker_build_frps
+        uses: docker/build-push-action@v2
+        with:
+          context: ./frp
+          file: ./frp/Dockerfile.server
+          push: true
+          tags: |
+            ${{ secrets.DOCKER_HUB_USERNAME }}/frps:latest
+            ${{ secrets.DOCKER_HUB_USERNAME }}/frps:0.37.0
+          builder: ${{ steps.buildx.outputs.name }}
+          cache-from: type=local,src=/tmp/.buildx-cache
+          cache-to: type=local,dest=/tmp/.buildx-cache-new
+
+      - name: Build frpc and push
+        id: docker_build_frpc
+        uses: docker/build-push-action@v2
+        with:
+          context: ./frp
+          file: ./frp/Dockerfile.client
+          push: true
+          tags: |
+            ${{ secrets.DOCKER_HUB_USERNAME }}/frpc:latest
+            ${{ secrets.DOCKER_HUB_USERNAME }}/frpc:0.37.0
+          builder: ${{ steps.buildx.outputs.name }}
+          cache-from: type=local,src=/tmp/.buildx-cache
+          cache-to: type=local,dest=/tmp/.buildx-cache-new
+
+      - name: Move cache
+        run: |
+          rm -rf /tmp/.buildx-cache
+          mv /tmp/.buildx-cache-new /tmp/.buildx-cache
+
+      - name: Image digest
+        run: |
+          echo ${{ steps.docker_build_frps.outputs.digest }}
+          echo ${{ steps.docker_build_frpc.outputs.digest }}
+
+  build-kcptun:
+    needs: build-basic
+    runs-on: ubuntu-latest
+    steps:
+      - name: Check Out Repo
+        uses: actions/checkout@v2
+
+      - name: Set up Docker Buildx
+        id: buildx
+        uses: docker/setup-buildx-action@v1
+
+      - name: Cache Docker layers
+        uses: actions/cache@v2
+        with:
+          path: /tmp/.buildx-cache
+          key: ${{ runner.os }}-buildx-${{ github.sha }}
+          restore-keys: |
+            ${{ runner.os }}-buildx-
+
+      - name: Login to Docker Hub
+        uses: docker/login-action@v1
+        with:
+          username: ${{ secrets.DOCKER_HUB_USERNAME }}
+          password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
+
+      - name: Build kcptun-server and push
+        id: docker_build_kcptun_server
+        uses: docker/build-push-action@v2
+        with:
+          context: ./frp
+          file: ./frp/Dockerfile.server
+          push: true
+          tags: |
+            ${{ secrets.DOCKER_HUB_USERNAME }}/kcptun:server
+            ${{ secrets.DOCKER_HUB_USERNAME }}/kcptun:20210624-server
+          builder: ${{ steps.buildx.outputs.name }}
+          cache-from: type=local,src=/tmp/.buildx-cache
+          cache-to: type=local,dest=/tmp/.buildx-cache-new
+
+      - name: Build kcptun-client and push
+        id: docker_build_kcptun_client
+        uses: docker/build-push-action@v2
+        with:
+          context: ./frp
+          file: ./frp/Dockerfile.client
+          push: true
+          tags: |
+            ${{ secrets.DOCKER_HUB_USERNAME }}/kcptun:client
+            ${{ secrets.DOCKER_HUB_USERNAME }}/kcptun:20210624-client
+          builder: ${{ steps.buildx.outputs.name }}
+          cache-from: type=local,src=/tmp/.buildx-cache
+          cache-to: type=local,dest=/tmp/.buildx-cache-new
+
+      - name: Move cache
+        run: |
+          rm -rf /tmp/.buildx-cache
+          mv /tmp/.buildx-cache-new /tmp/.buildx-cache
+
+      - name: Image digest
+        run: |
+          echo ${{ steps.docker_build_kcptun_server.outputs.digest }}
+          echo ${{ steps.docker_build_kcptun_client.outputs.digest }}
+
+  build-trojan-go:
+    needs: build-basic
+    runs-on: ubuntu-latest
+    steps:
+      - name: Check Out Repo
+        uses: actions/checkout@v2
+
+      - name: Set up Docker Buildx
+        id: buildx
+        uses: docker/setup-buildx-action@v1
+
+      - name: Cache Docker layers
+        uses: actions/cache@v2
+        with:
+          path: /tmp/.buildx-cache
+          key: ${{ runner.os }}-buildx-${{ github.sha }}
+          restore-keys: |
+            ${{ runner.os }}-buildx-
+
+      - name: Login to Docker Hub
+        uses: docker/login-action@v1
+        with:
+          username: ${{ secrets.DOCKER_HUB_USERNAME }}
+          password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
+
+      - name: Build trojan-go-server and push
+        id: docker_build_trojan_go_server
+        uses: docker/build-push-action@v2
+        with:
+          context: ./frp
+          file: ./frp/Dockerfile.server
+          push: true
+          tags: |
+            ${{ secrets.DOCKER_HUB_USERNAME }}/trojan-go:server
+            ${{ secrets.DOCKER_HUB_USERNAME }}/trojan-go:0.10.4-server
+          builder: ${{ steps.buildx.outputs.name }}
+          cache-from: type=local,src=/tmp/.buildx-cache
+          cache-to: type=local,dest=/tmp/.buildx-cache-new
+
+      - name: Build trojan-go-client and push
+        id: docker_build_trojan_go_client
+        uses: docker/build-push-action@v2
+        with:
+          context: ./frp
+          file: ./frp/Dockerfile.client
+          push: true
+          tags: |
+            ${{ secrets.DOCKER_HUB_USERNAME }}/trojan-go:client
+            ${{ secrets.DOCKER_HUB_USERNAME }}/trojan-go:0.10.4-client
+          builder: ${{ steps.buildx.outputs.name }}
+          cache-from: type=local,src=/tmp/.buildx-cache
+          cache-to: type=local,dest=/tmp/.buildx-cache-new
+
+      - name: Move cache
+        run: |
+          rm -rf /tmp/.buildx-cache
+          mv /tmp/.buildx-cache-new /tmp/.buildx-cache
+
+      - name: Image digest
+        run: |
+          echo ${{ steps.docker_build_trojan_go_server.outputs.digest }}
+          echo ${{ steps.docker_build_trojan_go_client.outputs.digest }}
+
   # build-encrypted-dns:
   #   needs: build-basic
   #   runs-on: ubuntu-latest

+ 2 - 2
caddy/v2/Dockerfile.lxhao61

@@ -1,8 +1,8 @@
 # syntax=docker/dockerfile:1
 FROM playn/alpine
 RUN export version=$(wget -qO- https://api.github.com/repos/lxhao61/integrated-examples/releases/latest | grep '"tag_name":' | head -n 1 | sed -E 's/.*"([^"]+)".*/\1/'); \
-    wget -O /tmp/caddy.tar.gz "https://github.com/lxhao61/integrated-examples/releases/download/${version}/caddy_linux_amd64.tar.gz"; \
-    tar x -z -f /tmp/caddy.tar.gz -C /usr/bin caddy; \
+    wget --quiet -O /tmp/caddy.tar.gz "https://github.com/lxhao61/integrated-examples/releases/download/${version}/caddy_linux_amd64.tar.gz"; \
+    tar -zxf /tmp/caddy.tar.gz -C /usr/bin caddy; \
     rm -f /tmp/caddy.tar.gz; \
     chmod +x /usr/bin/caddy; \
     unset version

+ 2 - 2
dnscrypt-proxy/Dockerfile

@@ -2,8 +2,8 @@
 FROM playn/alpine AS builder
 # ARG version=2.0.46-beta3
 RUN export version=$(wget -qO- https://api.github.com/repos/dnscrypt/dnscrypt-proxy/releases/latest | grep '"tag_name":' | head -n 1 | sed -E 's/.*"([^"]+)".*/\1/'); \
-    wget -c https://github.com/dnscrypt/dnscrypt-proxy/releases/download/${version}/dnscrypt-proxy-linux_x86_64-${version}.tar.gz; \
-    tar -zxf dnscrypt-proxy-linux_x86_64-${version}.tar.gz -C /tmp; \
+    wget --quiet -O /tmp/dnscrypt-proxy.tar.gz https://github.com/dnscrypt/dnscrypt-proxy/releases/download/${version}/dnscrypt-proxy-linux_x86_64-${version}.tar.gz; \
+    tar -zxf /tmp/dnscrypt-proxy.tar.gz -C /tmp; \
     cd /tmp/linux-x86_64; \
     ls | awk -F "example-" '{print "mv "$0" "$1$2""}' | sh; \
     cd -; \

+ 1 - 0
doh-server/Dockerfile.server.jedisct1

@@ -1,3 +1,4 @@
+# syntax=docker/dockerfile:1
 FROM playn/alpine AS builder
 RUN apk update --no-cache && \
     apk add --no-cache rust cargo make && \

+ 1 - 0
encrypted-dns/Dockerfile

@@ -1,3 +1,4 @@
+# syntax=docker/dockerfile:1
 FROM playn/alpine AS builder
 RUN apk update --no-cache && \
     apk add --no-cache rust cargo make && \

+ 4 - 4
frp/Dockerfile.client

@@ -1,10 +1,10 @@
 # syntax=docker/dockerfile:1
 FROM playn/alpine
 # ARG version=0.37.0
-RUN export version=$(wget -qO- https://api.github.com/repos/fatedier/frp/releases/latest | grep '"tag_name":' | head -n 1 | sed -E 's/.*"([^"]+)".*/\1/') && \
-    wget -c https://github.com/fatedier/frp/releases/download/v${version}/frp_${version}_linux_amd64.tar.gz && \
-    tar zxf frp_${version}_linux_amd64.tar.gz -C /tmp && \
+RUN export version=$(wget -qO- https://api.github.com/repos/fatedier/frp/releases/latest | grep '"tag_name":' | head -n 1 | awk -F ":" '{print $2}' | sed 's/\"//g;s/v//g;s/,//g;s/ //g') && \
+    wget --quiet -O /tmp/frp.tar.gz https://github.com/fatedier/frp/releases/download/v${version}/frp_${version}_linux_amd64.tar.gz && \
+    tar zxf /tmp/frp.tar.gz -C /tmp && \
     mv /tmp/frp_${version}_linux_amd64/frpc /usr/local/bin && \
-    rm -rf frp_${version}_linux_amd64.tar.gz /tmp/* && \
+    rm -rf /tmp/* && \
     unset version
 ENTRYPOINT [ "/usr/local/bin/frpc" ]

+ 4 - 4
frp/Dockerfile.server

@@ -1,10 +1,10 @@
 # syntax=docker/dockerfile:1
 FROM playn/alpine
 # ARG version=0.37.0
-RUN export version=$(wget -qO- https://api.github.com/repos/fatedier/frp/releases/latest | grep '"tag_name":' | head -n 1 | sed -E 's/.*"([^"]+)".*/\1/') && \
-    wget -c https://github.com/fatedier/frp/releases/download/v${version}/frp_${version}_linux_amd64.tar.gz && \
-    tar zxf frp_${version}_linux_amd64.tar.gz -C /tmp && \
+RUN export version=$(wget -qO- https://api.github.com/repos/fatedier/frp/releases/latest | grep '"tag_name":' | head -n 1 | awk -F ":" '{print $2}' | sed 's/\"//g;s/v//g;s/,//g;s/ //g') && \
+    wget --quiet -O /tmp/frp.tar.gz https://github.com/fatedier/frp/releases/download/v${version}/frp_${version}_linux_amd64.tar.gz && \
+    tar zxf /tmp/frp.tar.gz -C /tmp && \
     mv /tmp/frp_${version}_linux_amd64/frps /usr/local/bin && \
-    rm -rf frp_${version}_linux_amd64.tar.gz /tmp/* && \
+    rm -rf /tmp/* && \
     unset version
 ENTRYPOINT [ "/usr/local/bin/frps" ]

+ 4 - 4
kcptun/Dockerfile.client

@@ -1,10 +1,10 @@
 # syntax=docker/dockerfile:1
 FROM playn/alpine
 # ARG version=20210624
-RUN export version=$(wget -qO- https://api.github.com/repos/xtaci/kcptun/releases/latest | grep '"tag_name":' | head -n 1 | sed -E 's/.*"([^"]+)".*/\1/') && \
-    wget -c https://github.com/xtaci/kcptun/releases/download/v${version}/kcptun-linux-amd64-${version}.tar.gz && \
-    tar zxf kcptun-linux-amd64-${version}.tar.gz -C /tmp && \
+RUN export version=$(wget -qO- https://api.github.com/repos/xtaci/kcptun/releases/latest | grep '"tag_name":' | head -n 1 | awk -F ":" '{print $2}' | sed 's/\"//g;s/v//g;s/,//g;s/ //g') && \
+    wget --quiet -O /tmp/kcptun.tar.gz https://github.com/xtaci/kcptun/releases/download/v${version}/kcptun-linux-amd64-${version}.tar.gz && \
+    tar zxf /tmp/kcptun.tar.gz -C /tmp && \
     mv /tmp/client_linux_amd64 /usr/local/bin/kcptun_client && \
-    rm -rf kcptun-linux-amd64-${version}.tar.gz /tmp/* && \
+    rm -rf /tmp/* && \
     unset version
 ENTRYPOINT ["/usr/local/bin/kcptun_client"]

+ 4 - 4
kcptun/Dockerfile.server

@@ -1,10 +1,10 @@
 # syntax=docker/dockerfile:1
 FROM playn/alpine
 # ARG version=20210624
-RUN export version=$(wget -qO- https://api.github.com/repos/xtaci/kcptun/releases/latest | grep '"tag_name":' | head -n 1 | sed -E 's/.*"([^"]+)".*/\1/') && \
-    wget -c https://github.com/xtaci/kcptun/releases/download/v${version}/kcptun-linux-amd64-${version}.tar.gz && \
-    tar zxf kcptun-linux-amd64-${version}.tar.gz -C /tmp && \
+RUN export version=$(wget -qO- https://api.github.com/repos/xtaci/kcptun/releases/latest | grep '"tag_name":' | head -n 1 | awk -F ":" '{print $2}' | sed 's/\"//g;s/v//g;s/,//g;s/ //g') && \
+    wget --quiet -O /tmp/kcptun.tar.gz https://github.com/xtaci/kcptun/releases/download/v${version}/kcptun-linux-amd64-${version}.tar.gz && \
+    tar zxf /tmp/kcptun.tar.gz -C /tmp && \
     mv /tmp/server_linux_amd64 /usr/local/bin/kcptun_server && \
-    rm -rf kcptun-linux-amd64-${version}.tar.gz /tmp/* && \
+    rm -rf /tmp/* && \
     unset version
 ENTRYPOINT ["/usr/local/bin/kcptun_server"]

+ 3 - 2
lego/Dockerfile

@@ -1,8 +1,9 @@
+# syntax=docker/dockerfile:1
 FROM playn/alpine
 # ARG version=4.4.0
 RUN export version=$(wget -qO- https://api.github.com/repos/go-acme/lego/releases/latest | grep '"tag_name":' | head -n 1 | sed -E 's/.*"([^"]+)".*/\1/'); \
-    wget -c https://github.com/go-acme/lego/releases/download/v${version}/lego_v${version}_linux_amd64.tar.gz -P /tmp; \
-    tar zxf /tmp/lego_v${version}_linux_amd64.tar.gz -C /tmp; \
+    wget -P /tmp -c https://github.com/go-acme/lego/releases/download/${version}/lego_${version}_linux_amd64.tar.gz; \
+    tar zxf /tmp/lego_${version}_linux_amd64.tar.gz -C /tmp; \
     mv /tmp/lego /usr/local/bin/lego; \
     rm -rf /tmp/*; \
     unset version

+ 1 - 0
lego/Dockerfile.builder

@@ -1,3 +1,4 @@
+# syntax=docker/dockerfile:1
 FROM golang:alpine AS builder
 WORKDIR /go
 ENV GO111MODULE on

+ 1 - 0
naive/Dockerfile

@@ -1,3 +1,4 @@
+# syntax=docker/dockerfile:1
 FROM playn/alpine
 # ARG version=v91.0.4472.77-1
 RUN apk add --no-cach gcc libstdc++ && \

+ 1 - 0
syncthing/Dockerfile

@@ -1,3 +1,4 @@
+# syntax=docker/dockerfile:1
 FROM golang:alpine AS builder
 # ARG SYNCTHING_RELEASE=v1.18.0
 ENV CGO_ENABLED=0

+ 1 - 0
tinyfec/Dockerfile

@@ -1,3 +1,4 @@
+# syntax=docker/dockerfile:1
 FROM playn/alpine as builder
 RUN apk add --no-cache git build-base linux-headers && \
     git clone --depth 1 --recursive https://github.com/wangyu-/tinyfecVPN.git  && \

+ 1 - 0
traefik/Dockerfile

@@ -1,3 +1,4 @@
+# syntax=docker/dockerfile:1
 FROM playn/alpine
 # ARG version=2.4.9
 RUN apk --no-cache add ca-certificates; \

+ 1 - 0
trojan-go/Dockerfile

@@ -1,3 +1,4 @@
+# syntax=docker/dockerfile:1
 FROM golang:alpine AS builder
 WORKDIR /
 RUN apk add git make && \

+ 1 - 0
trojan-go/Dockerfile.client

@@ -1,3 +1,4 @@
+# syntax=docker/dockerfile:1
 FROM golang:alpine AS builder
 WORKDIR /
 RUN apk add git && \

+ 1 - 0
trojan-go/Dockerfile.full

@@ -1,3 +1,4 @@
+# syntax=docker/dockerfile:1
 FROM golang:alpine AS builder
 WORKDIR /
 RUN apk add git && \

+ 1 - 0
trojan-go/Dockerfile.server

@@ -1,3 +1,4 @@
+# syntax=docker/dockerfile:1
 FROM golang:alpine AS builder
 WORKDIR /
 RUN apk add git && \

+ 1 - 0
v2ray/Dockerfile

@@ -1,3 +1,4 @@
+# syntax=docker/dockerfile:1
 FROM golang:alpine AS builder
 RUN apk --no-cache add git bash curl
 WORKDIR /go/src/v2ray.com/core

+ 3 - 1
v2ray/Dockerfile.fly

@@ -1,3 +1,4 @@
+# syntax=docker/dockerfile:1
 FROM playn/alpine
 # ARG version=4.40.1
 RUN apk --no-cache add ca-certificates; \
@@ -7,7 +8,8 @@ RUN apk --no-cache add ca-certificates; \
     unzip /tmp/v2ray-linux-64.zip -d /tmp; \
     mv /tmp/geoip.dat /tmp/geosite.dat /tmp/v2ctl /tmp/v2ray /usr/bin/v2ray; \
     rm -rf /tmp/*; \
-    chmod +x /usr/bin/v2ray/v2ctl /usr/bin/v2ray/v2ray
+    chmod +x /usr/bin/v2ray/v2ctl /usr/bin/v2ray/v2ray && \
+    unset version
 
 ENTRYPOINT ["/usr/bin/v2ray/v2ray"]
 ENV PATH /usr/bin/v2ray:$PATH

+ 1 - 0
xray/Dockerfile

@@ -1,3 +1,4 @@
+# syntax=docker/dockerfile:1
 FROM golang:alpine AS builder
 RUN apk --no-cache add git
 WORKDIR /go/src

+ 5 - 3
xray/Dockerfile.xray

@@ -1,13 +1,15 @@
+# syntax=docker/dockerfile:1
 FROM playn/alpine
 # ARG version=1.4.2
 RUN apk --no-cache add ca-certificates; \
     mkdir /usr/bin/xray /var/log/xray; \
-    export version=$(wget -qO- https://api.github.com/repos/xtls/xray-core/releases/latest | grep '"tag_name":' | head -n 1 | sed -E 's/.*"([^"]+)".*/\1/'); \
-    wget -P /tmp https://github.com/xtls/xray-core/releases/download/${version}/Xray-linux-64.zip; \
+    export version=$(wget -qO- https://api.github.com/repos/XTLS/Xray-core/releases/latest | grep '"tag_name":' | head -n 1 | sed -E 's/.*"([^"]+)".*/\1/'); \
+    wget -P /tmp https://github.com/XTLS/Xray-core/releases/download/${version}/Xray-linux-64.zip; \
     unzip /tmp/Xray-linux-64.zip -d /tmp; \
     mv /tmp/geoip.dat /tmp/geosite.dat /tmp/xray /usr/bin/xray; \
     rm -rf /tmp/*; \
-    chmod +x /usr/bin/xray/xray
+    chmod +x /usr/bin/xray/xray && \
+    unset version
 
 ENTRYPOINT ["/usr/bin/xray/xray"]
 ENV PATH /usr/bin/xray:$PATH