Update sing-box to 1.13.18
This commit is contained in:
+1
-1
@@ -4,7 +4,7 @@ CLIENT_UI_PORT=3456
|
|||||||
CLIENT_PROXY_PORT=8082
|
CLIENT_PROXY_PORT=8082
|
||||||
HARBOR_GATEWAY_CONTROL_PORT=3456
|
HARBOR_GATEWAY_CONTROL_PORT=3456
|
||||||
BASE_IMAGE=debian:bookworm-slim
|
BASE_IMAGE=debian:bookworm-slim
|
||||||
SINGBOX_VERSION=1.12.13
|
SINGBOX_VERSION=1.13.18
|
||||||
INSTALL_RUNTIME_DEPS=true
|
INSTALL_RUNTIME_DEPS=true
|
||||||
INSTALL_SINGBOX=true
|
INSTALL_SINGBOX=true
|
||||||
PROXY_PORT=8080
|
PROXY_PORT=8080
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ env:
|
|||||||
RUNTIME_BASE_SOURCE_IMAGE: mirror.gcr.io/library/debian:bookworm-slim
|
RUNTIME_BASE_SOURCE_IMAGE: mirror.gcr.io/library/debian:bookworm-slim
|
||||||
APT_MIRROR: http://mirror.yandex.ru/debian
|
APT_MIRROR: http://mirror.yandex.ru/debian
|
||||||
APT_SECURITY_MIRROR: http://mirror.yandex.ru/debian-security
|
APT_SECURITY_MIRROR: http://mirror.yandex.ru/debian-security
|
||||||
SINGBOX_VERSION: 1.12.13
|
SINGBOX_VERSION: 1.13.18
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-and-push:
|
build-and-push:
|
||||||
|
|||||||
+1
-1
@@ -13,7 +13,7 @@ COPY monitoring/grafana/harbor-gateway.json ./monitoring/grafana/harbor-gateway.
|
|||||||
RUN npm run build:production
|
RUN npm run build:production
|
||||||
|
|
||||||
FROM ${BASE_IMAGE}
|
FROM ${BASE_IMAGE}
|
||||||
ARG SINGBOX_VERSION=1.12.13
|
ARG SINGBOX_VERSION=1.13.18
|
||||||
ARG INSTALL_RUNTIME_DEPS=true
|
ARG INSTALL_RUNTIME_DEPS=true
|
||||||
ARG INSTALL_SINGBOX=true
|
ARG INSTALL_SINGBOX=true
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -13,7 +13,7 @@ COPY monitoring/grafana/harbor-gateway.json ./monitoring/grafana/harbor-gateway.
|
|||||||
RUN npm run build:production
|
RUN npm run build:production
|
||||||
|
|
||||||
FROM ${RUNTIME_IMAGE}
|
FROM ${RUNTIME_IMAGE}
|
||||||
ARG SINGBOX_VERSION=1.12.13
|
ARG SINGBOX_VERSION=1.13.18
|
||||||
|
|
||||||
RUN apt-get update \
|
RUN apt-get update \
|
||||||
&& apt-get install -y --no-install-recommends ca-certificates curl dumb-init nodejs tar \
|
&& apt-get install -y --no-install-recommends ca-certificates curl dumb-init nodejs tar \
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
ARG BASE_IMAGE=mirror.gcr.io/library/debian:bookworm-slim
|
ARG BASE_IMAGE=mirror.gcr.io/library/debian:bookworm-slim
|
||||||
FROM ${BASE_IMAGE}
|
FROM ${BASE_IMAGE}
|
||||||
ARG SINGBOX_VERSION=1.12.13
|
ARG SINGBOX_VERSION=1.13.18
|
||||||
ARG APT_MIRROR=http://mirror.yandex.ru/debian
|
ARG APT_MIRROR=http://mirror.yandex.ru/debian
|
||||||
ARG APT_SECURITY_MIRROR=http://mirror.yandex.ru/debian-security
|
ARG APT_SECURITY_MIRROR=http://mirror.yandex.ru/debian-security
|
||||||
ARG HTTP_PROXY
|
ARG HTTP_PROXY
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ services:
|
|||||||
context: .
|
context: .
|
||||||
dockerfile: Dockerfile.client
|
dockerfile: Dockerfile.client
|
||||||
args:
|
args:
|
||||||
SINGBOX_VERSION: ${SINGBOX_VERSION:-1.12.13}
|
SINGBOX_VERSION: ${SINGBOX_VERSION:-1.13.18}
|
||||||
container_name: harbor-connect
|
container_name: harbor-connect
|
||||||
environment:
|
environment:
|
||||||
APP_MODE: client
|
APP_MODE: client
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ x-gateway-image: &gateway-image
|
|||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
args:
|
args:
|
||||||
BASE_IMAGE: ${BASE_IMAGE:-debian:bookworm-slim}
|
BASE_IMAGE: ${BASE_IMAGE:-debian:bookworm-slim}
|
||||||
SINGBOX_VERSION: ${SINGBOX_VERSION:-1.12.13}
|
SINGBOX_VERSION: ${SINGBOX_VERSION:-1.13.18}
|
||||||
INSTALL_RUNTIME_DEPS: ${INSTALL_RUNTIME_DEPS:-true}
|
INSTALL_RUNTIME_DEPS: ${INSTALL_RUNTIME_DEPS:-true}
|
||||||
INSTALL_SINGBOX: ${INSTALL_SINGBOX:-true}
|
INSTALL_SINGBOX: ${INSTALL_SINGBOX:-true}
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ GATEWAY_IMAGE="${GATEWAY_IMAGE:-${IMAGE_NAME}:${IMAGE_TAG}}"
|
|||||||
BASE_IMAGE="${BASE_IMAGE:-vpn-proxy-runtime-base:bookworm-slim}"
|
BASE_IMAGE="${BASE_IMAGE:-vpn-proxy-runtime-base:bookworm-slim}"
|
||||||
NODE_BUILD_IMAGE="${NODE_BUILD_IMAGE:-node:20.19-alpine}"
|
NODE_BUILD_IMAGE="${NODE_BUILD_IMAGE:-node:20.19-alpine}"
|
||||||
RUNTIME_BASE_SOURCE_IMAGE="${RUNTIME_BASE_SOURCE_IMAGE:-mirror.gcr.io/library/debian:bookworm-slim}"
|
RUNTIME_BASE_SOURCE_IMAGE="${RUNTIME_BASE_SOURCE_IMAGE:-mirror.gcr.io/library/debian:bookworm-slim}"
|
||||||
SINGBOX_VERSION="${SINGBOX_VERSION:-1.12.13}"
|
SINGBOX_VERSION="${SINGBOX_VERSION:-1.13.18}"
|
||||||
DOCKER_BUILD_PULL="${DOCKER_BUILD_PULL:-false}"
|
DOCKER_BUILD_PULL="${DOCKER_BUILD_PULL:-false}"
|
||||||
INSTALL_RUNTIME_DEPS="${INSTALL_RUNTIME_DEPS:-false}"
|
INSTALL_RUNTIME_DEPS="${INSTALL_RUNTIME_DEPS:-false}"
|
||||||
INSTALL_SINGBOX="${INSTALL_SINGBOX:-false}"
|
INSTALL_SINGBOX="${INSTALL_SINGBOX:-false}"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ set -euo pipefail
|
|||||||
|
|
||||||
BASE_IMAGE="${BASE_IMAGE:-mirror.gcr.io/library/debian:bookworm-slim}"
|
BASE_IMAGE="${BASE_IMAGE:-mirror.gcr.io/library/debian:bookworm-slim}"
|
||||||
RUNTIME_BASE_IMAGE="${RUNTIME_BASE_IMAGE:-vpn-proxy-runtime-base:bookworm-slim}"
|
RUNTIME_BASE_IMAGE="${RUNTIME_BASE_IMAGE:-vpn-proxy-runtime-base:bookworm-slim}"
|
||||||
SINGBOX_VERSION="${SINGBOX_VERSION:-1.12.13}"
|
SINGBOX_VERSION="${SINGBOX_VERSION:-1.13.18}"
|
||||||
APT_MIRROR="${APT_MIRROR:-http://mirror.yandex.ru/debian}"
|
APT_MIRROR="${APT_MIRROR:-http://mirror.yandex.ru/debian}"
|
||||||
APT_SECURITY_MIRROR="${APT_SECURITY_MIRROR:-http://mirror.yandex.ru/debian-security}"
|
APT_SECURITY_MIRROR="${APT_SECURITY_MIRROR:-http://mirror.yandex.ru/debian-security}"
|
||||||
HTTP_PROXY="${HTTP_PROXY:-$(docker info 2>/dev/null | awk -F': ' '/HTTP Proxy:/ {print $2; exit}')}"
|
HTTP_PROXY="${HTTP_PROXY:-$(docker info 2>/dev/null | awk -F': ' '/HTTP Proxy:/ {print $2; exit}')}"
|
||||||
|
|||||||
@@ -111,7 +111,6 @@ export function buildGatewayConfig(subscriptionConfig: unknown, selectedTag: unk
|
|||||||
outbounds: [
|
outbounds: [
|
||||||
vpnOutbound,
|
vpnOutbound,
|
||||||
{ type: 'direct', tag: 'direct' },
|
{ type: 'direct', tag: 'direct' },
|
||||||
{ type: 'block', tag: 'block' },
|
|
||||||
],
|
],
|
||||||
route: {
|
route: {
|
||||||
rule_set: [],
|
rule_set: [],
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
export const HARBOR_VERSIONS = Object.freeze({
|
export const HARBOR_VERSIONS = Object.freeze({
|
||||||
macClient: '0.21.1',
|
macClient: '0.21.2',
|
||||||
gatewayClient: '0.22.0',
|
gatewayClient: '0.22.0',
|
||||||
gatewayBackend: '0.22.2',
|
gatewayBackend: '0.22.3',
|
||||||
});
|
});
|
||||||
|
|
||||||
export interface ParsedVersion {
|
export interface ParsedVersion {
|
||||||
|
|||||||
@@ -154,3 +154,19 @@ test('production paths use only the compiled dispatcher', () => {
|
|||||||
assert.match(legacyBuild, /npm run build:production && docker build/);
|
assert.match(legacyBuild, /npm run build:production && docker build/);
|
||||||
assert.match(dockerignore, /^dist$/m);
|
assert.match(dockerignore, /^dist$/m);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('every shipped build defaults to sing-box 1.13.18', () => {
|
||||||
|
for (const file of [
|
||||||
|
'.env.example',
|
||||||
|
'.gitea/workflows/gateway-build.yml',
|
||||||
|
'Dockerfile',
|
||||||
|
'Dockerfile.client',
|
||||||
|
'Dockerfile.runtime-base',
|
||||||
|
'docker-compose.client.yml',
|
||||||
|
'docker-compose.gateway.yml',
|
||||||
|
'scripts/build-on-107-deploy-111.sh',
|
||||||
|
'scripts/build-runtime-base.sh',
|
||||||
|
]) {
|
||||||
|
assert.match(fs.readFileSync(path.join(root, file), 'utf8'), /SINGBOX_VERSION[^\n]*1\.13\.18/);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|||||||
@@ -70,5 +70,5 @@ test('client keeps its local proxy but routes directly when Harbor Gateway is ah
|
|||||||
{ inbound: ['mixed-in'], outbound: 'direct' },
|
{ inbound: ['mixed-in'], outbound: 'direct' },
|
||||||
]);
|
]);
|
||||||
assert.equal(config.route.final, 'direct');
|
assert.equal(config.route.final, 'direct');
|
||||||
assert.deepEqual(config.outbounds.map((outbound) => outbound.tag), ['test-vpn', 'direct', 'block']);
|
assert.deepEqual(config.outbounds.map((outbound) => outbound.tag), ['test-vpn', 'direct']);
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user