mirror of
https://github.com/WJQSERVER-STUDIO/ghproxy.git
synced 2026-02-03 08:11:11 +08:00
update to v2
This commit is contained in:
parent
e0af54370e
commit
ac537dc555
9 changed files with 18 additions and 161 deletions
42
.github/workflows/build.yml
vendored
42
.github/workflows/build.yml
vendored
|
|
@ -101,44 +101,4 @@ jobs:
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
${{ env.IMAGE_NAME }}:${{ env.VERSION }}
|
${{ env.IMAGE_NAME }}:${{ env.VERSION }}
|
||||||
${{ env.IMAGE_NAME }}:latest
|
${{ env.IMAGE_NAME }}:latest
|
||||||
|
|
||||||
docker-nocache:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: build # 确保这个作业在 build 作业完成后运行
|
|
||||||
env:
|
|
||||||
IMAGE_NAME: wjqserver/ghproxy # 定义镜像名称变量
|
|
||||||
DOCKERFILE: docker/dockerfile/nocache/Dockerfile # 定义 Dockerfile 路径变量
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
- name: Load VERSION
|
|
||||||
run: |
|
|
||||||
if [ -f VERSION ]; then
|
|
||||||
echo "VERSION=$(cat VERSION)" >> $GITHUB_ENV
|
|
||||||
else
|
|
||||||
echo "VERSION file not found!" && exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Set up QEMU
|
|
||||||
uses: docker/setup-qemu-action@v3
|
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
|
||||||
uses: docker/setup-buildx-action@v3
|
|
||||||
|
|
||||||
- name: Login to Docker Hub
|
|
||||||
uses: docker/login-action@v3
|
|
||||||
with:
|
|
||||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
||||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: 构建镜像
|
|
||||||
uses: docker/build-push-action@v6
|
|
||||||
with:
|
|
||||||
file: ./${{ env.DOCKERFILE }}
|
|
||||||
platforms: linux/amd64,linux/arm64
|
|
||||||
push: true
|
|
||||||
tags: |
|
|
||||||
${{ env.IMAGE_NAME }}:${{ env.VERSION }}-nocache
|
|
||||||
${{ env.IMAGE_NAME }}:nocache
|
|
||||||
|
|
@ -1,5 +1,13 @@
|
||||||
# 更新日志
|
# 更新日志
|
||||||
|
|
||||||
|
2.0.0
|
||||||
|
---
|
||||||
|
- RELEASE: v2.0.0正式版发布; 此版本圆了几个月前画的饼, 在大文件下载的内存占用方面做出了巨大改进
|
||||||
|
- CHANGE: 优化`proxy`核心模块, 使用Chuncked Buffer传输数据, 减少内存占用
|
||||||
|
- REMOVE: caddy
|
||||||
|
- REMOVE: nocache
|
||||||
|
- CHANGE: 优化前端页面, 增加更多功能(来自1.8.1版本, 原本也是为v2所设计的)
|
||||||
|
|
||||||
25w04c
|
25w04c
|
||||||
---
|
---
|
||||||
- PRE-RELEASE: 此版本是v2的候选版本,请勿在生产环境中使用;
|
- PRE-RELEASE: 此版本是v2的候选版本,请勿在生产环境中使用;
|
||||||
|
|
|
||||||
|
|
@ -81,6 +81,7 @@ wget -O install.sh https://raw.githubusercontent.com/WJQSERVER-STUDIO/ghproxy/ma
|
||||||
host = "127.0.0.1" # 监听地址
|
host = "127.0.0.1" # 监听地址
|
||||||
port = 8080 # 监听端口
|
port = 8080 # 监听端口
|
||||||
sizeLimit = 125 # 125MB
|
sizeLimit = 125 # 125MB
|
||||||
|
bufferSize = 4096 # Bytes 缓冲区大小
|
||||||
enableH2C = "on" # 是否开启H2C传输(latest和dev版本请开启) on/off
|
enableH2C = "on" # 是否开启H2C传输(latest和dev版本请开启) on/off
|
||||||
|
|
||||||
[pages]
|
[pages]
|
||||||
|
|
@ -159,7 +160,8 @@ example.com {
|
||||||
|
|
||||||
### 前端页面
|
### 前端页面
|
||||||
|
|
||||||

|

|
||||||
|

|
||||||
|
|
||||||
结语
|
结语
|
||||||
---
|
---
|
||||||
|
|
|
||||||
2
VERSION
2
VERSION
|
|
@ -1 +1 @@
|
||||||
1.8.3
|
2.0.0
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
host = "127.0.0.1"
|
host = "127.0.0.1"
|
||||||
port = 8080
|
port = 8080
|
||||||
sizeLimit = 125 # MB
|
sizeLimit = 125 # MB
|
||||||
|
bufferSize = 4096 # Bytes
|
||||||
enableH2C = false
|
enableH2C = false
|
||||||
debug = false
|
debug = false
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
FROM alpine:latest AS builder
|
|
||||||
|
|
||||||
ARG USER=WJQSERVER-STUDIO
|
|
||||||
ARG REPO=ghproxy
|
|
||||||
ARG APPLICATION=ghproxy
|
|
||||||
ARG TARGETOS
|
|
||||||
ARG TARGETARCH
|
|
||||||
ARG TARGETPLATFORM
|
|
||||||
|
|
||||||
# 创建文件夹
|
|
||||||
RUN mkdir -p /data/www
|
|
||||||
RUN mkdir -p /data/${APPLICATION}/config
|
|
||||||
RUN mkdir -p /data/${APPLICATION}/log
|
|
||||||
|
|
||||||
# 安装依赖
|
|
||||||
RUN apk add --no-cache curl wget tar
|
|
||||||
|
|
||||||
# 前端
|
|
||||||
RUN wget -O /data/www/index.html https://raw.githubusercontent.com/${USER}/${REPO}/main/pages/index.html
|
|
||||||
RUN wget -O /data/www/favicon.ico https://raw.githubusercontent.com/${USER}/${REPO}/main/pages/favicon.ico
|
|
||||||
|
|
||||||
# 后端
|
|
||||||
RUN VERSION=$(curl -s https://raw.githubusercontent.com/${USER}/${REPO}/main/VERSION) && \
|
|
||||||
wget -O /data/${APPLICATION}/${APPLICATION}-${TARGETOS}-${TARGETARCH}.tar.gz https://github.com/${USER}/${REPO}/releases/download/$VERSION/${APPLICATION}-${TARGETOS}-${TARGETARCH}.tar.gz && \
|
|
||||||
tar -zxvf /data/${APPLICATION}/${APPLICATION}-${TARGETOS}-${TARGETARCH}.tar.gz -C /data/${APPLICATION} && \
|
|
||||||
rm -rf /data/${APPLICATION}/${APPLICATION}-${TARGETOS}-${TARGETARCH}.tar.gz
|
|
||||||
RUN wget -O /usr/local/bin/init.sh https://raw.githubusercontent.com/${USER}/${REPO}/main/docker/dockerfile/nocache/init.sh
|
|
||||||
|
|
||||||
# 拉取配置
|
|
||||||
#RUN wget -O /data/caddy/Caddyfile https://raw.githubusercontent.com/${USER}/${REPO}/main/caddyfile/nocache/Caddyfile
|
|
||||||
RUN wget -O /data/${APPLICATION}/config.toml https://raw.githubusercontent.com/${USER}/${REPO}/main/docker/dockerfile/nocache/config.toml
|
|
||||||
RUN wget -O /data/${APPLICATION}/blacklist.json https://raw.githubusercontent.com/${USER}/${REPO}/main/config/blacklist.json
|
|
||||||
RUN wget -O /data/${APPLICATION}/whitelist.json https://raw.githubusercontent.com/${USER}/${REPO}/main/config/whitelist.json
|
|
||||||
|
|
||||||
# 权限
|
|
||||||
RUN chmod +x /data/${APPLICATION}/${APPLICATION}
|
|
||||||
RUN chmod +x /usr/local/bin/init.sh
|
|
||||||
|
|
||||||
FROM alpine:latest
|
|
||||||
|
|
||||||
RUN apk add --no-cache curl
|
|
||||||
|
|
||||||
COPY --from=builder /data/www /data/www
|
|
||||||
COPY --from=builder /data/${APPLICATION} /data/${APPLICATION}
|
|
||||||
COPY --from=builder /usr/local/bin/init.sh /usr/local/bin/init.sh
|
|
||||||
|
|
||||||
# 权限
|
|
||||||
RUN chmod +x /data/${APPLICATION}/${APPLICATION}
|
|
||||||
RUN chmod +x /usr/local/bin/init.sh
|
|
||||||
|
|
||||||
CMD ["/usr/local/bin/init.sh"]
|
|
||||||
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
||||||
[server]
|
|
||||||
host = "0.0.0.0"
|
|
||||||
port = 80 #修改此配置会导致容器异常
|
|
||||||
sizeLimit = 125 # MB
|
|
||||||
enableH2C = "off" # on / off
|
|
||||||
debug = false
|
|
||||||
|
|
||||||
[pages]
|
|
||||||
enabled = false
|
|
||||||
staticDir = "/data/www"
|
|
||||||
|
|
||||||
[log]
|
|
||||||
logFilePath = "/data/ghproxy/log/ghproxy.log"
|
|
||||||
maxLogSize = 5 # MB
|
|
||||||
|
|
||||||
[cors]
|
|
||||||
enabled = true
|
|
||||||
|
|
||||||
[auth]
|
|
||||||
authMethod = "parameters" # "header" or "parameters"
|
|
||||||
authToken = "token"
|
|
||||||
enabled = false
|
|
||||||
passThrough = false
|
|
||||||
|
|
||||||
[blacklist]
|
|
||||||
blacklistFile = "/data/ghproxy/config/blacklist.json"
|
|
||||||
enabled = false
|
|
||||||
|
|
||||||
[whitelist]
|
|
||||||
enabled = false
|
|
||||||
whitelistFile = "/data/ghproxy/config/whitelist.json"
|
|
||||||
|
|
||||||
[rateLimit]
|
|
||||||
enabled = false
|
|
||||||
rateMethod = "total" # "ip" or "total"
|
|
||||||
ratePerMinute = 180
|
|
||||||
burst = 5
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
APPLICATION=ghproxy
|
|
||||||
|
|
||||||
if [ ! -f /data/${APPLICATION}/config/blacklist.json ]; then
|
|
||||||
cp /data/${APPLICATION}/blacklist.json /data/${APPLICATION}/config/blacklist.json
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -f /data/${APPLICATION}/config/whitelist.json ]; then
|
|
||||||
cp /data/${APPLICATION}/whitelist.json /data/${APPLICATION}/config/whitelist.json
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -f /data/${APPLICATION}/config/config.toml ]; then
|
|
||||||
cp /data/${APPLICATION}/config.toml /data/${APPLICATION}/config/config.toml
|
|
||||||
fi
|
|
||||||
|
|
||||||
/data/${APPLICATION}/${APPLICATION} -cfg /data/${APPLICATION}/config/config.toml > /data/${APPLICATION}/log/run.log 2>&1 &
|
|
||||||
|
|
||||||
sleep 30
|
|
||||||
|
|
||||||
while [[ true ]]; do
|
|
||||||
# Failure Circuit Breaker
|
|
||||||
curl -f --max-time 5 -retry 3 http://127.0.0.1:80/api/healthcheck || exit 1
|
|
||||||
sleep 120
|
|
||||||
done
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
FROM wjqserver/caddy:2.9.1-alpine AS builder
|
FROM alpine:latest AS builder
|
||||||
|
|
||||||
ARG USER=WJQSERVER-STUDIO
|
ARG USER=WJQSERVER-STUDIO
|
||||||
ARG REPO=ghproxy
|
ARG REPO=ghproxy
|
||||||
|
|
@ -27,7 +27,7 @@ RUN VERSION=$(curl -s https://raw.githubusercontent.com/${USER}/${REPO}/main/VER
|
||||||
RUN wget -O /usr/local/bin/init.sh https://raw.githubusercontent.com/${USER}/${REPO}/main/docker/dockerfile/release/init.sh
|
RUN wget -O /usr/local/bin/init.sh https://raw.githubusercontent.com/${USER}/${REPO}/main/docker/dockerfile/release/init.sh
|
||||||
|
|
||||||
# 拉取配置
|
# 拉取配置
|
||||||
RUN wget -O /data/caddy/Caddyfile https://raw.githubusercontent.com/${USER}/${REPO}/main/caddyfile/release/Caddyfile
|
#RUN wget -O /data/caddy/Caddyfile https://raw.githubusercontent.com/${USER}/${REPO}/main/caddyfile/release/Caddyfile
|
||||||
RUN wget -O /data/${APPLICATION}/config.toml https://raw.githubusercontent.com/${USER}/${REPO}/main/config/config.toml
|
RUN wget -O /data/${APPLICATION}/config.toml https://raw.githubusercontent.com/${USER}/${REPO}/main/config/config.toml
|
||||||
RUN wget -O /data/${APPLICATION}/blacklist.json https://raw.githubusercontent.com/${USER}/${REPO}/main/config/blacklist.json
|
RUN wget -O /data/${APPLICATION}/blacklist.json https://raw.githubusercontent.com/${USER}/${REPO}/main/config/blacklist.json
|
||||||
RUN wget -O /data/${APPLICATION}/whitelist.json https://raw.githubusercontent.com/${USER}/${REPO}/main/config/whitelist.json
|
RUN wget -O /data/${APPLICATION}/whitelist.json https://raw.githubusercontent.com/${USER}/${REPO}/main/config/whitelist.json
|
||||||
|
|
@ -36,12 +36,12 @@ RUN wget -O /data/${APPLICATION}/whitelist.json https://raw.githubusercontent.co
|
||||||
RUN chmod +x /data/${APPLICATION}/${APPLICATION}
|
RUN chmod +x /data/${APPLICATION}/${APPLICATION}
|
||||||
RUN chmod +x /usr/local/bin/init.sh
|
RUN chmod +x /usr/local/bin/init.sh
|
||||||
|
|
||||||
FROM wjqserver/caddy:2.9.1-alpine
|
FROM alpine:latest
|
||||||
|
|
||||||
RUN apk add --no-cache curl
|
RUN apk add --no-cache curl
|
||||||
|
|
||||||
COPY --from=builder /data/www /data/www
|
COPY --from=builder /data/www /data/www
|
||||||
COPY --from=builder /data/caddy /data/caddy
|
#COPY --from=builder /data/caddy /data/caddy
|
||||||
COPY --from=builder /data/${APPLICATION} /data/${APPLICATION}
|
COPY --from=builder /data/${APPLICATION} /data/${APPLICATION}
|
||||||
COPY --from=builder /usr/local/bin/init.sh /usr/local/bin/init.sh
|
COPY --from=builder /usr/local/bin/init.sh /usr/local/bin/init.sh
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue