mirror of
https://github.com/isboyjc/GoProxy.git
synced 2026-05-06 20:02:54 +08:00
- Added support for importing Clash/V2ray subscriptions, including automatic format detection and integration with sing-box for protocol conversion. - Introduced five proxy usage modes in the configuration, allowing flexible selection between mixed, custom-only, and free-only modes. - Enhanced `.env.example` and `docker-compose.yml` to include new environment variables for custom proxy settings. - Updated `CHANGELOG.md` to document new features and improvements related to subscription management. - Improved WebUI for managing subscriptions and displaying proxy statistics. - Implemented a background process for refreshing subscriptions and probing disabled proxies for reactivation.
37 lines
1.1 KiB
Docker
37 lines
1.1 KiB
Docker
# 构建阶段(使用完整 Debian 镜像,内置 gcc,避免 alpine apk 问题)
|
||
FROM golang:1.25 AS builder
|
||
|
||
WORKDIR /app
|
||
COPY go.mod go.sum ./
|
||
RUN go mod download
|
||
|
||
COPY . .
|
||
RUN CGO_ENABLED=1 GOOS=linux go build -o proxy-pool .
|
||
|
||
# 下载 sing-box 二进制
|
||
ARG SINGBOX_VERSION=1.11.8
|
||
RUN ARCH=$(case "$(dpkg --print-architecture)" in amd64) echo "amd64";; arm64) echo "arm64";; *) echo "amd64";; esac) && \
|
||
curl -fsSL "https://github.com/SagerNet/sing-box/releases/download/v${SINGBOX_VERSION}/sing-box-${SINGBOX_VERSION}-linux-${ARCH}.tar.gz" \
|
||
-o /tmp/sing-box.tar.gz && \
|
||
tar -xzf /tmp/sing-box.tar.gz -C /tmp && \
|
||
cp /tmp/sing-box-${SINGBOX_VERSION}-linux-${ARCH}/sing-box /app/sing-box && \
|
||
chmod +x /app/sing-box && \
|
||
rm -rf /tmp/sing-box*
|
||
|
||
# 运行阶段(使用轻量 debian-slim)
|
||
FROM debian:bookworm-slim
|
||
|
||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||
ca-certificates tzdata curl && \
|
||
rm -rf /var/lib/apt/lists/*
|
||
|
||
ENV TZ=Asia/Shanghai
|
||
|
||
WORKDIR /app
|
||
COPY --from=builder /app/proxy-pool .
|
||
COPY --from=builder /app/sing-box /usr/local/bin/sing-box
|
||
|
||
EXPOSE 7776 7777 7778 7779 7780
|
||
|
||
CMD ["./proxy-pool"]
|