mirror of
https://github.com/bolucat/Archive.git
synced 2025-09-26 20:21:35 +08:00
Update On Tue May 6 20:37:20 CEST 2025
This commit is contained in:
1
.github/update.log
vendored
1
.github/update.log
vendored
@@ -990,3 +990,4 @@ Update On Fri May 2 20:35:50 CEST 2025
|
||||
Update On Sat May 3 20:32:58 CEST 2025
|
||||
Update On Sun May 4 20:34:09 CEST 2025
|
||||
Update On Mon May 5 20:33:21 CEST 2025
|
||||
Update On Tue May 6 20:37:12 CEST 2025
|
||||
|
48
clash-nyanpasu/backend/Cargo.lock
generated
48
clash-nyanpasu/backend/Cargo.lock
generated
@@ -6402,9 +6402,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "oxc_allocator"
|
||||
version = "0.68.0"
|
||||
version = "0.68.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "614bb39c337ef65f7b6b1af9dd8b0df1dc3d4fad46036727f53f99082b058d9c"
|
||||
checksum = "d3da7bc2d06c0fd029c7817889b1e4d418f4955c25c003d5a9ea4a525db8fce9"
|
||||
dependencies = [
|
||||
"allocator-api2",
|
||||
"bumpalo",
|
||||
@@ -6416,9 +6416,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "oxc_ast"
|
||||
version = "0.68.0"
|
||||
version = "0.68.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2a796a8cf6b881de8a9ff90427ab77254ab7e587506803d307f7319f1b2f87cb"
|
||||
checksum = "9a83d102ba84b604cf24be6b943c3347f13740afa97304461d798f2598d4a92e"
|
||||
dependencies = [
|
||||
"bitflags 2.9.0",
|
||||
"cow-utils",
|
||||
@@ -6433,9 +6433,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "oxc_ast_macros"
|
||||
version = "0.68.0"
|
||||
version = "0.68.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "486e6f4acd3589e8f084e25dfc1f98e3db72e497993be000d49f23e511747d58"
|
||||
checksum = "6e03da9a237d05fa378e3398a5a2c28124a387ff666218c1ca4ebfe5f0544d3d"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@@ -6444,9 +6444,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "oxc_ast_visit"
|
||||
version = "0.68.0"
|
||||
version = "0.68.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "02fe91e117c53ded769c6fad3ae5a95bece5a34473894b1bbb3d1a36da8bba86"
|
||||
checksum = "f97a1716d68a3c9a0c9cf1d906eaeaa3a806052f91d8e4ef14e6afc50d515132"
|
||||
dependencies = [
|
||||
"oxc_allocator",
|
||||
"oxc_ast",
|
||||
@@ -6456,15 +6456,15 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "oxc_data_structures"
|
||||
version = "0.68.0"
|
||||
version = "0.68.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cbdf09e24cb633e0359967ffe034b6df87693c1b2481b329c16e96944240174e"
|
||||
checksum = "a9603941570dc1dbc111e6312d622d60722395b502aa68e703646beacc45d0d2"
|
||||
|
||||
[[package]]
|
||||
name = "oxc_diagnostics"
|
||||
version = "0.68.0"
|
||||
version = "0.68.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8e11cf9fb4091d35a346383a68f57954e50affe32f08761a29029dd6499c424f"
|
||||
checksum = "a01184ff8ddf40a39c5ec4b0979b53e6e3f8e5701e4a0aed8edefd208ae310eb"
|
||||
dependencies = [
|
||||
"cow-utils",
|
||||
"oxc-miette",
|
||||
@@ -6472,9 +6472,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "oxc_ecmascript"
|
||||
version = "0.68.0"
|
||||
version = "0.68.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "47c50cbc189fc3a469cd58afe32a816b3172c3260f2bac4bdcfedd2fd1e36b8e"
|
||||
checksum = "d549b884069d155eae98207c404b71113dc8fce2bea84dc53e8476a221405a83"
|
||||
dependencies = [
|
||||
"cow-utils",
|
||||
"num-bigint",
|
||||
@@ -6486,9 +6486,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "oxc_estree"
|
||||
version = "0.68.0"
|
||||
version = "0.68.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3e61f56a76c729ebcbf90b4679ef2d8de86d241a1e99e5ea8114b7edd3cdcfed"
|
||||
checksum = "66904246cb3ceef3c7f9dd4b3a79bb104b242d8e442eb94f6097cec241a0eec4"
|
||||
|
||||
[[package]]
|
||||
name = "oxc_index"
|
||||
@@ -6498,9 +6498,9 @@ checksum = "2fa07b0cfa997730afed43705766ef27792873fdf5215b1391949fec678d2392"
|
||||
|
||||
[[package]]
|
||||
name = "oxc_parser"
|
||||
version = "0.68.0"
|
||||
version = "0.68.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "084b27b8d3384ff6d7eca724656ddbd736cc39b89f82fac50d8237b42b65ef64"
|
||||
checksum = "a662d53b21550ca1a5600f70d033fcec40b2a25ba2b5281ecaf2ecd01cb16559"
|
||||
dependencies = [
|
||||
"bitflags 2.9.0",
|
||||
"cow-utils",
|
||||
@@ -6521,9 +6521,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "oxc_regular_expression"
|
||||
version = "0.68.0"
|
||||
version = "0.68.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "03ecf15450387d3815bb31bf4c838246365c9a2e0a262826c40144029027ae22"
|
||||
checksum = "c53f760363c78764bb28b8e0f8316d9c28adf89a0ddfba625c8a9f465f4e2199"
|
||||
dependencies = [
|
||||
"oxc_allocator",
|
||||
"oxc_ast_macros",
|
||||
@@ -6537,9 +6537,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "oxc_span"
|
||||
version = "0.68.0"
|
||||
version = "0.68.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8fab02561bd17da92c7099af25b0a2acfdaaee5e238e20c7446172b1fafca399"
|
||||
checksum = "8f8e3cd484054ea0ce496e16437d802d4d9126e238deb267796db140a80d91dc"
|
||||
dependencies = [
|
||||
"compact_str",
|
||||
"oxc-miette",
|
||||
@@ -6550,9 +6550,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "oxc_syntax"
|
||||
version = "0.68.0"
|
||||
version = "0.68.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bed8a4b7c18db64964273e88371ab4e5e1f3b3182d96ce9b89ee1256a0439617"
|
||||
checksum = "8933bda357ccc13260bb2fe3a08f02d98ceeb695c9af04d8ec5913edd9bec6d6"
|
||||
dependencies = [
|
||||
"bitflags 2.9.0",
|
||||
"cow-utils",
|
||||
|
@@ -11,7 +11,7 @@
|
||||
"build": "tsc"
|
||||
},
|
||||
"dependencies": {
|
||||
"@tanstack/react-query": "5.75.2",
|
||||
"@tanstack/react-query": "5.75.4",
|
||||
"@tauri-apps/api": "2.5.0",
|
||||
"ahooks": "3.8.4",
|
||||
"dayjs": "1.11.13",
|
||||
|
@@ -30,7 +30,7 @@
|
||||
"country-code-emoji": "2.3.0",
|
||||
"country-emoji": "1.5.6",
|
||||
"dayjs": "1.11.13",
|
||||
"framer-motion": "12.9.2",
|
||||
"framer-motion": "12.9.7",
|
||||
"i18next": "25.0.2",
|
||||
"jotai": "2.12.3",
|
||||
"json-schema": "0.4.0",
|
||||
@@ -56,7 +56,7 @@
|
||||
"@emotion/react": "11.14.0",
|
||||
"@iconify/json": "2.2.335",
|
||||
"@monaco-editor/react": "4.7.0",
|
||||
"@tanstack/react-query": "5.75.2",
|
||||
"@tanstack/react-query": "5.75.4",
|
||||
"@tanstack/react-router": "1.119.0",
|
||||
"@tanstack/react-router-devtools": "1.119.1",
|
||||
"@tanstack/router-plugin": "1.119.0",
|
||||
|
@@ -15,15 +15,15 @@
|
||||
"@mui/icons-material": "7.0.2",
|
||||
"@mui/lab": "7.0.0-beta.11",
|
||||
"@mui/material": "7.0.2",
|
||||
"@radix-ui/react-portal": "1.1.6",
|
||||
"@radix-ui/react-scroll-area": "1.2.6",
|
||||
"@radix-ui/react-portal": "1.1.8",
|
||||
"@radix-ui/react-scroll-area": "1.2.8",
|
||||
"@tauri-apps/api": "2.5.0",
|
||||
"@types/d3": "7.4.3",
|
||||
"@types/react": "19.1.2",
|
||||
"@vitejs/plugin-react": "4.4.1",
|
||||
"ahooks": "3.8.4",
|
||||
"d3": "7.9.0",
|
||||
"framer-motion": "12.9.2",
|
||||
"framer-motion": "12.9.7",
|
||||
"react": "19.1.0",
|
||||
"react-dom": "19.1.0",
|
||||
"react-error-boundary": "6.0.0",
|
||||
|
@@ -5,7 +5,7 @@
|
||||
"mihomo_alpha": "alpha-50d7834",
|
||||
"clash_rs": "v0.7.7",
|
||||
"clash_premium": "2023-09-05-gdcc8d87",
|
||||
"clash_rs_alpha": "0.7.7-alpha+sha.a1e13ce"
|
||||
"clash_rs_alpha": "0.7.7-alpha+sha.f795bf6"
|
||||
},
|
||||
"arch_template": {
|
||||
"mihomo": {
|
||||
@@ -69,5 +69,5 @@
|
||||
"linux-armv7hf": "clash-armv7-unknown-linux-gnueabihf"
|
||||
}
|
||||
},
|
||||
"updated_at": "2025-05-04T22:20:50.432Z"
|
||||
"updated_at": "2025-05-05T22:21:11.764Z"
|
||||
}
|
||||
|
82
clash-nyanpasu/pnpm-lock.yaml
generated
82
clash-nyanpasu/pnpm-lock.yaml
generated
@@ -172,8 +172,8 @@ importers:
|
||||
frontend/interface:
|
||||
dependencies:
|
||||
'@tanstack/react-query':
|
||||
specifier: 5.75.2
|
||||
version: 5.75.2(react@19.1.0)
|
||||
specifier: 5.75.4
|
||||
version: 5.75.4(react@19.1.0)
|
||||
'@tauri-apps/api':
|
||||
specifier: 2.5.0
|
||||
version: 2.5.0
|
||||
@@ -266,8 +266,8 @@ importers:
|
||||
specifier: 1.11.13
|
||||
version: 1.11.13
|
||||
framer-motion:
|
||||
specifier: 12.9.2
|
||||
version: 12.9.2(@emotion/is-prop-valid@1.3.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||
specifier: 12.9.7
|
||||
version: 12.9.7(@emotion/is-prop-valid@1.3.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||
i18next:
|
||||
specifier: 25.0.2
|
||||
version: 25.0.2(typescript@5.8.3)
|
||||
@@ -339,8 +339,8 @@ importers:
|
||||
specifier: 4.7.0
|
||||
version: 4.7.0(monaco-editor@0.52.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||
'@tanstack/react-query':
|
||||
specifier: 5.75.2
|
||||
version: 5.75.2(react@19.1.0)
|
||||
specifier: 5.75.4
|
||||
version: 5.75.4(react@19.1.0)
|
||||
'@tanstack/react-router':
|
||||
specifier: 1.119.0
|
||||
version: 1.119.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||
@@ -462,11 +462,11 @@ importers:
|
||||
specifier: 7.0.2
|
||||
version: 7.0.2(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@types/react@19.1.2)(react@19.1.0))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||
'@radix-ui/react-portal':
|
||||
specifier: 1.1.6
|
||||
version: 1.1.6(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||
specifier: 1.1.8
|
||||
version: 1.1.8(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||
'@radix-ui/react-scroll-area':
|
||||
specifier: 1.2.6
|
||||
version: 1.2.6(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||
specifier: 1.2.8
|
||||
version: 1.2.8(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||
'@tauri-apps/api':
|
||||
specifier: 2.5.0
|
||||
version: 2.5.0
|
||||
@@ -486,8 +486,8 @@ importers:
|
||||
specifier: 7.9.0
|
||||
version: 7.9.0
|
||||
framer-motion:
|
||||
specifier: 12.9.2
|
||||
version: 12.9.2(@emotion/is-prop-valid@1.3.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||
specifier: 12.9.7
|
||||
version: 12.9.7(@emotion/is-prop-valid@1.3.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||
react:
|
||||
specifier: 19.1.0
|
||||
version: 19.1.0
|
||||
@@ -2308,8 +2308,8 @@ packages:
|
||||
'@types/react':
|
||||
optional: true
|
||||
|
||||
'@radix-ui/react-portal@1.1.6':
|
||||
resolution: {integrity: sha512-XmsIl2z1n/TsYFLIdYam2rmFwf9OC/Sh2avkbmVMDuBZIe7hSpM0cYnWPAo7nHOVx8zTuwDZGByfcqLdnzp3Vw==}
|
||||
'@radix-ui/react-portal@1.1.8':
|
||||
resolution: {integrity: sha512-hQsTUIn7p7fxCPvao/q6wpbxmCwgLrlz+nOrJgC+RwfZqWY/WN+UMqkXzrtKbPrF82P43eCTl3ekeKuyAQbFeg==}
|
||||
peerDependencies:
|
||||
'@types/react': '*'
|
||||
'@types/react-dom': '*'
|
||||
@@ -2334,8 +2334,8 @@ packages:
|
||||
'@types/react-dom':
|
||||
optional: true
|
||||
|
||||
'@radix-ui/react-primitive@2.1.0':
|
||||
resolution: {integrity: sha512-/J/FhLdK0zVcILOwt5g+dH4KnkonCtkVJsa2G6JmvbbtZfBEI1gMsO3QMjseL4F/SwfAMt1Vc/0XKYKq+xJ1sw==}
|
||||
'@radix-ui/react-primitive@2.1.2':
|
||||
resolution: {integrity: sha512-uHa+l/lKfxuDD2zjN/0peM/RhhSmRjr5YWdk/37EnSv1nJ88uvG85DPexSm8HdFQROd2VdERJ6ynXbkCFi+APw==}
|
||||
peerDependencies:
|
||||
'@types/react': '*'
|
||||
'@types/react-dom': '*'
|
||||
@@ -2347,8 +2347,8 @@ packages:
|
||||
'@types/react-dom':
|
||||
optional: true
|
||||
|
||||
'@radix-ui/react-scroll-area@1.2.6':
|
||||
resolution: {integrity: sha512-lj8OMlpPERXrQIHlEQdlXHJoRT52AMpBrgyPYylOhXYq5e/glsEdtOc/kCQlsTdtgN5U0iDbrrolDadvektJGQ==}
|
||||
'@radix-ui/react-scroll-area@1.2.8':
|
||||
resolution: {integrity: sha512-K5h1RkYA6M0Sn61BV5LQs686zqBsSC0sGzL4/Gw4mNnjzrQcGSc6YXfC6CRFNaGydSdv5+M8cb0eNsOGo0OXtQ==}
|
||||
peerDependencies:
|
||||
'@types/react': '*'
|
||||
'@types/react-dom': '*'
|
||||
@@ -2360,8 +2360,8 @@ packages:
|
||||
'@types/react-dom':
|
||||
optional: true
|
||||
|
||||
'@radix-ui/react-slot@1.2.0':
|
||||
resolution: {integrity: sha512-ujc+V6r0HNDviYqIK3rW4ffgYiZ8g5DEHrGJVk4x7kTlLXRDILnKX9vAUYeIsLOoDpDJ0ujpqMkjH4w2ofuo6w==}
|
||||
'@radix-ui/react-slot@1.2.2':
|
||||
resolution: {integrity: sha512-y7TBO4xN4Y94FvcWIOIh18fM4R1A8S4q1jhoz4PNzOoHsFcN8pogcFmZrTYAm4F9VRUrWP/Mw7xSKybIeRI+CQ==}
|
||||
peerDependencies:
|
||||
'@types/react': '*'
|
||||
react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
|
||||
@@ -2808,11 +2808,11 @@ packages:
|
||||
resolution: {integrity: sha512-Wo1iKt2b9OT7d+YGhvEPD3DXvPv2etTusIMhMUoG7fbhmxcXCtIjJDEygy91Y2JFlwGyjqiBPRozme7UD8hoqg==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
'@tanstack/query-core@5.75.0':
|
||||
resolution: {integrity: sha512-rk8KQuCdhoRkzjRVF3QxLgAfFUyS0k7+GCQjlGEpEGco+qazJ0eMH6aO1DjDjibH7/ik383nnztua3BG+lOnwg==}
|
||||
'@tanstack/query-core@5.75.4':
|
||||
resolution: {integrity: sha512-pcqOUgWG9oGlzkfRQQMMsEFmtQu0wq81A414CtELZGq+ztVwSTAaoB3AZRAXQJs88LmNMk2YpUKuQbrvzNDyRg==}
|
||||
|
||||
'@tanstack/react-query@5.75.2':
|
||||
resolution: {integrity: sha512-8F8VOsWUfSkCFoi62O9HSZT9jDgg28Ln8Z2dYKfRo/O2A0sgvr0uxTuNoon3PPXoDuHofv5V3elBI1M2Gh1MPg==}
|
||||
'@tanstack/react-query@5.75.4':
|
||||
resolution: {integrity: sha512-Vf65pzYRkf8fk9SP1ncIZjvaXszBhtsvpf+h45Y/9kOywOrVZfBGUpCdffdsVzbmBzmz6TCFes9bM0d3pRrIsA==}
|
||||
peerDependencies:
|
||||
react: ^18 || ^19
|
||||
|
||||
@@ -4905,8 +4905,8 @@ packages:
|
||||
fraction.js@4.3.7:
|
||||
resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
|
||||
|
||||
framer-motion@12.9.2:
|
||||
resolution: {integrity: sha512-R0O3Jdqbfwywpm45obP+8sTgafmdEcUoShQTAV+rB5pi+Y1Px/FYL5qLLRe5tPtBdN1J4jos7M+xN2VV2oEAbQ==}
|
||||
framer-motion@12.9.7:
|
||||
resolution: {integrity: sha512-Eo5TYU6sEPPy82GDx32PJm++G+AkBCrzxtEQOWLnpQX896Q3LFrsYhMZ5YO5ct4wL7wyHU6hqlrpYXeexKAevg==}
|
||||
peerDependencies:
|
||||
'@emotion/is-prop-valid': '*'
|
||||
react: ^18.0.0 || ^19.0.0
|
||||
@@ -6224,8 +6224,8 @@ packages:
|
||||
peerDependencies:
|
||||
monaco-editor: '>=0.36'
|
||||
|
||||
motion-dom@12.9.4:
|
||||
resolution: {integrity: sha512-25TWkQPj5I18m+qVjXGtCsxboY11DaRC5HMjd29tHKExazW4Zf4XtAagBdLpyKsVuAxEQ6cx5/E4AB21PFpLnQ==}
|
||||
motion-dom@12.9.6:
|
||||
resolution: {integrity: sha512-IK9pm5zU8BIp3FCoUGF3T7AHVLVOlXxlwco/bIbcnpBtyYb2gDQhdOzUh2KSDJVjYl1MZ9vdq8tnFTTahX2lfg==}
|
||||
|
||||
motion-utils@12.9.4:
|
||||
resolution: {integrity: sha512-BW3I65zeM76CMsfh3kHid9ansEJk9Qvl+K5cu4DVHKGsI52n76OJ4z2CUJUV+Mn3uEP9k1JJA3tClG0ggSrRcg==}
|
||||
@@ -10389,9 +10389,9 @@ snapshots:
|
||||
optionalDependencies:
|
||||
'@types/react': 19.1.2
|
||||
|
||||
'@radix-ui/react-portal@1.1.6(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
|
||||
'@radix-ui/react-portal@1.1.8(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
|
||||
dependencies:
|
||||
'@radix-ui/react-primitive': 2.1.0(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||
'@radix-ui/react-primitive': 2.1.2(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||
'@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0)
|
||||
react: 19.1.0
|
||||
react-dom: 19.1.0(react@19.1.0)
|
||||
@@ -10409,16 +10409,16 @@ snapshots:
|
||||
'@types/react': 19.1.2
|
||||
'@types/react-dom': 19.1.3(@types/react@19.1.2)
|
||||
|
||||
'@radix-ui/react-primitive@2.1.0(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
|
||||
'@radix-ui/react-primitive@2.1.2(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
|
||||
dependencies:
|
||||
'@radix-ui/react-slot': 1.2.0(@types/react@19.1.2)(react@19.1.0)
|
||||
'@radix-ui/react-slot': 1.2.2(@types/react@19.1.2)(react@19.1.0)
|
||||
react: 19.1.0
|
||||
react-dom: 19.1.0(react@19.1.0)
|
||||
optionalDependencies:
|
||||
'@types/react': 19.1.2
|
||||
'@types/react-dom': 19.1.3(@types/react@19.1.2)
|
||||
|
||||
'@radix-ui/react-scroll-area@1.2.6(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
|
||||
'@radix-ui/react-scroll-area@1.2.8(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
|
||||
dependencies:
|
||||
'@radix-ui/number': 1.1.1
|
||||
'@radix-ui/primitive': 1.1.2
|
||||
@@ -10426,7 +10426,7 @@ snapshots:
|
||||
'@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0)
|
||||
'@radix-ui/react-direction': 1.1.1(@types/react@19.1.2)(react@19.1.0)
|
||||
'@radix-ui/react-presence': 1.1.4(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||
'@radix-ui/react-primitive': 2.1.0(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||
'@radix-ui/react-primitive': 2.1.2(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
|
||||
'@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.2)(react@19.1.0)
|
||||
'@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0)
|
||||
react: 19.1.0
|
||||
@@ -10435,7 +10435,7 @@ snapshots:
|
||||
'@types/react': 19.1.2
|
||||
'@types/react-dom': 19.1.3(@types/react@19.1.2)
|
||||
|
||||
'@radix-ui/react-slot@1.2.0(@types/react@19.1.2)(react@19.1.0)':
|
||||
'@radix-ui/react-slot@1.2.2(@types/react@19.1.2)(react@19.1.0)':
|
||||
dependencies:
|
||||
'@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0)
|
||||
react: 19.1.0
|
||||
@@ -10818,11 +10818,11 @@ snapshots:
|
||||
dependencies:
|
||||
remove-accents: 0.5.0
|
||||
|
||||
'@tanstack/query-core@5.75.0': {}
|
||||
'@tanstack/query-core@5.75.4': {}
|
||||
|
||||
'@tanstack/react-query@5.75.2(react@19.1.0)':
|
||||
'@tanstack/react-query@5.75.4(react@19.1.0)':
|
||||
dependencies:
|
||||
'@tanstack/query-core': 5.75.0
|
||||
'@tanstack/query-core': 5.75.4
|
||||
react: 19.1.0
|
||||
|
||||
'@tanstack/react-router-devtools@1.119.1(@tanstack/react-router@1.119.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@tanstack/router-core@1.119.0)(csstype@3.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(tiny-invariant@1.3.3)':
|
||||
@@ -13330,9 +13330,9 @@ snapshots:
|
||||
|
||||
fraction.js@4.3.7: {}
|
||||
|
||||
framer-motion@12.9.2(@emotion/is-prop-valid@1.3.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
|
||||
framer-motion@12.9.7(@emotion/is-prop-valid@1.3.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
|
||||
dependencies:
|
||||
motion-dom: 12.9.4
|
||||
motion-dom: 12.9.6
|
||||
motion-utils: 12.9.4
|
||||
tslib: 2.8.1
|
||||
optionalDependencies:
|
||||
@@ -14770,7 +14770,7 @@ snapshots:
|
||||
vscode-uri: 3.0.8
|
||||
yaml: 2.7.0
|
||||
|
||||
motion-dom@12.9.4:
|
||||
motion-dom@12.9.6:
|
||||
dependencies:
|
||||
motion-utils: 12.9.4
|
||||
|
||||
|
@@ -1,17 +1,22 @@
|
||||
# CONFIG_ARCH_(ENABLE|HAS|HAVE|INLINE|SUPPORTS|USE|WANT|STACKWALK)_.* is not set
|
||||
# CONFIG_ARM64_AS_.* is not set
|
||||
# CONFIG_ARM64_CONT_.*_SHIFT is not set
|
||||
# CONFIG_ARCH_(ENABLE|HAS|HAVE|INLINE|SUPPORTS|USE|WANT|STACKWALK)_.* is not set
|
||||
# CONFIG_AS_.* is not set
|
||||
# CONFIG_CC_(CAN|HAS|IS|VERSION)_.* is not set
|
||||
# CONFIG_CC_IMPLICIT_FALLTHROUGH is not set
|
||||
# CONFIG_CC_NO_ARRAY_BOUNDS is not set
|
||||
CONFIG_CLANG_VERSION=.*
|
||||
# CONFIG_GCC_VERSION is not set
|
||||
CONFIG_FRAME_WARN=.*
|
||||
# CONFIG_GCC10_NO_ARRAY_BOUNDS is not set
|
||||
# CONFIG_GCC_VERSION is not set
|
||||
# CONFIG_HAVE_(?!(ARCH_TIMER|TCM|SMP)).* is not set
|
||||
# CONFIG_INLINE_.* is not set
|
||||
# CONFIG_LD_.* is not set
|
||||
CONFIG_LLD_VERSION=.*
|
||||
CONFIG_PAHOLE_VERSION=.*
|
||||
CONFIG_PAHOLE_HAS_SPLIT_BTF=.*
|
||||
CONFIG_PAHOLE_VERSION=.*
|
||||
CONFIG_PLUGIN_HOSTCC=".*"
|
||||
CONFIG_RUSTC_LLVM_VERSION=.*
|
||||
CONFIG_RUSTC_VERSION=.*
|
||||
# CONFIG_SET_FS is not set
|
||||
# CONFIG_TASKS_.* is not set
|
||||
|
@@ -16,7 +16,7 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=luci-app-amlogic
|
||||
PKG_VERSION:=3.1.251
|
||||
PKG_VERSION:=3.1.252
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_LICENSE:=GPL-2.0 License
|
||||
|
@@ -209,6 +209,14 @@ case $MYDEVICE_NAME in
|
||||
fi
|
||||
SOC="e20c"
|
||||
;;
|
||||
"Radxa E24C")
|
||||
if [ -n "${CURRENT_FDTFILE}" ]; then
|
||||
MYDTB_FDTFILE="${CURRENT_FDTFILE}"
|
||||
else
|
||||
MYDTB_FDTFILE="rk3528-radxa-e24c.dtb"
|
||||
fi
|
||||
SOC="e24c"
|
||||
;;
|
||||
"Ariaboard Photonicat")
|
||||
if [ -n "${CURRENT_FDTFILE}" ]; then
|
||||
MYDTB_FDTFILE="${CURRENT_FDTFILE}"
|
||||
@@ -257,6 +265,14 @@ case $MYDEVICE_NAME in
|
||||
fi
|
||||
SOC="e52c"
|
||||
;;
|
||||
"Radxa E54C")
|
||||
if [ -n "${CURRENT_FDTFILE}" ]; then
|
||||
MYDTB_FDTFILE="${CURRENT_FDTFILE}"
|
||||
else
|
||||
MYDTB_FDTFILE="rk3588s-radxa-e54c.dtb"
|
||||
fi
|
||||
SOC="e54c"
|
||||
;;
|
||||
*) #default
|
||||
if [ -f "/etc/flippy-openwrt-release" ]; then
|
||||
source /etc/flippy-openwrt-release 2>/dev/null
|
||||
@@ -717,7 +733,14 @@ cat >>./etc/crontabs/root <<EOF
|
||||
EOF
|
||||
|
||||
sed -e 's/ttyAMA0/ttyS2/' -i ./etc/inittab
|
||||
[ "${SOC}" != "h28k" ] && [ "${SOC}" != "ht2" ] && sed -e 's/ttyS0/tty1/' -i ./etc/inittab
|
||||
|
||||
[ "${SOC}" != "h28k" ] && \
|
||||
[ "${SOC}" != "h29k" ] && \
|
||||
[ "${SOC}" != "ht2" ] && \
|
||||
[ "${SOC}" != "e20c" ] && \
|
||||
[ "${SOC}" != "e24c" ] && \
|
||||
sed -e 's/ttyS0/tty1/' -i ./etc/inittab
|
||||
|
||||
sss=$(date +%s)
|
||||
ddd=$((sss / 86400))
|
||||
sed -e "s/:0:0:99999:7:::/:${ddd}:0:99999:7:::/" -i ./etc/shadow
|
||||
|
@@ -163,7 +163,7 @@ end
|
||||
local force_https_soa = uci:get(appname, "@global[0]", "force_https_soa") or 1
|
||||
local proxy_server_name = "passwall-proxy-server"
|
||||
config_lines = {
|
||||
tonumber(force_https_soa) == 1 and "force-qtype-SOA 65" or "force-qtype-SOA -65",
|
||||
tonumber(force_https_soa) == 1 and "force-qtype-SOA 65" or "force-qtype-SOA -,65",
|
||||
"server 114.114.114.114 -bootstrap-dns",
|
||||
DNS_MODE == "socks" and string.format("proxy-server socks5://%s -name %s", REMOTE_PROXY_SERVER, proxy_server_name) or nil
|
||||
}
|
||||
|
@@ -16,16 +16,20 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
platform:
|
||||
- target: x86_64-unknown-linux-gnu
|
||||
toolchain: stable
|
||||
- target: x86_64-unknown-linux-musl
|
||||
toolchain: stable
|
||||
- target: aarch64-unknown-linux-gnu
|
||||
toolchain: stable
|
||||
- target: aarch64-unknown-linux-musl
|
||||
toolchain: stable
|
||||
#- target: mips-unknown-linux-gnu
|
||||
# toolchain: nightly
|
||||
#- target: mipsel-unknown-linux-gnu
|
||||
# toolchain: nightly
|
||||
#- target: mips64el-unknown-linux-gnuabi64
|
||||
# toolchain: nightly
|
||||
- target: mips-unknown-linux-gnu
|
||||
toolchain: nightly
|
||||
- target: mipsel-unknown-linux-gnu
|
||||
toolchain: nightly
|
||||
- target: mips64el-unknown-linux-gnuabi64
|
||||
toolchain: nightly
|
||||
- target: x86_64-unknown-freebsd
|
||||
toolchain: stable
|
||||
- target: x86_64-unknown-netbsd
|
||||
@@ -44,6 +48,10 @@ jobs:
|
||||
toolchain: stable
|
||||
- target: riscv64gc-unknown-linux-musl
|
||||
toolchain: stable
|
||||
- target: aarch64-linux-android
|
||||
toolchain: stable
|
||||
- target: x86_64-linux-android
|
||||
toolchain: stable
|
||||
|
||||
steps:
|
||||
- name: Free Disk Space (Ubuntu)
|
||||
|
51
shadowsocks-rust/Cargo.lock
generated
51
shadowsocks-rust/Cargo.lock
generated
@@ -1441,7 +1441,7 @@ dependencies = [
|
||||
"tokio-rustls",
|
||||
"tracing",
|
||||
"url",
|
||||
"webpki-roots",
|
||||
"webpki-roots 0.26.11",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1467,7 +1467,7 @@ dependencies = [
|
||||
"tokio",
|
||||
"tokio-rustls",
|
||||
"tracing",
|
||||
"webpki-roots",
|
||||
"webpki-roots 0.26.11",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1577,7 +1577,7 @@ dependencies = [
|
||||
"tokio",
|
||||
"tokio-rustls",
|
||||
"tower-service",
|
||||
"webpki-roots",
|
||||
"webpki-roots 0.26.11",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1897,9 +1897,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "jiff"
|
||||
version = "0.2.12"
|
||||
version = "0.2.13"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d07d8d955d798e7a4d6f9c58cd1f1916e790b42b092758a9ef6e16fef9f1b3fd"
|
||||
checksum = "f02000660d30638906021176af16b17498bd0d12813dbfe7b276d8bc7f3c0806"
|
||||
dependencies = [
|
||||
"jiff-static",
|
||||
"log",
|
||||
@@ -1910,9 +1910,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "jiff-static"
|
||||
version = "0.2.12"
|
||||
version = "0.2.13"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f244cfe006d98d26f859c7abd1318d85327e1882dc9cef80f62daeeb0adcf300"
|
||||
checksum = "f3c30758ddd7188629c6713fc45d1188af4f44c90582311d0c8d8c9907f60c48"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@@ -1952,9 +1952,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "kqueue"
|
||||
version = "1.0.8"
|
||||
version = "1.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7447f1ca1b7b563588a205fe93dea8df60fd981423a768bc1c0ded35ed147d0c"
|
||||
checksum = "8cf0c5a3f977f1cebd92cf05ebb14e1c941c642fb57c9a7d4302455b33ba326f"
|
||||
dependencies = [
|
||||
"kqueue-sys",
|
||||
"libc",
|
||||
@@ -2934,7 +2934,7 @@ dependencies = [
|
||||
"wasm-bindgen",
|
||||
"wasm-bindgen-futures",
|
||||
"web-sys",
|
||||
"webpki-roots",
|
||||
"webpki-roots 0.26.11",
|
||||
"windows-registry",
|
||||
]
|
||||
|
||||
@@ -3070,9 +3070,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "rustls"
|
||||
version = "0.23.26"
|
||||
version = "0.23.27"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "df51b5869f3a441595eac5e8ff14d486ff285f7b8c0df8770e49c3b56351f0f0"
|
||||
checksum = "730944ca083c1c233a75c09f199e973ca499344a2b7ba9e755c457e86fb4a321"
|
||||
dependencies = [
|
||||
"log",
|
||||
"once_cell",
|
||||
@@ -3115,9 +3115,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "rustls-webpki"
|
||||
version = "0.103.1"
|
||||
version = "0.103.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fef8b8769aaccf73098557a87cd1816b4f9c7c16811c9c77142aa695c16f2c03"
|
||||
checksum = "7149975849f1abb3832b246010ef62ccc80d3a76169517ada7188252b9cfb437"
|
||||
dependencies = [
|
||||
"ring",
|
||||
"rustls-pki-types",
|
||||
@@ -3399,7 +3399,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "shadowsocks-rust"
|
||||
version = "1.23.2"
|
||||
version = "1.23.3"
|
||||
dependencies = [
|
||||
"base64",
|
||||
"build-time",
|
||||
@@ -3440,7 +3440,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "shadowsocks-service"
|
||||
version = "1.23.2"
|
||||
version = "1.23.3"
|
||||
dependencies = [
|
||||
"arc-swap",
|
||||
"brotli",
|
||||
@@ -3485,7 +3485,7 @@ dependencies = [
|
||||
"tokio-rustls",
|
||||
"trait-variant",
|
||||
"tun",
|
||||
"webpki-roots",
|
||||
"webpki-roots 1.0.0",
|
||||
"windows-sys 0.59.0",
|
||||
"zstd",
|
||||
]
|
||||
@@ -3872,9 +3872,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
|
||||
|
||||
[[package]]
|
||||
name = "tokio"
|
||||
version = "1.44.2"
|
||||
version = "1.45.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e6b88822cbe49de4185e3a4cbf8321dd487cf5fe0c5c65695fef6346371e9c48"
|
||||
checksum = "2513ca694ef9ede0fb23fe71a4ee4107cb102b9dc1930f6d0fd77aae068ae165"
|
||||
dependencies = [
|
||||
"backtrace",
|
||||
"bytes",
|
||||
@@ -4322,9 +4322,18 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "webpki-roots"
|
||||
version = "0.26.10"
|
||||
version = "0.26.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "37493cadf42a2a939ed404698ded7fb378bf301b5011f973361779a3a74f8c93"
|
||||
checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9"
|
||||
dependencies = [
|
||||
"webpki-roots 1.0.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "webpki-roots"
|
||||
version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2853738d1cc4f2da3a225c18ec6c3721abb31961096e9dbf5ab35fa88b19cfdb"
|
||||
dependencies = [
|
||||
"rustls-pki-types",
|
||||
]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "shadowsocks-rust"
|
||||
version = "1.23.2"
|
||||
version = "1.23.3"
|
||||
authors = ["Shadowsocks Contributors"]
|
||||
description = "shadowsocks is a fast tunnel proxy that helps you bypass firewalls."
|
||||
repository = "https://github.com/shadowsocks/shadowsocks-rust"
|
||||
@@ -242,7 +242,7 @@ jemallocator = { version = "0.5", optional = true }
|
||||
snmalloc-rs = { version = "0.3", optional = true }
|
||||
rpmalloc = { version = "0.2", optional = true }
|
||||
|
||||
shadowsocks-service = { version = "1.23.2", path = "./crates/shadowsocks-service" }
|
||||
shadowsocks-service = { version = "1.23.3", path = "./crates/shadowsocks-service" }
|
||||
|
||||
windows-service = { version = "0.8", optional = true }
|
||||
|
||||
|
10
shadowsocks-rust/Cross-centos.toml
Normal file
10
shadowsocks-rust/Cross-centos.toml
Normal file
@@ -0,0 +1,10 @@
|
||||
[build.env]
|
||||
passthrough = ["RUSTFLAGS"]
|
||||
|
||||
# WARN: GCC 4.8.2 doesn't support <stdatomic.h>
|
||||
[target.x86_64-unknown-linux-gnu]
|
||||
image = "ghcr.io/cross-rs/x86_64-unknown-linux-gnu:main-centos"
|
||||
# GCC 4.8.2 doesn't support ACLE
|
||||
# https://github.com/briansmith/ring/issues/1728
|
||||
# [target.aarch64-unknown-linux-gnu]
|
||||
# image = "ghcr.io/cross-rs/aarch64-unknown-linux-gnu:main-centos"
|
@@ -272,13 +272,19 @@ Requirements:
|
||||
./build/build-release
|
||||
```
|
||||
|
||||
Then `sslocal`, `ssserver`, `ssmanager` and `ssurl` will be packaged in
|
||||
Then `sslocal`, `ssserver`, `ssmanager`, `ssservice` and `ssurl` will be packaged in
|
||||
|
||||
- `./build/shadowsocks-${VERSION}-stable.x86_64-unknown-linux-musl.tar.xz`
|
||||
- `./build/shadowsocks-${VERSION}-stable.x86_64-pc-windows-gnu.zip`
|
||||
|
||||
Read `Cargo.toml` for more details.
|
||||
|
||||
For Linux with low GLIBC versions, set `CROSS_CONFIG` to CentOS based image:
|
||||
|
||||
```bash
|
||||
export CROSS_CONFIG=Cross-centos.toml
|
||||
```
|
||||
|
||||
## Getting Started
|
||||
|
||||
Generate a safe and secured password for a specific encryption method (`aes-128-gcm` in the example) with:
|
||||
@@ -755,6 +761,23 @@ Example configuration:
|
||||
// - uPSK is the user's PSK ("password")
|
||||
// Example:
|
||||
// "password": "3SYJ/f8nmVuzKvKglykRQDSgg10e/ADilkdRWrrY9HU=:4w0GKJ9U3Ox7CIXGU4A3LDQAqP6qrp/tUi/ilpOR9p4="
|
||||
},
|
||||
{
|
||||
"...": "Any other fields",
|
||||
|
||||
// Some optional fields for this specific server
|
||||
|
||||
// Outbound socket options
|
||||
// Linux Only (SO_MARK)
|
||||
"outbound_fwmark": 255,
|
||||
// FreeBSD only (SO_USER_COOKIE)
|
||||
"outbound_user_cookie": 255,
|
||||
// `SO_BINDTODEVICE` (Linux), `IP_BOUND_IF` (BSD), `IP_UNICAST_IF` (Windows) socket option for outbound sockets
|
||||
"outbound_bind_interface": "eth1",
|
||||
// Outbound socket bind() to this IP (choose a specific interface)
|
||||
"outbound_bind_addr": "11.22.33.44",
|
||||
// Outbound UDP socket allows IP fragmentation (default false)
|
||||
"outbound_udp_allow_fragmentation": false,
|
||||
}
|
||||
],
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "shadowsocks-service"
|
||||
version = "1.23.2"
|
||||
version = "1.23.3"
|
||||
authors = ["Shadowsocks Contributors"]
|
||||
description = "shadowsocks is a fast tunnel proxy that helps you bypass firewalls."
|
||||
repository = "https://github.com/shadowsocks/shadowsocks-rust"
|
||||
@@ -149,7 +149,7 @@ tokio = { version = "1.38", features = [
|
||||
] }
|
||||
tokio-native-tls = { version = "0.3", optional = true }
|
||||
native-tls = { version = "0.2.8", optional = true, features = ["alpn"] }
|
||||
webpki-roots = { version = "0.26", optional = true }
|
||||
webpki-roots = { version = "1.0", optional = true }
|
||||
tokio-rustls = { version = "0.26", optional = true, default-features = false, features = [
|
||||
"logging",
|
||||
"tls12",
|
||||
|
@@ -399,6 +399,10 @@ struct SSServerExtConfig {
|
||||
#[cfg(any(target_os = "linux", target_os = "android"))]
|
||||
outbound_fwmark: Option<u32>,
|
||||
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
#[cfg(target_os = "freebsd")]
|
||||
outbound_user_cookie: Option<u32>,
|
||||
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
outbound_bind_addr: Option<IpAddr>,
|
||||
|
||||
@@ -1247,6 +1251,8 @@ pub struct ServerInstanceConfig {
|
||||
/// Server's outbound fwmark / address / interface to support split tunnel
|
||||
#[cfg(any(target_os = "linux", target_os = "android"))]
|
||||
pub outbound_fwmark: Option<u32>,
|
||||
#[cfg(target_os = "freebsd")]
|
||||
pub outbound_user_cookie: Option<u32>,
|
||||
pub outbound_bind_addr: Option<IpAddr>,
|
||||
pub outbound_bind_interface: Option<String>,
|
||||
pub outbound_udp_allow_fragmentation: Option<bool>,
|
||||
@@ -1260,6 +1266,8 @@ impl ServerInstanceConfig {
|
||||
acl: None,
|
||||
#[cfg(any(target_os = "linux", target_os = "android"))]
|
||||
outbound_fwmark: None,
|
||||
#[cfg(target_os = "freebsd")]
|
||||
outbound_user_cookie: None,
|
||||
outbound_bind_addr: None,
|
||||
outbound_bind_interface: None,
|
||||
outbound_udp_allow_fragmentation: None,
|
||||
@@ -1998,29 +2006,7 @@ impl Config {
|
||||
nsvr.set_timeout(timeout);
|
||||
}
|
||||
|
||||
let mut outbound_bind_addr: Option<IpAddr> = None;
|
||||
|
||||
if let Some(ref bind_addr) = config.outbound_bind_addr {
|
||||
match bind_addr.parse::<IpAddr>() {
|
||||
Ok(b) => outbound_bind_addr = Some(b),
|
||||
Err(..) => {
|
||||
let err = Error::new(ErrorKind::Invalid, "invalid outbound_bind_addr", None);
|
||||
return Err(err);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
let server_instance = ServerInstanceConfig {
|
||||
config: nsvr,
|
||||
acl: None,
|
||||
#[cfg(any(target_os = "linux", target_os = "android"))]
|
||||
outbound_fwmark: config.outbound_fwmark,
|
||||
outbound_bind_addr,
|
||||
outbound_bind_interface: config.outbound_bind_interface.clone(),
|
||||
outbound_udp_allow_fragmentation: config.outbound_udp_allow_fragmentation,
|
||||
};
|
||||
|
||||
nconfig.server.push(server_instance);
|
||||
nconfig.server.push(ServerInstanceConfig::with_server_config(nsvr));
|
||||
}
|
||||
(None, None, None, Some(_)) if config_type.is_manager() => {
|
||||
// Set the default method for manager
|
||||
@@ -2192,27 +2178,7 @@ impl Config {
|
||||
nsvr.set_weight(weight);
|
||||
}
|
||||
|
||||
let mut outbound_bind_addr: Option<IpAddr> = None;
|
||||
|
||||
if let Some(ref bind_addr) = config.outbound_bind_addr {
|
||||
match bind_addr.parse::<IpAddr>() {
|
||||
Ok(b) => outbound_bind_addr = Some(b),
|
||||
Err(..) => {
|
||||
let err = Error::new(ErrorKind::Invalid, "invalid outbound_bind_addr", None);
|
||||
return Err(err);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
let mut server_instance = ServerInstanceConfig {
|
||||
config: nsvr,
|
||||
acl: None,
|
||||
#[cfg(any(target_os = "linux", target_os = "android"))]
|
||||
outbound_fwmark: config.outbound_fwmark,
|
||||
outbound_bind_addr,
|
||||
outbound_bind_interface: config.outbound_bind_interface.clone(),
|
||||
outbound_udp_allow_fragmentation: config.outbound_udp_allow_fragmentation,
|
||||
};
|
||||
let mut server_instance = ServerInstanceConfig::with_server_config(nsvr);
|
||||
|
||||
if let Some(acl_path) = svr.acl {
|
||||
let acl = match AccessControl::load_from_file(&acl_path) {
|
||||
@@ -2234,6 +2200,11 @@ impl Config {
|
||||
server_instance.outbound_fwmark = Some(outbound_fwmark);
|
||||
}
|
||||
|
||||
#[cfg(target_os = "freebsd")]
|
||||
if let Some(outbound_user_cookie) = svr.outbound_user_cookie {
|
||||
server_instance.outbound_user_cookie = Some(outbound_user_cookie);
|
||||
}
|
||||
|
||||
if let Some(outbound_bind_addr) = svr.outbound_bind_addr {
|
||||
server_instance.outbound_bind_addr = Some(outbound_bind_addr);
|
||||
}
|
||||
@@ -3063,6 +3034,8 @@ impl fmt::Display for Config {
|
||||
.and_then(|a| a.file_path().to_str().map(ToOwned::to_owned)),
|
||||
#[cfg(any(target_os = "linux", target_os = "android"))]
|
||||
outbound_fwmark: inst.outbound_fwmark,
|
||||
#[cfg(target_os = "freebsd")]
|
||||
outbound_user_cookie: inst.outbound_user_cookie,
|
||||
outbound_bind_addr: inst.outbound_bind_addr,
|
||||
outbound_bind_interface: inst.outbound_bind_interface.clone(),
|
||||
outbound_udp_allow_fragmentation: inst.outbound_udp_allow_fragmentation,
|
||||
|
@@ -101,6 +101,11 @@ impl ServerIdent {
|
||||
connect_opts.fwmark = Some(fwmark);
|
||||
}
|
||||
|
||||
#[cfg(target_os = "freebsd")]
|
||||
if let Some(user_cookie) = svr_cfg.outbound_user_cookie {
|
||||
connect_opts.user_cookie = Some(user_cookie);
|
||||
}
|
||||
|
||||
if let Some(bind_local_addr) = svr_cfg.outbound_bind_addr {
|
||||
connect_opts.bind_local_addr = Some(SocketAddr::new(bind_local_addr, 0));
|
||||
}
|
||||
|
@@ -130,6 +130,8 @@ impl Server {
|
||||
let mut connect_opts = ConnectOpts {
|
||||
#[cfg(any(target_os = "linux", target_os = "android"))]
|
||||
fwmark: config.outbound_fwmark,
|
||||
#[cfg(target_os = "freebsd")]
|
||||
user_cookie: config.outbound_user_cookie,
|
||||
|
||||
#[cfg(target_os = "android")]
|
||||
vpn_protect_path: config.outbound_vpn_protect_path,
|
||||
|
@@ -36,6 +36,8 @@ pub async fn run(config: Config) -> io::Result<()> {
|
||||
let mut connect_opts = ConnectOpts {
|
||||
#[cfg(any(target_os = "linux", target_os = "android"))]
|
||||
fwmark: config.outbound_fwmark,
|
||||
#[cfg(target_os = "freebsd")]
|
||||
user_cookie: config.outbound_user_cookie,
|
||||
|
||||
#[cfg(target_os = "android")]
|
||||
vpn_protect_path: config.outbound_vpn_protect_path,
|
||||
|
@@ -386,6 +386,8 @@ impl Manager {
|
||||
acl: None, // Set with --acl command line argument
|
||||
#[cfg(any(target_os = "linux", target_os = "android"))]
|
||||
outbound_fwmark: None,
|
||||
#[cfg(target_os = "freebsd")]
|
||||
outbound_user_cookie: None,
|
||||
outbound_bind_addr: None,
|
||||
outbound_bind_interface: None,
|
||||
outbound_udp_allow_fragmentation: None,
|
||||
|
@@ -64,6 +64,8 @@ pub async fn run(config: Config) -> io::Result<()> {
|
||||
let mut connect_opts = ConnectOpts {
|
||||
#[cfg(any(target_os = "linux", target_os = "android"))]
|
||||
fwmark: config.outbound_fwmark,
|
||||
#[cfg(target_os = "freebsd")]
|
||||
user_cookie: config.outbound_user_cookie,
|
||||
|
||||
#[cfg(target_os = "android")]
|
||||
vpn_protect_path: config.outbound_vpn_protect_path,
|
||||
@@ -122,6 +124,11 @@ pub async fn run(config: Config) -> io::Result<()> {
|
||||
connect_opts.fwmark = Some(fwmark);
|
||||
}
|
||||
|
||||
#[cfg(target_os = "freebsd")]
|
||||
if let Some(user_cookie) = inst.outbound_user_cookie {
|
||||
connect_opts.user_cookie = Some(user_cookie);
|
||||
}
|
||||
|
||||
if let Some(bind_local_addr) = inst.outbound_bind_addr {
|
||||
connect_opts.bind_local_addr = Some(SocketAddr::new(bind_local_addr, 0));
|
||||
}
|
||||
|
@@ -163,7 +163,7 @@ end
|
||||
local force_https_soa = uci:get(appname, "@global[0]", "force_https_soa") or 1
|
||||
local proxy_server_name = "passwall-proxy-server"
|
||||
config_lines = {
|
||||
tonumber(force_https_soa) == 1 and "force-qtype-SOA 65" or "force-qtype-SOA -65",
|
||||
tonumber(force_https_soa) == 1 and "force-qtype-SOA 65" or "force-qtype-SOA -,65",
|
||||
"server 114.114.114.114 -bootstrap-dns",
|
||||
DNS_MODE == "socks" and string.format("proxy-server socks5://%s -name %s", REMOTE_PROXY_SERVER, proxy_server_name) or nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user