|
|
|
|
|
|
|
|
|
|
|
FROM rust:1.90.0-trixie AS builder |
|
|
|
|
|
WORKDIR /build |
|
|
COPY . . |
|
|
|
|
|
RUN apt-get update && apt-get install -y gcc && \ |
|
|
gcc -std=c99 -shared -fPIC -o libsymbols.so symbols.c && \ |
|
|
cargo build --release |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FROM debian:trixie-slim |
|
|
|
|
|
WORKDIR /app |
|
|
|
|
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \ |
|
|
nodejs npm ca-certificates wget patchelf xz-utils zstd binutils libc6 libgcc1 libstdc++6 \ |
|
|
&& rm -rf /var/lib/apt/lists/* |
|
|
|
|
|
|
|
|
RUN wget -O linuxqq.deb https://dldir1v6.qq.com/qqfile/qq/QQNT/Linux/QQ_3.2.19_250904_amd64_01.deb && \ |
|
|
ar x linuxqq.deb && \ |
|
|
DATA_TAR=$(ls data.tar.*) && \ |
|
|
echo "Extracting $DATA_TAR ..." && \ |
|
|
tar --use-compress-program=unzstd -xvf "$DATA_TAR" ./opt/QQ/resources/app/wrapper.node -O > wrapper.node 2>/dev/null || \ |
|
|
tar -xJf "$DATA_TAR" ./opt/QQ/resources/app/wrapper.node -O > wrapper.node && \ |
|
|
rm -f linuxqq.deb data.tar.* control.tar.* debian-binary && \ |
|
|
patchelf \ |
|
|
--remove-needed libbugly.so \ |
|
|
--remove-needed libX11.so.6 \ |
|
|
--remove-needed libX11-xcb.so.1 \ |
|
|
--remove-needed libXext.so.6 \ |
|
|
--remove-needed libvips-cpp.so.42 \ |
|
|
--add-needed libstdc++.so.6 \ |
|
|
--add-needed libsymbols.so \ |
|
|
wrapper.node |
|
|
|
|
|
|
|
|
COPY --from=builder /build/libsymbols.so /usr/local/lib/libsymbols.so |
|
|
COPY --from=builder /build/target/release/sign /usr/local/bin/sign |
|
|
COPY sign.config.toml /app/ |
|
|
|
|
|
|
|
|
RUN sed -i 's/127\.0\.0\.1/0.0.0.0/g' /app/sign.config.toml || true && \ |
|
|
sed -i 's/8080/7860/g' /app/sign.config.toml || true && \ |
|
|
ldconfig |
|
|
|
|
|
EXPOSE 7860 |
|
|
|
|
|
ENTRYPOINT ["/bin/sh", "-c", "echo '🚀 Sign Server started successfully on 0.0.0.0:7860 with patched wrapper.node'; exec /usr/local/bin/sign"] |
|
|
|