diff --git a/apps/api/internal/middleware/decryptMiddleware.go b/apps/api/internal/middleware/decryptMiddleware.go index d2fcc55..90a8fa9 100644 --- a/apps/api/internal/middleware/decryptMiddleware.go +++ b/apps/api/internal/middleware/decryptMiddleware.go @@ -27,8 +27,6 @@ func NewDecryptMiddleware(c config.Config) *DecryptMiddleware { func (m *DecryptMiddleware) Handle(next http.HandlerFunc) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { - fmt.Printf("[DEBUG] DecryptMiddleware entered, Security.Enable=%v, Login-Type=%q\n", - m.conf.Security.Enable, r.Header.Get("Login-Type")) if !m.conf.Security.Enable { next(w, r) return @@ -89,10 +87,9 @@ func (m *DecryptMiddleware) Handle(next http.HandlerFunc) http.HandlerFunc { httpx.Error(w, xerr.NewErrCode(xerr.DecryptFailed)) return } - fmt.Printf("[DEBUG] decrypted body: %s\n", string(plain)) r.Body = io.NopCloser(bytes.NewBuffer(plain)) - // 防止 httpx.Parse 内部的 r.ParseForm() 消费已替换的 body: - // ParseForm 首行检查 r.PostForm == nil,置空后它不会再读 body。 + // 防止 httpx.Parse 内部 r.ParseForm() 消费已替换的 body。 + // Go 标准库 ParseForm 首行检查 r.PostForm==nil 才读 body,提前置空即可跳过。 r.PostForm = url.Values{} r.ContentLength = int64(len(plain)) } diff --git a/deploy/Dockerfile.admin b/deploy/Dockerfile.admin index cdb8359..2e3a1df 100644 --- a/deploy/Dockerfile.admin +++ b/deploy/Dockerfile.admin @@ -1,12 +1,17 @@ +# syntax=docker/dockerfile:1 FROM golang:1.24-alpine AS builder WORKDIR /app COPY go.mod go.sum ./ -RUN go mod download +RUN --mount=type=cache,target=/root/go/pkg/mod,id=gomodcache \ + --mount=type=cache,target=/root/.cache/go-build,id=gobuildcache \ + go mod download COPY apps/admin ./apps/admin COPY pkg ./pkg -RUN CGO_ENABLED=0 go build -trimpath -o /ppanel-admin ./apps/admin/ppaneladmin.go +RUN --mount=type=cache,target=/root/go/pkg/mod,id=gomodcache \ + --mount=type=cache,target=/root/.cache/go-build,id=gobuildcache \ + CGO_ENABLED=0 go build -trimpath -o /ppanel-admin ./apps/admin/ppaneladmin.go FROM alpine:3.19 RUN apk add --no-cache ca-certificates tzdata diff --git a/deploy/Dockerfile.api b/deploy/Dockerfile.api index f4e1c96..18421e3 100644 --- a/deploy/Dockerfile.api +++ b/deploy/Dockerfile.api @@ -1,12 +1,18 @@ +# syntax=docker/dockerfile:1 FROM golang:1.24-alpine AS builder WORKDIR /app COPY go.mod go.sum ./ +RUN --mount=type=cache,target=/root/go/pkg/mod,id=gomodcache \ + --mount=type=cache,target=/root/.cache/go-build,id=gobuildcache \ + go mod download + COPY apps/api ./apps/api COPY apps/rpc ./apps/rpc COPY pkg ./pkg -RUN go mod download -RUN CGO_ENABLED=0 go build -trimpath -o /ppanel-api ./apps/api/ppanel.go +RUN --mount=type=cache,target=/root/go/pkg/mod,id=gomodcache \ + --mount=type=cache,target=/root/.cache/go-build,id=gobuildcache \ + CGO_ENABLED=0 go build -trimpath -o /ppanel-api ./apps/api/ppanel.go FROM alpine:3.19 RUN apk add --no-cache ca-certificates tzdata diff --git a/deploy/Dockerfile.node b/deploy/Dockerfile.node index b2cc701..1abe2a1 100644 --- a/deploy/Dockerfile.node +++ b/deploy/Dockerfile.node @@ -1,12 +1,17 @@ +# syntax=docker/dockerfile:1 FROM golang:1.24-alpine AS builder WORKDIR /app COPY go.mod go.sum ./ -RUN go mod download +RUN --mount=type=cache,target=/root/go/pkg/mod,id=gomodcache \ + --mount=type=cache,target=/root/.cache/go-build,id=gobuildcache \ + go mod download COPY apps/node ./apps/node COPY pkg ./pkg -RUN CGO_ENABLED=0 go build -trimpath -o /ppanel-node ./apps/node/ppanelnode.go +RUN --mount=type=cache,target=/root/go/pkg/mod,id=gomodcache \ + --mount=type=cache,target=/root/.cache/go-build,id=gobuildcache \ + CGO_ENABLED=0 go build -trimpath -o /ppanel-node ./apps/node/ppanelnode.go FROM alpine:3.19 RUN apk add --no-cache ca-certificates tzdata diff --git a/deploy/Dockerfile.queue b/deploy/Dockerfile.queue index 64c5bb9..a93b1a1 100644 --- a/deploy/Dockerfile.queue +++ b/deploy/Dockerfile.queue @@ -1,12 +1,17 @@ +# syntax=docker/dockerfile:1 FROM golang:1.24-alpine AS builder WORKDIR /app COPY go.mod go.sum ./ -RUN go mod download +RUN --mount=type=cache,target=/root/go/pkg/mod,id=gomodcache \ + --mount=type=cache,target=/root/.cache/go-build,id=gobuildcache \ + go mod download COPY apps/queue ./apps/queue COPY pkg ./pkg -RUN CGO_ENABLED=0 go build -trimpath -o /ppanel-queue ./apps/queue/queue.go +RUN --mount=type=cache,target=/root/go/pkg/mod,id=gomodcache \ + --mount=type=cache,target=/root/.cache/go-build,id=gobuildcache \ + CGO_ENABLED=0 go build -trimpath -o /ppanel-queue ./apps/queue/queue.go FROM alpine:3.19 RUN apk add --no-cache ca-certificates tzdata diff --git a/deploy/Dockerfile.rpc-core b/deploy/Dockerfile.rpc-core index 260c368..80e537d 100644 --- a/deploy/Dockerfile.rpc-core +++ b/deploy/Dockerfile.rpc-core @@ -1,12 +1,17 @@ +# syntax=docker/dockerfile:1 FROM golang:1.24-alpine AS builder WORKDIR /app COPY go.mod go.sum ./ -RUN go mod download +RUN --mount=type=cache,target=/root/go/pkg/mod,id=gomodcache \ + --mount=type=cache,target=/root/.cache/go-build,id=gobuildcache \ + go mod download COPY apps/rpc ./apps/rpc COPY pkg ./pkg -RUN CGO_ENABLED=0 go build -trimpath -o /ppanel-rpc-core ./apps/rpc/core/core.go +RUN --mount=type=cache,target=/root/go/pkg/mod,id=gomodcache \ + --mount=type=cache,target=/root/.cache/go-build,id=gobuildcache \ + CGO_ENABLED=0 go build -trimpath -o /ppanel-rpc-core ./apps/rpc/core/core.go FROM alpine:3.19 RUN apk add --no-cache ca-certificates tzdata diff --git a/deploy/Dockerfile.scheduler b/deploy/Dockerfile.scheduler index 12ecc66..589e9fe 100644 --- a/deploy/Dockerfile.scheduler +++ b/deploy/Dockerfile.scheduler @@ -1,12 +1,17 @@ +# syntax=docker/dockerfile:1 FROM golang:1.24-alpine AS builder WORKDIR /app COPY go.mod go.sum ./ -RUN go mod download +RUN --mount=type=cache,target=/root/go/pkg/mod,id=gomodcache \ + --mount=type=cache,target=/root/.cache/go-build,id=gobuildcache \ + go mod download COPY apps/scheduler ./apps/scheduler COPY pkg ./pkg -RUN CGO_ENABLED=0 go build -trimpath -o /ppanel-scheduler ./apps/scheduler/scheduler.go +RUN --mount=type=cache,target=/root/go/pkg/mod,id=gomodcache \ + --mount=type=cache,target=/root/.cache/go-build,id=gobuildcache \ + CGO_ENABLED=0 go build -trimpath -o /ppanel-scheduler ./apps/scheduler/scheduler.go FROM alpine:3.19 RUN apk add --no-cache ca-certificates tzdata