Update On Wed Sep 4 20:31:12 CEST 2024

This commit is contained in:
github-action[bot]
2024-09-04 20:31:12 +02:00
parent 88a38087f5
commit baff38e419
45 changed files with 21309 additions and 1031 deletions

1
.github/update.log vendored
View File

@@ -753,3 +753,4 @@ Update On Sat Aug 31 20:34:23 CEST 2024
Update On Sun Sep 1 20:30:49 CEST 2024
Update On Mon Sep 2 20:34:00 CEST 2024
Update On Tue Sep 3 20:32:43 CEST 2024
Update On Wed Sep 4 20:31:01 CEST 2024

View File

@@ -49,18 +49,18 @@
"@csstools/normalize.css": "12.1.1",
"@emotion/babel-plugin": "11.12.0",
"@emotion/react": "11.13.3",
"@iconify/json": "2.2.243",
"@iconify/json": "2.2.244",
"@types/react": "18.3.5",
"@types/react-dom": "18.3.0",
"@vitejs/plugin-react": "4.3.1",
"@vitejs/plugin-react-swc": "3.7.0",
"clsx": "2.1.1",
"sass": "1.77.8",
"sass": "1.78.0",
"shiki": "1.16.1",
"tailwindcss-textshadow": "2.1.3",
"unplugin-auto-import": "0.18.2",
"unplugin-icons": "0.19.2",
"vite": "5.4.2",
"vite": "5.4.3",
"vite-plugin-monaco-editor": "1.1.3",
"vite-plugin-sass-dts": "1.3.25",
"vite-plugin-svgr": "4.2.0",

View File

@@ -33,7 +33,7 @@
"react-error-boundary": "4.0.13",
"react-i18next": "15.0.1",
"react-use": "17.5.1",
"vite": "5.4.2",
"vite": "5.4.3",
"vite-tsconfig-paths": "5.0.1"
},
"devDependencies": {
@@ -41,7 +41,7 @@
"@types/d3-interpolate-path": "2.0.3",
"clsx": "2.1.1",
"d3-interpolate-path": "2.3.0",
"sass": "1.77.8",
"sass": "1.78.0",
"tailwind-merge": "2.5.2",
"typescript-plugin-css-modules": "5.1.0",
"vite-plugin-dts": "4.1.0"

View File

@@ -2,7 +2,7 @@
"manifest_version": 1,
"latest": {
"mihomo": "v1.18.8",
"mihomo_alpha": "alpha-43f21c0",
"mihomo_alpha": "alpha-faaa90f",
"clash_rs": "v0.3.0",
"clash_premium": "2023-09-05-gdcc8d87"
},
@@ -36,5 +36,5 @@
"darwin-x64": "clash-darwin-amd64-n{}.gz"
}
},
"updated_at": "2024-09-02T22:20:32.198Z"
"updated_at": "2024-09-03T22:20:35.876Z"
}

View File

@@ -62,7 +62,7 @@
"@tauri-apps/cli": "1.6.1",
"@types/fs-extra": "11.0.4",
"@types/lodash-es": "4.17.12",
"@types/node": "22.5.2",
"@types/node": "22.5.3",
"@typescript-eslint/eslint-plugin": "8.3.0",
"@typescript-eslint/parser": "8.3.0",
"autoprefixer": "10.4.20",
@@ -81,10 +81,10 @@
"eslint-plugin-react": "7.35.0",
"eslint-plugin-react-compiler": "0.0.0-experimental-f8a5409-20240829",
"eslint-plugin-react-hooks": "4.6.2",
"knip": "5.29.1",
"knip": "5.29.2",
"lint-staged": "15.2.9",
"npm-run-all2": "6.2.2",
"postcss": "8.4.44",
"postcss": "8.4.45",
"postcss-html": "1.7.0",
"postcss-import": "16.1.0",
"postcss-scss": "4.0.9",
@@ -105,7 +105,7 @@
},
"packageManager": "pnpm@9.9.0+sha512.60c18acd138bff695d339be6ad13f7e936eea6745660d4cc4a776d5247c540d0edee1a563695c183a66eb917ef88f2b4feb1fc25f32a7adcadc7aaf3438e99c1",
"engines": {
"node": "22.7.0"
"node": "22.8.0"
},
"pnpm": {
"overrides": {

View File

@@ -24,7 +24,7 @@ importers:
devDependencies:
'@commitlint/cli':
specifier: 19.4.1
version: 19.4.1(@types/node@22.5.2)(typescript@5.5.4)
version: 19.4.1(@types/node@22.5.3)(typescript@5.5.4)
'@commitlint/config-conventional':
specifier: 19.4.1
version: 19.4.1
@@ -41,8 +41,8 @@ importers:
specifier: 4.17.12
version: 4.17.12
'@types/node':
specifier: 22.5.2
version: 22.5.2
specifier: 22.5.3
version: 22.5.3
'@typescript-eslint/eslint-plugin':
specifier: 8.3.0
version: 8.3.0(@typescript-eslint/parser@8.3.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4)
@@ -51,7 +51,7 @@ importers:
version: 8.3.0(eslint@8.57.0)(typescript@5.5.4)
autoprefixer:
specifier: 10.4.20
version: 10.4.20(postcss@8.4.44)
version: 10.4.20(postcss@8.4.45)
conventional-changelog-conventionalcommits:
specifier: 8.0.0
version: 8.0.0
@@ -98,8 +98,8 @@ importers:
specifier: 4.6.2
version: 4.6.2(eslint@8.57.0)
knip:
specifier: 5.29.1
version: 5.29.1(@types/node@22.5.2)(typescript@5.5.4)
specifier: 5.29.2
version: 5.29.2(@types/node@22.5.3)(typescript@5.5.4)
lint-staged:
specifier: 15.2.9
version: 15.2.9
@@ -107,17 +107,17 @@ importers:
specifier: 6.2.2
version: 6.2.2
postcss:
specifier: 8.4.44
version: 8.4.44
specifier: 8.4.45
version: 8.4.45
postcss-html:
specifier: 1.7.0
version: 1.7.0
postcss-import:
specifier: 16.1.0
version: 16.1.0(postcss@8.4.44)
version: 16.1.0(postcss@8.4.45)
postcss-scss:
specifier: 4.0.9
version: 4.0.9(postcss@8.4.44)
version: 4.0.9(postcss@8.4.45)
prettier:
specifier: 3.3.3
version: 3.3.3
@@ -199,7 +199,7 @@ importers:
version: 11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-e948a5ac-20240807)(types-react@19.0.0-rc.1))(react@19.0.0-rc-e948a5ac-20240807)(types-react@19.0.0-rc.1)
'@generouted/react-router':
specifier: 1.19.6
version: 1.19.6(react-router-dom@6.26.1(react-dom@19.0.0-rc-e948a5ac-20240807(react@19.0.0-rc-e948a5ac-20240807))(react@19.0.0-rc-e948a5ac-20240807))(react@19.0.0-rc-e948a5ac-20240807)(vite@5.4.2(@types/node@22.5.2)(less@4.2.0)(sass@1.77.8)(stylus@0.62.0))
version: 1.19.6(react-router-dom@6.26.1(react-dom@19.0.0-rc-e948a5ac-20240807(react@19.0.0-rc-e948a5ac-20240807))(react@19.0.0-rc-e948a5ac-20240807))(react@19.0.0-rc-e948a5ac-20240807)(vite@5.4.3(@types/node@22.5.3)(less@4.2.0)(sass@1.78.0)(stylus@0.62.0))
'@juggle/resize-observer':
specifier: 3.4.0
version: 3.4.0
@@ -301,8 +301,8 @@ importers:
specifier: 11.13.3
version: 11.13.3(react@19.0.0-rc-e948a5ac-20240807)(types-react@19.0.0-rc.1)
'@iconify/json':
specifier: 2.2.243
version: 2.2.243
specifier: 2.2.244
version: 2.2.244
'@types/react':
specifier: npm:types-react@rc
version: types-react@19.0.0-rc.1
@@ -311,16 +311,16 @@ importers:
version: types-react-dom@19.0.0-rc.1
'@vitejs/plugin-react':
specifier: 4.3.1
version: 4.3.1(vite@5.4.2(@types/node@22.5.2)(less@4.2.0)(sass@1.77.8)(stylus@0.62.0))
version: 4.3.1(vite@5.4.3(@types/node@22.5.3)(less@4.2.0)(sass@1.78.0)(stylus@0.62.0))
'@vitejs/plugin-react-swc':
specifier: 3.7.0
version: 3.7.0(vite@5.4.2(@types/node@22.5.2)(less@4.2.0)(sass@1.77.8)(stylus@0.62.0))
version: 3.7.0(vite@5.4.3(@types/node@22.5.3)(less@4.2.0)(sass@1.78.0)(stylus@0.62.0))
clsx:
specifier: 2.1.1
version: 2.1.1
sass:
specifier: 1.77.8
version: 1.77.8
specifier: 1.78.0
version: 1.78.0
shiki:
specifier: 1.16.1
version: 1.16.1
@@ -334,20 +334,20 @@ importers:
specifier: 0.19.2
version: 0.19.2(@svgr/core@8.1.0(typescript@5.5.4))
vite:
specifier: 5.4.2
version: 5.4.2(@types/node@22.5.2)(less@4.2.0)(sass@1.77.8)(stylus@0.62.0)
specifier: 5.4.3
version: 5.4.3(@types/node@22.5.3)(less@4.2.0)(sass@1.78.0)(stylus@0.62.0)
vite-plugin-monaco-editor:
specifier: npm:vite-plugin-monaco-editor-new@1.1.3
version: vite-plugin-monaco-editor-new@1.1.3(monaco-editor@0.51.0)
vite-plugin-sass-dts:
specifier: 1.3.25
version: 1.3.25(postcss@8.4.44)(prettier@3.3.3)(sass@1.77.8)(vite@5.4.2(@types/node@22.5.2)(less@4.2.0)(sass@1.77.8)(stylus@0.62.0))
version: 1.3.25(postcss@8.4.45)(prettier@3.3.3)(sass@1.78.0)(vite@5.4.3(@types/node@22.5.3)(less@4.2.0)(sass@1.78.0)(stylus@0.62.0))
vite-plugin-svgr:
specifier: 4.2.0
version: 4.2.0(rollup@4.21.0)(typescript@5.5.4)(vite@5.4.2(@types/node@22.5.2)(less@4.2.0)(sass@1.77.8)(stylus@0.62.0))
version: 4.2.0(rollup@4.21.0)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.3)(less@4.2.0)(sass@1.78.0)(stylus@0.62.0))
vite-tsconfig-paths:
specifier: 5.0.1
version: 5.0.1(typescript@5.5.4)(vite@5.4.2(@types/node@22.5.2)(less@4.2.0)(sass@1.77.8)(stylus@0.62.0))
version: 5.0.1(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.3)(less@4.2.0)(sass@1.78.0)(stylus@0.62.0))
frontend/ui:
dependencies:
@@ -380,7 +380,7 @@ importers:
version: types-react@19.0.0-rc.1
'@vitejs/plugin-react':
specifier: 4.3.1
version: 4.3.1(vite@5.4.2(@types/node@22.5.2)(less@4.2.0)(sass@1.77.8)(stylus@0.62.0))
version: 4.3.1(vite@5.4.3(@types/node@22.5.3)(less@4.2.0)(sass@1.78.0)(stylus@0.62.0))
ahooks:
specifier: 3.8.1
version: 3.8.1(react@19.0.0-rc-e948a5ac-20240807)
@@ -403,11 +403,11 @@ importers:
specifier: 17.5.1
version: 17.5.1(react-dom@19.0.0-rc-e948a5ac-20240807(react@19.0.0-rc-e948a5ac-20240807))(react@19.0.0-rc-e948a5ac-20240807)
vite:
specifier: 5.4.2
version: 5.4.2(@types/node@22.5.2)(less@4.2.0)(sass@1.77.8)(stylus@0.62.0)
specifier: 5.4.3
version: 5.4.3(@types/node@22.5.3)(less@4.2.0)(sass@1.78.0)(stylus@0.62.0)
vite-tsconfig-paths:
specifier: 5.0.1
version: 5.0.1(typescript@5.5.4)(vite@5.4.2(@types/node@22.5.2)(less@4.2.0)(sass@1.77.8)(stylus@0.62.0))
version: 5.0.1(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.3)(less@4.2.0)(sass@1.78.0)(stylus@0.62.0))
devDependencies:
'@emotion/react':
specifier: 11.13.3
@@ -422,8 +422,8 @@ importers:
specifier: 2.3.0
version: 2.3.0
sass:
specifier: 1.77.8
version: 1.77.8
specifier: 1.78.0
version: 1.78.0
tailwind-merge:
specifier: 2.5.2
version: 2.5.2
@@ -432,7 +432,7 @@ importers:
version: 5.1.0(typescript@5.5.4)
vite-plugin-dts:
specifier: 4.1.0
version: 4.1.0(@types/node@22.5.2)(rollup@4.21.0)(typescript@5.5.4)(vite@5.4.2(@types/node@22.5.2)(less@4.2.0)(sass@1.77.8)(stylus@0.62.0))
version: 4.1.0(@types/node@22.5.3)(rollup@4.21.0)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.3)(less@4.2.0)(sass@1.78.0)(stylus@0.62.0))
scripts:
dependencies:
@@ -1389,8 +1389,8 @@ packages:
'@vue/compiler-sfc':
optional: true
'@iconify/json@2.2.243':
resolution: {integrity: sha512-92pXEKdjDmH8sV3fZwJTxifKpJtp3ie8KD7oCqHRJh/Z+CoGm3bzDcK5UnWs5G5EDbu00kYVcSGM4jRnY9HgGQ==}
'@iconify/json@2.2.244':
resolution: {integrity: sha512-l5wLZMzsyOo1M7aptt5m6Oyh3FMyQvmsEXmca+iojhEt/9V9DkH4rLWsinCqMC+QU401YlwXJx4mesK4QDncNQ==}
'@iconify/types@2.0.0':
resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
@@ -2495,8 +2495,8 @@ packages:
'@types/node@22.5.0':
resolution: {integrity: sha512-DkFrJOe+rfdHTqqMg0bSNlGlQ85hSoh2TPzZyhHsXnMtligRWpxUySiyw8FY14ITt24HVCiQPWxS3KO/QlGmWg==}
'@types/node@22.5.2':
resolution: {integrity: sha512-acJsPTEqYqulZS/Yp/S3GgeE6GZ0qYODUR8aVr/DkhHQ8l9nd4j5x1/ZJy9/gHrRlFMqkO6i0I3E27Alu4jjPg==}
'@types/node@22.5.3':
resolution: {integrity: sha512-njripolh85IA9SQGTAqbmnNZTdxv7X/4OYGPz8tgy5JDr8MP+uDBa921GpYEoDDnwm0Hmn5ZPeJgiiSTPoOzkQ==}
'@types/parse-json@4.0.2':
resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==}
@@ -4626,8 +4626,8 @@ packages:
resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
engines: {node: '>=0.10.0'}
knip@5.29.1:
resolution: {integrity: sha512-l8qFtRqNpCk8xf46VOwhBUva7LBwanoGPJ4KQNwVRl6hmEXStf1BJlfbYRZ+yQpbilbIV6LN+ztX6LaGtyd4TQ==}
knip@5.29.2:
resolution: {integrity: sha512-NfJ3VDyV7gHvI4lVmr9PQCvC4lvrnTdaRMmtHIVBWB2GWWKj86uTw8Yfnp07M+fQeqOnX3AGPG8hjXHPlE1MEw==}
engines: {node: '>=18.6.0'}
hasBin: true
peerDependencies:
@@ -5464,14 +5464,14 @@ packages:
resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==}
engines: {node: ^10 || ^12 || >=14}
postcss@8.4.41:
resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==}
engines: {node: ^10 || ^12 || >=14}
postcss@8.4.44:
resolution: {integrity: sha512-Aweb9unOEpQ3ezu4Q00DPvvM2ZTUitJdNKeP/+uQgr1IBIqu574IaZoURId7BKtWMREwzKa9OgzPzezWGPWFQw==}
engines: {node: ^10 || ^12 || >=14}
postcss@8.4.45:
resolution: {integrity: sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==}
engines: {node: ^10 || ^12 || >=14}
prelude-ls@1.2.1:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
@@ -5851,8 +5851,8 @@ packages:
safer-buffer@2.1.2:
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
sass@1.77.8:
resolution: {integrity: sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==}
sass@1.78.0:
resolution: {integrity: sha512-AaIqGSrjo5lA2Yg7RvFZrlXDBCp3nV4XP73GrLGvdRWWwk+8H3l0SDvq/5bA4eF+0RFPLuWUk3E+P1U/YqnpsQ==}
engines: {node: '>=14.0.0'}
hasBin: true
@@ -6621,8 +6621,8 @@ packages:
vite:
optional: true
vite@5.4.2:
resolution: {integrity: sha512-dDrQTRHp5C1fTFzcSaMxjk6vdpKvT+2/mIdE07Gw2ykehT49O0z/VHS3zZ8iV/Gh8BJJKHWOe5RjaNrW5xf/GA==}
vite@5.4.3:
resolution: {integrity: sha512-IH+nl64eq9lJjFqU+/yrRnrHPVTlgy42/+IzbOdaFDVlyLgI/wDlf+FCobXLX1cT0X5+7LMyH1mIy2xJdLfo8Q==}
engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
peerDependencies:
@@ -7133,11 +7133,11 @@ snapshots:
'@babel/helper-validator-identifier': 7.24.7
to-fast-properties: 2.0.0
'@commitlint/cli@19.4.1(@types/node@22.5.2)(typescript@5.5.4)':
'@commitlint/cli@19.4.1(@types/node@22.5.3)(typescript@5.5.4)':
dependencies:
'@commitlint/format': 19.3.0
'@commitlint/lint': 19.4.1
'@commitlint/load': 19.4.0(@types/node@22.5.2)(typescript@5.5.4)
'@commitlint/load': 19.4.0(@types/node@22.5.3)(typescript@5.5.4)
'@commitlint/read': 19.4.0
'@commitlint/types': 19.0.3
execa: 8.0.1
@@ -7184,7 +7184,7 @@ snapshots:
'@commitlint/rules': 19.4.1
'@commitlint/types': 19.0.3
'@commitlint/load@19.4.0(@types/node@22.5.2)(typescript@5.5.4)':
'@commitlint/load@19.4.0(@types/node@22.5.3)(typescript@5.5.4)':
dependencies:
'@commitlint/config-validator': 19.0.3
'@commitlint/execute-rule': 19.0.0
@@ -7192,7 +7192,7 @@ snapshots:
'@commitlint/types': 19.0.3
chalk: 5.3.0
cosmiconfig: 9.0.0(typescript@5.5.4)
cosmiconfig-typescript-loader: 5.0.0(@types/node@22.5.2)(cosmiconfig@9.0.0(typescript@5.5.4))(typescript@5.5.4)
cosmiconfig-typescript-loader: 5.0.0(@types/node@22.5.3)(cosmiconfig@9.0.0(typescript@5.5.4))(typescript@5.5.4)
lodash.isplainobject: 4.0.6
lodash.merge: 4.6.2
lodash.uniq: 4.5.0
@@ -7650,13 +7650,13 @@ snapshots:
postcss: 7.0.32
purgecss: 2.3.0
'@generouted/react-router@1.19.6(react-router-dom@6.26.1(react-dom@19.0.0-rc-e948a5ac-20240807(react@19.0.0-rc-e948a5ac-20240807))(react@19.0.0-rc-e948a5ac-20240807))(react@19.0.0-rc-e948a5ac-20240807)(vite@5.4.2(@types/node@22.5.2)(less@4.2.0)(sass@1.77.8)(stylus@0.62.0))':
'@generouted/react-router@1.19.6(react-router-dom@6.26.1(react-dom@19.0.0-rc-e948a5ac-20240807(react@19.0.0-rc-e948a5ac-20240807))(react@19.0.0-rc-e948a5ac-20240807))(react@19.0.0-rc-e948a5ac-20240807)(vite@5.4.3(@types/node@22.5.3)(less@4.2.0)(sass@1.78.0)(stylus@0.62.0))':
dependencies:
fast-glob: 3.3.2
generouted: 1.19.6(vite@5.4.2(@types/node@22.5.2)(less@4.2.0)(sass@1.77.8)(stylus@0.62.0))
generouted: 1.19.6(vite@5.4.3(@types/node@22.5.3)(less@4.2.0)(sass@1.78.0)(stylus@0.62.0))
react: 19.0.0-rc-e948a5ac-20240807
react-router-dom: 6.26.1(react-dom@19.0.0-rc-e948a5ac-20240807(react@19.0.0-rc-e948a5ac-20240807))(react@19.0.0-rc-e948a5ac-20240807)
vite: 5.4.2(@types/node@22.5.2)(less@4.2.0)(sass@1.77.8)(stylus@0.62.0)
vite: 5.4.3(@types/node@22.5.3)(less@4.2.0)(sass@1.78.0)(stylus@0.62.0)
'@humanwhocodes/config-array@0.11.14':
dependencies:
@@ -7682,7 +7682,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@iconify/json@2.2.243':
'@iconify/json@2.2.244':
dependencies:
'@iconify/types': 2.0.0
pathe: 1.1.2
@@ -7742,23 +7742,23 @@ snapshots:
'@material/material-color-utilities@0.3.0': {}
'@microsoft/api-extractor-model@7.29.4(@types/node@22.5.2)':
'@microsoft/api-extractor-model@7.29.4(@types/node@22.5.3)':
dependencies:
'@microsoft/tsdoc': 0.15.0
'@microsoft/tsdoc-config': 0.17.0
'@rushstack/node-core-library': 5.5.1(@types/node@22.5.2)
'@rushstack/node-core-library': 5.5.1(@types/node@22.5.3)
transitivePeerDependencies:
- '@types/node'
'@microsoft/api-extractor@7.47.4(@types/node@22.5.2)':
'@microsoft/api-extractor@7.47.4(@types/node@22.5.3)':
dependencies:
'@microsoft/api-extractor-model': 7.29.4(@types/node@22.5.2)
'@microsoft/api-extractor-model': 7.29.4(@types/node@22.5.3)
'@microsoft/tsdoc': 0.15.0
'@microsoft/tsdoc-config': 0.17.0
'@rushstack/node-core-library': 5.5.1(@types/node@22.5.2)
'@rushstack/node-core-library': 5.5.1(@types/node@22.5.3)
'@rushstack/rig-package': 0.5.3
'@rushstack/terminal': 0.13.3(@types/node@22.5.2)
'@rushstack/ts-command-line': 4.22.3(@types/node@22.5.2)
'@rushstack/terminal': 0.13.3(@types/node@22.5.3)
'@rushstack/ts-command-line': 4.22.3(@types/node@22.5.3)
lodash: 4.17.21
minimatch: 3.0.8
resolve: 1.22.8
@@ -8314,7 +8314,7 @@ snapshots:
'@rollup/rollup-win32-x64-msvc@4.21.0':
optional: true
'@rushstack/node-core-library@5.5.1(@types/node@22.5.2)':
'@rushstack/node-core-library@5.5.1(@types/node@22.5.3)':
dependencies:
ajv: 8.13.0
ajv-draft-04: 1.0.0(ajv@8.13.0)
@@ -8325,23 +8325,23 @@ snapshots:
resolve: 1.22.8
semver: 7.5.4
optionalDependencies:
'@types/node': 22.5.2
'@types/node': 22.5.3
'@rushstack/rig-package@0.5.3':
dependencies:
resolve: 1.22.8
strip-json-comments: 3.1.1
'@rushstack/terminal@0.13.3(@types/node@22.5.2)':
'@rushstack/terminal@0.13.3(@types/node@22.5.3)':
dependencies:
'@rushstack/node-core-library': 5.5.1(@types/node@22.5.2)
'@rushstack/node-core-library': 5.5.1(@types/node@22.5.3)
supports-color: 8.1.1
optionalDependencies:
'@types/node': 22.5.2
'@types/node': 22.5.3
'@rushstack/ts-command-line@4.22.3(@types/node@22.5.2)':
'@rushstack/ts-command-line@4.22.3(@types/node@22.5.3)':
dependencies:
'@rushstack/terminal': 0.13.3(@types/node@22.5.2)
'@rushstack/terminal': 0.13.3(@types/node@22.5.3)
'@types/argparse': 1.0.38
argparse: 1.0.10
string-argv: 0.3.2
@@ -8606,12 +8606,12 @@ snapshots:
dependencies:
'@types/http-cache-semantics': 4.0.4
'@types/keyv': 3.1.4
'@types/node': 22.5.2
'@types/node': 22.5.3
'@types/responselike': 1.0.3
'@types/conventional-commits-parser@5.0.0':
dependencies:
'@types/node': 22.5.2
'@types/node': 22.5.3
'@types/d3-array@3.2.1': {}
@@ -8747,7 +8747,7 @@ snapshots:
'@types/fs-extra@11.0.4':
dependencies:
'@types/jsonfile': 6.1.4
'@types/node': 22.5.2
'@types/node': 22.5.3
'@types/geojson@7946.0.14': {}
@@ -8763,11 +8763,11 @@ snapshots:
'@types/jsonfile@6.1.4':
dependencies:
'@types/node': 22.5.2
'@types/node': 22.5.3
'@types/keyv@3.1.4':
dependencies:
'@types/node': 22.5.2
'@types/node': 22.5.3
'@types/lodash-es@4.17.12':
dependencies:
@@ -8787,7 +8787,7 @@ snapshots:
dependencies:
undici-types: 6.19.6
'@types/node@22.5.2':
'@types/node@22.5.3':
dependencies:
undici-types: 6.19.6
@@ -8795,11 +8795,11 @@ snapshots:
'@types/postcss-modules-local-by-default@4.0.2':
dependencies:
postcss: 8.4.44
postcss: 8.4.45
'@types/postcss-modules-scope@3.0.4':
dependencies:
postcss: 8.4.44
postcss: 8.4.45
'@types/prop-types@15.7.12': {}
@@ -8809,7 +8809,7 @@ snapshots:
'@types/responselike@1.0.3':
dependencies:
'@types/node': 22.5.2
'@types/node': 22.5.3
'@types/unist@2.0.10': {}
@@ -8817,7 +8817,7 @@ snapshots:
'@types/yauzl@2.10.3':
dependencies:
'@types/node': 22.5.2
'@types/node': 22.5.3
optional: true
'@typescript-eslint/eslint-plugin@8.3.0(@typescript-eslint/parser@8.3.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4)':
@@ -8903,21 +8903,21 @@ snapshots:
'@ungap/structured-clone@1.2.0': {}
'@vitejs/plugin-react-swc@3.7.0(vite@5.4.2(@types/node@22.5.2)(less@4.2.0)(sass@1.77.8)(stylus@0.62.0))':
'@vitejs/plugin-react-swc@3.7.0(vite@5.4.3(@types/node@22.5.3)(less@4.2.0)(sass@1.78.0)(stylus@0.62.0))':
dependencies:
'@swc/core': 1.6.1
vite: 5.4.2(@types/node@22.5.2)(less@4.2.0)(sass@1.77.8)(stylus@0.62.0)
vite: 5.4.3(@types/node@22.5.3)(less@4.2.0)(sass@1.78.0)(stylus@0.62.0)
transitivePeerDependencies:
- '@swc/helpers'
'@vitejs/plugin-react@4.3.1(vite@5.4.2(@types/node@22.5.2)(less@4.2.0)(sass@1.77.8)(stylus@0.62.0))':
'@vitejs/plugin-react@4.3.1(vite@5.4.3(@types/node@22.5.3)(less@4.2.0)(sass@1.78.0)(stylus@0.62.0))':
dependencies:
'@babel/core': 7.24.5
'@babel/plugin-transform-react-jsx-self': 7.24.5(@babel/core@7.24.5)
'@babel/plugin-transform-react-jsx-source': 7.24.1(@babel/core@7.24.5)
'@types/babel__core': 7.20.5
react-refresh: 0.14.2
vite: 5.4.2(@types/node@22.5.2)(less@4.2.0)(sass@1.77.8)(stylus@0.62.0)
vite: 5.4.3(@types/node@22.5.3)(less@4.2.0)(sass@1.78.0)(stylus@0.62.0)
transitivePeerDependencies:
- supports-color
@@ -9176,14 +9176,14 @@ snapshots:
dependencies:
tslib: 2.6.2
autoprefixer@10.4.20(postcss@8.4.44):
autoprefixer@10.4.20(postcss@8.4.45):
dependencies:
browserslist: 4.23.3
caniuse-lite: 1.0.30001646
fraction.js: 4.3.7
normalize-range: 0.1.2
picocolors: 1.1.0
postcss: 8.4.44
postcss: 8.4.45
postcss-value-parser: 4.2.0
autoprefixer@9.8.8:
@@ -9481,9 +9481,9 @@ snapshots:
dependencies:
toggle-selection: 1.0.6
cosmiconfig-typescript-loader@5.0.0(@types/node@22.5.2)(cosmiconfig@9.0.0(typescript@5.5.4))(typescript@5.5.4):
cosmiconfig-typescript-loader@5.0.0(@types/node@22.5.3)(cosmiconfig@9.0.0(typescript@5.5.4))(typescript@5.5.4):
dependencies:
'@types/node': 22.5.2
'@types/node': 22.5.3
cosmiconfig: 9.0.0(typescript@5.5.4)
jiti: 1.21.6
typescript: 5.5.4
@@ -10566,9 +10566,9 @@ snapshots:
functions-have-names@1.2.3: {}
generouted@1.19.6(vite@5.4.2(@types/node@22.5.2)(less@4.2.0)(sass@1.77.8)(stylus@0.62.0)):
generouted@1.19.6(vite@5.4.3(@types/node@22.5.3)(less@4.2.0)(sass@1.78.0)(stylus@0.62.0)):
dependencies:
vite: 5.4.2(@types/node@22.5.2)(less@4.2.0)(sass@1.77.8)(stylus@0.62.0)
vite: 5.4.3(@types/node@22.5.3)(less@4.2.0)(sass@1.78.0)(stylus@0.62.0)
gensync@1.0.0-beta.2: {}
@@ -11179,11 +11179,11 @@ snapshots:
kind-of@6.0.3: {}
knip@5.29.1(@types/node@22.5.2)(typescript@5.5.4):
knip@5.29.2(@types/node@22.5.3)(typescript@5.5.4):
dependencies:
'@nodelib/fs.walk': 1.2.8
'@snyk/github-codeowners': 1.1.0
'@types/node': 22.5.2
'@types/node': 22.5.3
easy-table: 1.2.0
enhanced-resolve: 5.17.1
fast-glob: 3.3.2
@@ -12002,19 +12002,19 @@ snapshots:
dependencies:
htmlparser2: 8.0.2
js-tokens: 9.0.0
postcss: 8.4.44
postcss-safe-parser: 6.0.0(postcss@8.4.44)
postcss: 8.4.45
postcss-safe-parser: 6.0.0(postcss@8.4.45)
postcss-import@15.1.0(postcss@8.4.44):
postcss-import@15.1.0(postcss@8.4.45):
dependencies:
postcss: 8.4.44
postcss: 8.4.45
postcss-value-parser: 4.2.0
read-cache: 1.0.0
resolve: 1.22.8
postcss-import@16.1.0(postcss@8.4.44):
postcss-import@16.1.0(postcss@8.4.45):
dependencies:
postcss: 8.4.44
postcss: 8.4.45
postcss-value-parser: 4.2.0
read-cache: 1.0.0
resolve: 1.22.8
@@ -12024,10 +12024,10 @@ snapshots:
camelcase-css: 2.0.1
postcss: 7.0.39
postcss-js@4.0.1(postcss@8.4.44):
postcss-js@4.0.1(postcss@8.4.45):
dependencies:
camelcase-css: 2.0.1
postcss: 8.4.44
postcss: 8.4.45
postcss-load-config@3.1.4(postcss@8.4.38):
dependencies:
@@ -12036,12 +12036,12 @@ snapshots:
optionalDependencies:
postcss: 8.4.38
postcss-load-config@4.0.2(postcss@8.4.44):
postcss-load-config@4.0.2(postcss@8.4.45):
dependencies:
lilconfig: 3.1.2
yaml: 2.5.0
optionalDependencies:
postcss: 8.4.44
postcss: 8.4.45
postcss-media-query-parser@0.2.3: {}
@@ -12066,24 +12066,24 @@ snapshots:
postcss: 7.0.39
postcss-selector-parser: 6.1.2
postcss-nested@6.0.1(postcss@8.4.44):
postcss-nested@6.0.1(postcss@8.4.45):
dependencies:
postcss: 8.4.44
postcss: 8.4.45
postcss-selector-parser: 6.1.2
postcss-resolve-nested-selector@0.1.6: {}
postcss-safe-parser@6.0.0(postcss@8.4.44):
postcss-safe-parser@6.0.0(postcss@8.4.45):
dependencies:
postcss: 8.4.44
postcss: 8.4.45
postcss-safe-parser@7.0.0(postcss@8.4.44):
postcss-safe-parser@7.0.0(postcss@8.4.45):
dependencies:
postcss: 8.4.44
postcss: 8.4.45
postcss-scss@4.0.9(postcss@8.4.44):
postcss-scss@4.0.9(postcss@8.4.45):
dependencies:
postcss: 8.4.44
postcss: 8.4.45
postcss-selector-parser@6.0.16:
dependencies:
@@ -12105,9 +12105,9 @@ snapshots:
cssesc: 3.0.0
util-deprecate: 1.0.2
postcss-sorting@8.0.2(postcss@8.4.44):
postcss-sorting@8.0.2(postcss@8.4.45):
dependencies:
postcss: 8.4.44
postcss: 8.4.45
postcss-value-parser@3.3.1: {}
@@ -12136,13 +12136,13 @@ snapshots:
picocolors: 1.1.0
source-map-js: 1.2.0
postcss@8.4.41:
postcss@8.4.44:
dependencies:
nanoid: 3.3.7
picocolors: 1.1.0
source-map-js: 1.2.0
postcss@8.4.44:
postcss@8.4.45:
dependencies:
nanoid: 3.3.7
picocolors: 1.1.0
@@ -12529,7 +12529,7 @@ snapshots:
safer-buffer@2.1.2: {}
sass@1.77.8:
sass@1.78.0:
dependencies:
chokidar: 3.6.0
immutable: 4.3.5
@@ -12821,8 +12821,8 @@ snapshots:
stylelint-order@6.0.4(stylelint@16.9.0(typescript@5.5.4)):
dependencies:
postcss: 8.4.44
postcss-sorting: 8.0.2(postcss@8.4.44)
postcss: 8.4.45
postcss-sorting: 8.0.2(postcss@8.4.45)
stylelint: 16.9.0(typescript@5.5.4)
stylelint-scss@6.5.1(stylelint@16.9.0(typescript@5.5.4)):
@@ -12865,9 +12865,9 @@ snapshots:
micromatch: 4.0.8
normalize-path: 3.0.0
picocolors: 1.1.0
postcss: 8.4.44
postcss: 8.4.45
postcss-resolve-nested-selector: 0.1.6
postcss-safe-parser: 7.0.0(postcss@8.4.44)
postcss-safe-parser: 7.0.0(postcss@8.4.45)
postcss-selector-parser: 6.1.2
postcss-value-parser: 4.2.0
resolve-from: 5.0.0
@@ -13006,11 +13006,11 @@ snapshots:
normalize-path: 3.0.0
object-hash: 3.0.0
picocolors: 1.1.0
postcss: 8.4.44
postcss-import: 15.1.0(postcss@8.4.44)
postcss-js: 4.0.1(postcss@8.4.44)
postcss-load-config: 4.0.2(postcss@8.4.44)
postcss-nested: 6.0.1(postcss@8.4.44)
postcss: 8.4.45
postcss-import: 15.1.0(postcss@8.4.45)
postcss-js: 4.0.1(postcss@8.4.45)
postcss-load-config: 4.0.2(postcss@8.4.45)
postcss-nested: 6.0.1(postcss@8.4.45)
postcss-selector-parser: 6.1.1
resolve: 1.22.8
sucrase: 3.35.0
@@ -13193,7 +13193,7 @@ snapshots:
postcss-modules-local-by-default: 4.0.5(postcss@8.4.38)
postcss-modules-scope: 3.2.0(postcss@8.4.38)
reserved-words: 0.1.2
sass: 1.77.8
sass: 1.78.0
source-map-js: 1.2.0
stylus: 0.62.0
tsconfig-paths: 4.2.0
@@ -13396,9 +13396,9 @@ snapshots:
react: 19.0.0-rc-e948a5ac-20240807
react-dom: 19.0.0-rc-e948a5ac-20240807(react@19.0.0-rc-e948a5ac-20240807)
vite-plugin-dts@4.1.0(@types/node@22.5.2)(rollup@4.21.0)(typescript@5.5.4)(vite@5.4.2(@types/node@22.5.2)(less@4.2.0)(sass@1.77.8)(stylus@0.62.0)):
vite-plugin-dts@4.1.0(@types/node@22.5.3)(rollup@4.21.0)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.3)(less@4.2.0)(sass@1.78.0)(stylus@0.62.0)):
dependencies:
'@microsoft/api-extractor': 7.47.4(@types/node@22.5.2)
'@microsoft/api-extractor': 7.47.4(@types/node@22.5.3)
'@rollup/pluginutils': 5.1.0(rollup@4.21.0)
'@volar/typescript': 2.4.0
'@vue/language-core': 2.0.29(typescript@5.5.4)
@@ -13410,7 +13410,7 @@ snapshots:
typescript: 5.5.4
vue-tsc: 2.0.29(typescript@5.5.4)
optionalDependencies:
vite: 5.4.2(@types/node@22.5.2)(less@4.2.0)(sass@1.77.8)(stylus@0.62.0)
vite: 5.4.3(@types/node@22.5.3)(less@4.2.0)(sass@1.78.0)(stylus@0.62.0)
transitivePeerDependencies:
- '@types/node'
- rollup
@@ -13421,46 +13421,46 @@ snapshots:
esbuild: 0.19.12
monaco-editor: 0.51.0
vite-plugin-sass-dts@1.3.25(postcss@8.4.44)(prettier@3.3.3)(sass@1.77.8)(vite@5.4.2(@types/node@22.5.2)(less@4.2.0)(sass@1.77.8)(stylus@0.62.0)):
vite-plugin-sass-dts@1.3.25(postcss@8.4.45)(prettier@3.3.3)(sass@1.78.0)(vite@5.4.3(@types/node@22.5.3)(less@4.2.0)(sass@1.78.0)(stylus@0.62.0)):
dependencies:
postcss: 8.4.44
postcss-js: 4.0.1(postcss@8.4.44)
postcss: 8.4.45
postcss-js: 4.0.1(postcss@8.4.45)
prettier: 3.3.3
sass: 1.77.8
vite: 5.4.2(@types/node@22.5.2)(less@4.2.0)(sass@1.77.8)(stylus@0.62.0)
sass: 1.78.0
vite: 5.4.3(@types/node@22.5.3)(less@4.2.0)(sass@1.78.0)(stylus@0.62.0)
vite-plugin-svgr@4.2.0(rollup@4.21.0)(typescript@5.5.4)(vite@5.4.2(@types/node@22.5.2)(less@4.2.0)(sass@1.77.8)(stylus@0.62.0)):
vite-plugin-svgr@4.2.0(rollup@4.21.0)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.3)(less@4.2.0)(sass@1.78.0)(stylus@0.62.0)):
dependencies:
'@rollup/pluginutils': 5.1.0(rollup@4.21.0)
'@svgr/core': 8.1.0(typescript@5.5.4)
'@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.5.4))
vite: 5.4.2(@types/node@22.5.2)(less@4.2.0)(sass@1.77.8)(stylus@0.62.0)
vite: 5.4.3(@types/node@22.5.3)(less@4.2.0)(sass@1.78.0)(stylus@0.62.0)
transitivePeerDependencies:
- rollup
- supports-color
- typescript
vite-tsconfig-paths@5.0.1(typescript@5.5.4)(vite@5.4.2(@types/node@22.5.2)(less@4.2.0)(sass@1.77.8)(stylus@0.62.0)):
vite-tsconfig-paths@5.0.1(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.3)(less@4.2.0)(sass@1.78.0)(stylus@0.62.0)):
dependencies:
debug: 4.3.6
globrex: 0.1.2
tsconfck: 3.0.3(typescript@5.5.4)
optionalDependencies:
vite: 5.4.2(@types/node@22.5.2)(less@4.2.0)(sass@1.77.8)(stylus@0.62.0)
vite: 5.4.3(@types/node@22.5.3)(less@4.2.0)(sass@1.78.0)(stylus@0.62.0)
transitivePeerDependencies:
- supports-color
- typescript
vite@5.4.2(@types/node@22.5.2)(less@4.2.0)(sass@1.77.8)(stylus@0.62.0):
vite@5.4.3(@types/node@22.5.3)(less@4.2.0)(sass@1.78.0)(stylus@0.62.0):
dependencies:
esbuild: 0.21.5
postcss: 8.4.41
postcss: 8.4.44
rollup: 4.21.0
optionalDependencies:
'@types/node': 22.5.2
'@types/node': 22.5.3
fsevents: 2.3.3
less: 4.2.0
sass: 1.77.8
sass: 1.78.0
stylus: 0.62.0
void-elements@3.1.0: {}

View File

@@ -11,15 +11,16 @@ PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/rockchip-linux/u-boot
PKG_SOURCE_DATE:=2023-07-25
PKG_SOURCE_VERSION:=32640b0ada9344f91e7a407576568782907161cd
PKG_MIRROR_HASH:=5aeaf01c7dd48c1f241ecc70de1c50f656e5f5f69b2f0a9618fd9aaf343d0433
PKG_SOURCE_DATE:=2024-02-23
PKG_SOURCE_VERSION:=63c55618fbdc36333db4cf12f7d6a28f0a178017
PKG_MIRROR_HASH:=8eeaadad4de3d44d38abeb6f4e6ab8ed98e947d6d83fdc1ac633b26b3ae57f92
include $(INCLUDE_DIR)/u-boot.mk
include $(INCLUDE_DIR)/package.mk
define U-Boot/Default
BUILD_TARGET:=rockchip
BUILD_SUBTARGET:=rk35xx
UENV:=default
HIDDEN:=1
DEFAULT:=y

View File

@@ -0,0 +1,7 @@
--- a/arch/arm/mach-rockchip/Makefile
+++ b/arch/arm/mach-rockchip/Makefile
@@ -94,3 +94,4 @@
obj-$(CONFIG_PSTORE) += pstore.o
obj-$(CONFIG_ROCKCHIP_MINIDUMP) += rk_mini_dump.o
+CFLAGS_board.o := -Wno-error=unused-function -Wno-error=unused-const-variable -Wunused-const-variable=0

File diff suppressed because it is too large Load Diff

View File

@@ -10,11 +10,11 @@ include $(TOPDIR)/rules.mk
PKG_ARCH_quickstart:=$(ARCH)
PKG_NAME:=quickstart
PKG_VERSION:=0.9.0
PKG_VERSION:=0.9.2
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-binary-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/linkease/istore-packages/releases/download/prebuilt/
PKG_HASH:=d86d8c9f160fe5076640bada8b79392c03444af659b79e2e9ecc4c48a5f40892
PKG_HASH:=3d02775a2a3c28017d1040328df57f9821e34c43f77925f8327a6f16b7ffab44
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-binary-$(PKG_VERSION)

View File

@@ -584,13 +584,14 @@ filter_haproxy() {
local ip=$(get_host_ip ipv4 $(echo $item | awk -F ":" '{print $1}') 1)
ipset -q add $IPSET_VPSLIST $ip
done
echolog " - [$?]加入负载均衡的节点到ipset[$IPSET_VPSLIST]"
echolog " - [$?]加入负载均衡的节点到ipset[$IPSET_VPSLIST]直连完成"
}
filter_vpsip() {
uci show $CONFIG | grep ".address=" | cut -d "'" -f 2 | grep -E "([0-9]{1,3}[\.]){3}[0-9]{1,3}" | sed -e "/^$/d" | sed -e "s/^/add $IPSET_VPSLIST &/g" | awk '{print $0} END{print "COMMIT"}' | ipset -! -R
uci show $CONFIG | grep ".address=" | cut -d "'" -f 2 | grep -E "([0-9]{1,3}[\.]){3}[0-9]{1,3}" | grep -v "^127\.0\.0\.1$" | sed -e "/^$/d" | sed -e "s/^/add $IPSET_VPSLIST &/g" | awk '{print $0} END{print "COMMIT"}' | ipset -! -R
echolog " - [$?]加入所有IPv4节点到ipset[$IPSET_VPSLIST]直连完成"
uci show $CONFIG | grep ".address=" | cut -d "'" -f 2 | grep -E "([A-Fa-f0-9]{1,4}::?){1,7}[A-Fa-f0-9]{1,4}" | sed -e "/^$/d" | sed -e "s/^/add $IPSET_VPSLIST6 &/g" | awk '{print $0} END{print "COMMIT"}' | ipset -! -R
echolog " - [$?]加入所有节点到ipset[$IPSET_VPSLIST]"
echolog " - [$?]加入所有IPv6节点到ipset[$IPSET_VPSLIST6]直连完成"
}
filter_node() {
@@ -841,7 +842,10 @@ add_firewall_rule() {
$ipt_m -A PSW $(dst $IPSET_LANLIST) -j RETURN
$ipt_m -A PSW $(dst $IPSET_VPSLIST) -j RETURN
[ ! -z "${WAN_IP}" ] && $ipt_m -A PSW $(comment "WAN_IP_RETURN") -d "${WAN_IP}" -j RETURN
[ ! -z "${WAN_IP}" ] && {
$ipt_m -A PSW $(comment "WAN_IP_RETURN") -d "${WAN_IP}" -j RETURN
echolog " - [$?]追加WAN IP到iptables${WAN_IP}"
}
unset WAN_IP
insert_rule_before "$ipt_m" "PREROUTING" "mwan3" "-j PSW"

View File

@@ -662,9 +662,10 @@ filter_vps_addr() {
}
filter_vpsip() {
insert_nftset $NFTSET_VPSLIST "-1" $(uci show $CONFIG | grep ".address=" | cut -d "'" -f 2 | grep -E "([0-9]{1,3}[\.]){3}[0-9]{1,3}" | sed -e "/^$/d")
insert_nftset $NFTSET_VPSLIST "-1" $(uci show $CONFIG | grep ".address=" | cut -d "'" -f 2 | grep -E "([0-9]{1,3}[\.]){3}[0-9]{1,3}" | grep -v "^127\.0\.0\.1$" | sed -e "/^$/d")
echolog " - [$?]加入所有IPv4节点到nftset[$NFTSET_VPSLIST]直连完成"
insert_nftset $NFTSET_VPSLIST6 "-1" $(uci show $CONFIG | grep ".address=" | cut -d "'" -f 2 | grep -E "([A-Fa-f0-9]{1,4}::?){1,7}[A-Fa-f0-9]{1,4}" | sed -e "/^$/d")
echolog " - [$?]加入所有节点到nftset[$NFTSET_VPSLIST]直连完成"
echolog " - [$?]加入所有IPv6节点到nftset[$NFTSET_VPSLIST6]直连完成"
}
filter_node() {
@@ -947,8 +948,9 @@ add_firewall_rule() {
WAN_IP=$(get_wan_ip)
if [ -n "${WAN_IP}" ]; then
nft "add rule $NFTABLE_NAME PSW_MANGLE ip daddr ${WAN_IP} counter return comment \"WAN_IP_RETURN\""
[ -z "${is_tproxy}" ] && nft "add rule $NFTABLE_NAME PSW_NAT ip daddr ${WAN_IP} counter return comment \"WAN_IP_RETURN\""
nft "add rule $NFTABLE_NAME PSW_MANGLE ip daddr ${WAN_IP} counter return comment \"WAN_IP_RETURN\""
echolog " - [$?]追加WAN IP到nftables${WAN_IP}"
fi
unset WAN_IP

View File

@@ -216,9 +216,9 @@ dependencies = [
[[package]]
name = "async-trait"
version = "0.1.81"
version = "0.1.82"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107"
checksum = "a27b8a3a6e1a44fa4c8baf1f653e4172e81486d4941f2237e20dc2d0cf4ddff1"
dependencies = [
"proc-macro2",
"quote",

View File

@@ -20,7 +20,6 @@ define Package/luci-app-homeproxy/conffiles
/etc/homeproxy/ruleset/
/etc/homeproxy/resources/direct_list.txt
/etc/homeproxy/resources/proxy_list.txt
/etc/homeproxy/cache.db
endef
include $(TOPDIR)/feeds/luci/luci.mk

View File

@@ -324,6 +324,11 @@ return view.extend({
so.default = so.disabled;
so.rmempty = false;
so = ss.option(form.ListValue, 'domain_strategy', _('Domain strategy'),
_('If set, the requested domain name will be resolved to IP before routing.'));
for (var i in hp.dns_strategy)
so.value(i, hp.dns_strategy[i])
so = ss.option(form.Flag, 'sniff_override', _('Override destination'),
_('Override the connection destination address with the sniffed domain.'));
so.default = so.enabled;

View File

@@ -1286,7 +1286,7 @@ return view.extend({
s.tab('subscription', _('Subscriptions'));
o = s.taboption('subscription', form.Flag, 'auto_update', _('Auto update'),
_('Auto update subscriptions.'));
_('Auto update subscriptions and geodata.'));
o.default = o.disabled;
o.rmempty = false;

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -380,7 +380,7 @@ chain homeproxy_mangle_lanac {
{% if (control_info.listen_interfaces): %}
meta iifname != {{ array_to_nftarr(split(join(' ', control_info.listen_interfaces) + ' lo', ' ')) }} counter return
{% endif %}
meta iifname != io udp dport 53 counter return
meta iifname != lo udp dport 53 counter return
meta mark {{ self_mark }} counter return
{% if (control_info.lan_proxy_mode === 'listed_only'): %}

View File

@@ -49,7 +49,7 @@ else
const dns_port = uci.get(uciconfig, uciinfra, 'dns_port') || '5333';
let main_node, main_udp_node, dedicated_udp_node, default_outbound, sniff_override = '1',
let main_node, main_udp_node, dedicated_udp_node, default_outbound, domain_strategy, sniff_override = '1',
dns_server, dns_default_strategy, dns_default_server, dns_disable_cache, dns_disable_cache_expire,
dns_independent_cache, dns_client_subnet, direct_domain_list, proxy_domain_list;
@@ -80,6 +80,7 @@ if (routing_mode !== 'custom') {
/* Routing settings */
default_outbound = uci.get(uciconfig, uciroutingsetting, 'default_outbound') || 'nil';
domain_strategy = uci.get(uciconfig, uciroutingsetting, 'domain_strategy');
sniff_override = uci.get(uciconfig, uciroutingsetting, 'sniff_override');
}
@@ -489,6 +490,7 @@ push(config.inbounds, {
udp_timeout: udp_timeout ? (udp_timeout + 's') : null,
sniff: true,
sniff_override_destination: (sniff_override === '1'),
domain_strategy: domain_strategy,
set_system_proxy: false
});
@@ -500,7 +502,8 @@ if (match(proxy_mode, /redirect/))
listen: '::',
listen_port: int(redirect_port),
sniff: true,
sniff_override_destination: (sniff_override === '1')
sniff_override_destination: (sniff_override === '1'),
domain_strategy: domain_strategy,
});
if (match(proxy_mode, /tproxy/))
push(config.inbounds, {
@@ -512,7 +515,8 @@ if (match(proxy_mode, /tproxy/))
network: 'udp',
udp_timeout: udp_timeout ? (udp_timeout + 's') : null,
sniff: true,
sniff_override_destination: (sniff_override === '1')
sniff_override_destination: (sniff_override === '1'),
domain_strategy: domain_strategy,
});
if (match(proxy_mode, /tun/))
push(config.inbounds, {
@@ -530,6 +534,7 @@ if (match(proxy_mode, /tun/))
stack: tcpip_stack,
sniff: true,
sniff_override_destination: (sniff_override === '1'),
domain_strategy: domain_strategy,
});
/* Inbound end */
@@ -668,7 +673,7 @@ if (routing_mode === 'custom') {
config.experimental = {
cache_file: {
enabled: true,
path: HP_DIR + '/cache.db',
path: RUN_DIR + '/cache.db',
store_rdrc: (cache_file_store_rdrc === '1') || null,
rdrc_timeout: cache_file_rdrc_timeout
}

View File

@@ -584,13 +584,14 @@ filter_haproxy() {
local ip=$(get_host_ip ipv4 $(echo $item | awk -F ":" '{print $1}') 1)
ipset -q add $IPSET_VPSLIST $ip
done
echolog " - [$?]加入负载均衡的节点到ipset[$IPSET_VPSLIST]"
echolog " - [$?]加入负载均衡的节点到ipset[$IPSET_VPSLIST]直连完成"
}
filter_vpsip() {
uci show $CONFIG | grep ".address=" | cut -d "'" -f 2 | grep -E "([0-9]{1,3}[\.]){3}[0-9]{1,3}" | sed -e "/^$/d" | sed -e "s/^/add $IPSET_VPSLIST &/g" | awk '{print $0} END{print "COMMIT"}' | ipset -! -R
uci show $CONFIG | grep ".address=" | cut -d "'" -f 2 | grep -E "([0-9]{1,3}[\.]){3}[0-9]{1,3}" | grep -v "^127\.0\.0\.1$" | sed -e "/^$/d" | sed -e "s/^/add $IPSET_VPSLIST &/g" | awk '{print $0} END{print "COMMIT"}' | ipset -! -R
echolog " - [$?]加入所有IPv4节点到ipset[$IPSET_VPSLIST]直连完成"
uci show $CONFIG | grep ".address=" | cut -d "'" -f 2 | grep -E "([A-Fa-f0-9]{1,4}::?){1,7}[A-Fa-f0-9]{1,4}" | sed -e "/^$/d" | sed -e "s/^/add $IPSET_VPSLIST6 &/g" | awk '{print $0} END{print "COMMIT"}' | ipset -! -R
echolog " - [$?]加入所有节点到ipset[$IPSET_VPSLIST]"
echolog " - [$?]加入所有IPv6节点到ipset[$IPSET_VPSLIST6]直连完成"
}
filter_node() {
@@ -841,7 +842,10 @@ add_firewall_rule() {
$ipt_m -A PSW $(dst $IPSET_LANLIST) -j RETURN
$ipt_m -A PSW $(dst $IPSET_VPSLIST) -j RETURN
[ ! -z "${WAN_IP}" ] && $ipt_m -A PSW $(comment "WAN_IP_RETURN") -d "${WAN_IP}" -j RETURN
[ ! -z "${WAN_IP}" ] && {
$ipt_m -A PSW $(comment "WAN_IP_RETURN") -d "${WAN_IP}" -j RETURN
echolog " - [$?]追加WAN IP到iptables${WAN_IP}"
}
unset WAN_IP
insert_rule_before "$ipt_m" "PREROUTING" "mwan3" "-j PSW"

View File

@@ -662,9 +662,10 @@ filter_vps_addr() {
}
filter_vpsip() {
insert_nftset $NFTSET_VPSLIST "-1" $(uci show $CONFIG | grep ".address=" | cut -d "'" -f 2 | grep -E "([0-9]{1,3}[\.]){3}[0-9]{1,3}" | sed -e "/^$/d")
insert_nftset $NFTSET_VPSLIST "-1" $(uci show $CONFIG | grep ".address=" | cut -d "'" -f 2 | grep -E "([0-9]{1,3}[\.]){3}[0-9]{1,3}" | grep -v "^127\.0\.0\.1$" | sed -e "/^$/d")
echolog " - [$?]加入所有IPv4节点到nftset[$NFTSET_VPSLIST]直连完成"
insert_nftset $NFTSET_VPSLIST6 "-1" $(uci show $CONFIG | grep ".address=" | cut -d "'" -f 2 | grep -E "([A-Fa-f0-9]{1,4}::?){1,7}[A-Fa-f0-9]{1,4}" | sed -e "/^$/d")
echolog " - [$?]加入所有节点到nftset[$NFTSET_VPSLIST]直连完成"
echolog " - [$?]加入所有IPv6节点到nftset[$NFTSET_VPSLIST6]直连完成"
}
filter_node() {
@@ -947,8 +948,9 @@ add_firewall_rule() {
WAN_IP=$(get_wan_ip)
if [ -n "${WAN_IP}" ]; then
nft "add rule $NFTABLE_NAME PSW_MANGLE ip daddr ${WAN_IP} counter return comment \"WAN_IP_RETURN\""
[ -z "${is_tproxy}" ] && nft "add rule $NFTABLE_NAME PSW_NAT ip daddr ${WAN_IP} counter return comment \"WAN_IP_RETURN\""
nft "add rule $NFTABLE_NAME PSW_MANGLE ip daddr ${WAN_IP} counter return comment \"WAN_IP_RETURN\""
echolog " - [$?]追加WAN IP到nftables${WAN_IP}"
fi
unset WAN_IP

File diff suppressed because it is too large Load Diff

View File

@@ -176,7 +176,7 @@ namespace ServiceLib.Common
};
using var cts = new CancellationTokenSource();
await downloader.DownloadFileTaskAsync(url, fileName, cts.Token).WaitAsync(TimeSpan.FromSeconds(timeout), cts.Token);
await downloader.DownloadFileTaskAsync(url, fileName, cts.Token);
downloadOpt = null;
}

View File

@@ -115,6 +115,5 @@ namespace ServiceLib.Common
}
return true;
}
}
}

View File

@@ -39,7 +39,7 @@
DispatcherRefreshServersBiz,
DispatcherRefreshIcon,
DispatcherCheckUpdate,
DispatcherCheckUpdateFinished,
DispatcherCheckUpdateFinished,
DispatcherShowMsg,
}
}

View File

@@ -58,7 +58,7 @@ namespace ServiceLib.Handler
return 0;
}
public async Task DownloadFileAsync(string url, bool blProxy, int downloadTimeout)
public async Task DownloadFileAsync(string url, string fileName, bool blProxy, int downloadTimeout)
{
try
{
@@ -74,7 +74,7 @@ namespace ServiceLib.Handler
var webProxy = GetWebProxy(blProxy);
await DownloaderHelper.Instance.DownloadFileAsync(webProxy,
url,
Utils.GetTempPath(Utils.GetDownloadFileName(url)),
fileName,
progress,
downloadTimeout);
}

View File

@@ -1,6 +1,4 @@
using System.Runtime.InteropServices;
namespace ServiceLib.Handler
namespace ServiceLib.Handler
{
public sealed class LazyConfig
{

View File

@@ -9,10 +9,9 @@ namespace ServiceLib.Handler
{
private Action<bool, string> _updateFunc;
private Config _config;
private int _timeout = 30;
public event EventHandler<ResultEventArgs> AbsoluteCompleted;
public class ResultEventArgs : EventArgs
private class ResultEventArgs
{
public bool Success;
public string Msg;
@@ -26,11 +25,12 @@ namespace ServiceLib.Handler
}
}
public void CheckUpdateGuiN(Config config, Action<bool, string> update, bool preRelease)
public async Task CheckUpdateGuiN(Config config, Action<bool, string> update, bool preRelease)
{
_config = config;
_updateFunc = update;
var url = string.Empty;
var fileName = string.Empty;
DownloadHandler downloadHandle = new();
downloadHandle.UpdateCompleted += (sender2, args) =>
@@ -38,9 +38,7 @@ namespace ServiceLib.Handler
if (args.Success)
{
_updateFunc(false, ResUI.MsgDownloadV2rayCoreSuccessfully);
string fileName = Utils.GetTempPath(Utils.GetDownloadFileName(url));
fileName = Utils.UrlEncode(fileName);
_updateFunc(true, fileName);
_updateFunc(true, Utils.UrlEncode(fileName));
}
else
{
@@ -50,36 +48,31 @@ namespace ServiceLib.Handler
downloadHandle.Error += (sender2, args) =>
{
_updateFunc(false, args.GetException().Message);
_updateFunc(false, "");
};
AbsoluteCompleted += (sender2, args) =>
{
if (args.Success)
{
_updateFunc(false, string.Format(ResUI.MsgParsingSuccessfully, ECoreType.v2rayN));
_updateFunc(false, args.Msg);
url = args.Url;
AskToDownload(downloadHandle, url, true).ContinueWith(task =>
{
_updateFunc(false, "");
});
}
else
{
_updateFunc(false, args.Msg);
_updateFunc(false, "");
}
};
_updateFunc(false, string.Format(ResUI.MsgStartUpdating, ECoreType.v2rayN));
CheckUpdateAsync(downloadHandle, ECoreType.v2rayN, preRelease);
var args = await CheckUpdateAsync(downloadHandle, ECoreType.v2rayN, preRelease);
if (args.Success)
{
_updateFunc(false, string.Format(ResUI.MsgParsingSuccessfully, ECoreType.v2rayN));
_updateFunc(false, args.Msg);
url = args.Url;
fileName = Utils.GetTempPath(Utils.GetGUID());
await downloadHandle.DownloadFileAsync(url, fileName, true, _timeout);
}
else
{
_updateFunc(false, args.Msg);
}
}
public async void CheckUpdateCore(ECoreType type, Config config, Action<bool, string> update, bool preRelease)
public async Task CheckUpdateCore(ECoreType type, Config config, Action<bool, string> update, bool preRelease)
{
_config = config;
_updateFunc = update;
var url = string.Empty;
var fileName = string.Empty;
DownloadHandler downloadHandle = new();
downloadHandle.UpdateCompleted += (sender2, args) =>
@@ -91,7 +84,7 @@ namespace ServiceLib.Handler
try
{
_updateFunc(true, url);
_updateFunc(true, fileName);
}
catch (Exception ex)
{
@@ -105,31 +98,27 @@ namespace ServiceLib.Handler
};
downloadHandle.Error += (sender2, args) =>
{
_updateFunc(false, args.GetException().Message);
_updateFunc(false, "");
_updateFunc(false, args.GetException().Message);
};
AbsoluteCompleted += (sender2, args) =>
{
if (args.Success)
{
_updateFunc(false, string.Format(ResUI.MsgParsingSuccessfully, type));
_updateFunc(false, args.Msg);
url = args.Url;
AskToDownload(downloadHandle, url, true).ContinueWith(task =>
{
_updateFunc(false, "");
});
}
else
{
_updateFunc(false, args.Msg);
_updateFunc(false, "");
}
};
_updateFunc(false, string.Format(ResUI.MsgStartUpdating, type));
CheckUpdateAsync(downloadHandle, type, preRelease);
var args = await CheckUpdateAsync(downloadHandle, type, preRelease);
if (args.Success)
{
_updateFunc(false, string.Format(ResUI.MsgParsingSuccessfully, type));
_updateFunc(false, args.Msg);
url = args.Url;
fileName = Utils.GetTempPath(Utils.GetGUID());
await downloadHandle.DownloadFileAsync(url, fileName, true, _timeout);
}
else
{
if (!args.Msg.IsNullOrEmpty())
{
_updateFunc(false, args.Msg);
}
}
}
public void UpdateSubscriptionProcess(Config config, string subId, bool blProxy, Action<bool, string> update)
@@ -265,14 +254,11 @@ namespace ServiceLib.Handler
});
}
public void UpdateGeoFileAll(Config config, Action<bool, string> update)
public async Task UpdateGeoFileAll(Config config, Action<bool, string> update)
{
Task.Run(async () =>
{
await UpdateGeoFile("geosite", _config, update);
await UpdateGeoFile("geoip", _config, update);
_updateFunc(true, string.Format(ResUI.MsgDownloadGeoFileSuccessfully, "geo"));
});
await UpdateGeoFile("geosite", _config, update);
await UpdateGeoFile("geoip", _config, update);
_updateFunc(true, string.Format(ResUI.MsgDownloadGeoFileSuccessfully, "geo"));
}
public void RunAvailabilityCheck(Action<bool, string> update)
@@ -287,28 +273,28 @@ namespace ServiceLib.Handler
#region private
private async void CheckUpdateAsync(DownloadHandler downloadHandle, ECoreType type, bool preRelease)
private async Task<ResultEventArgs> CheckUpdateAsync(DownloadHandler downloadHandle, ECoreType type, bool preRelease)
{
try
{
var coreInfo = CoreInfoHandler.Instance.GetCoreInfo(type);
string url = coreInfo.coreReleaseApiUrl;
var url = coreInfo?.coreReleaseApiUrl;
var result = await downloadHandle.DownloadStringAsync(url, true, Global.AppName);
if (!Utils.IsNullOrEmpty(result))
{
ResponseHandler(type, result, preRelease);
return await ParseDownloadUrl(type, result, preRelease);
}
else
{
Logging.SaveLog("StatusCode error: " + url);
return;
return new ResultEventArgs(false, "");
}
}
catch (Exception ex)
{
Logging.SaveLog(ex.Message, ex);
_updateFunc(false, ex.Message);
return new ResultEventArgs(false, ex.Message);
}
}
@@ -380,7 +366,7 @@ namespace ServiceLib.Handler
}
}
private void ResponseHandler(ECoreType type, string gitHubReleaseApi, bool preRelease)
private async Task<ResultEventArgs> ParseDownloadUrl(ECoreType type, string gitHubReleaseApi, bool preRelease)
{
try
{
@@ -434,16 +420,16 @@ namespace ServiceLib.Handler
if (curVersion >= version && version != new SemanticVersion(0, 0, 0))
{
AbsoluteCompleted?.Invoke(this, new ResultEventArgs(false, message));
return;
return new ResultEventArgs(false, message);
}
AbsoluteCompleted?.Invoke(this, new ResultEventArgs(true, body, url));
return new ResultEventArgs(true, body, url);
}
catch (Exception ex)
{
Logging.SaveLog(ex.Message, ex);
_updateFunc(false, ex.Message);
return new ResultEventArgs(false, ex.Message);
}
}
@@ -472,31 +458,12 @@ namespace ServiceLib.Handler
return null;
}
private async Task AskToDownload(DownloadHandler downloadHandle, string url, bool blAsk)
{
//bool blDownload = false;
//if (blAsk)
//{
// if (UI.ShowYesNo(string.Format(ResUI.DownloadYesNo, url)) == MessageBoxResult.Yes)
// {
// blDownload = true;
// }
//}
//else
//{
// blDownload = true;
//}
//if (blDownload)
//{
await downloadHandle.DownloadFileAsync(url, true, 60);
//}
}
private async Task UpdateGeoFile(string geoName, Config config, Action<bool, string> update)
{
_config = config;
_updateFunc = update;
var url = string.Format(Global.GeoUrl, geoName);
var fileName = Utils.GetTempPath(Utils.GetGUID());
DownloadHandler downloadHandle = new();
downloadHandle.UpdateCompleted += (sender2, args) =>
@@ -507,7 +474,6 @@ namespace ServiceLib.Handler
try
{
string fileName = Utils.GetTempPath(Utils.GetDownloadFileName(url));
if (File.Exists(fileName))
{
string targetPath = Utils.GetBinPath($"{geoName}.dat");
@@ -531,7 +497,8 @@ namespace ServiceLib.Handler
{
_updateFunc(false, args.GetException().Message);
};
await AskToDownload(downloadHandle, url, false);
await downloadHandle.DownloadFileAsync(url, fileName, true, _timeout);
}
#endregion private

View File

@@ -1,10 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ServiceLib.Models
namespace ServiceLib.Models
{
public class CheckUpdateItem
{
@@ -14,4 +8,4 @@ namespace ServiceLib.Models
public string? fileName { get; set; }
public bool? isFinished { get; set; }
}
}
}

View File

@@ -4,7 +4,7 @@
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<Version>6.55</Version>
<Version>6.57</Version>
</PropertyGroup>
<ItemGroup>

View File

@@ -9,6 +9,7 @@ namespace ServiceLib.ViewModels
{
[Reactive]
public ProfileItem SelectedSource { get; set; }
[Reactive]
public string? CoreType { get; set; }

View File

@@ -28,9 +28,13 @@ namespace ServiceLib.ViewModels
RefreshSubItems();
CheckUpdateCmd = ReactiveCommand.Create(() =>
CheckUpdateCmd = ReactiveCommand.CreateFromTask(async () =>
{
CheckUpdate();
await CheckUpdate()
.ContinueWith(t =>
{
UpdateFinished();
});
});
EnableCheckPreReleaseUpdate = _config.guiItem.checkPreReleaseUpdate;
IsCheckUpdate = true;
@@ -77,9 +81,11 @@ namespace ServiceLib.ViewModels
});
}
private void CheckUpdate()
private async Task CheckUpdate()
{
_lstUpdated.Clear();
_lstUpdated = _checkUpdateItem.Where(x => x.isSelected == true)
.Select(x => new CheckUpdateItem() { coreType = x.coreType }).ToList();
for (int k = _checkUpdateItem.Count - 1; k >= 0; k--)
{
@@ -87,23 +93,22 @@ namespace ServiceLib.ViewModels
if (item.isSelected == true)
{
IsCheckUpdate = false;
_lstUpdated.Add(new CheckUpdateItem() { coreType = item.coreType });
UpdateView(item.coreType, "...");
if (item.coreType == _geo)
{
CheckUpdateGeo();
await CheckUpdateGeo();
}
else if (item.coreType == ECoreType.v2rayN.ToString())
{
CheckUpdateN(EnableCheckPreReleaseUpdate);
await CheckUpdateN(EnableCheckPreReleaseUpdate);
}
else if (item.coreType == ECoreType.mihomo.ToString())
{
CheckUpdateCore(item, false);
await CheckUpdateCore(item, false);
}
else
{
CheckUpdateCore(item, EnableCheckPreReleaseUpdate);
await CheckUpdateCore(item, EnableCheckPreReleaseUpdate);
}
}
}
@@ -123,7 +128,7 @@ namespace ServiceLib.ViewModels
}
}
private void CheckUpdateGeo()
private async Task CheckUpdateGeo()
{
void _updateUI(bool success, string msg)
{
@@ -131,13 +136,16 @@ namespace ServiceLib.ViewModels
if (success)
{
UpdatedPlusPlus(_geo, "");
UpdateFinished();
}
}
(new UpdateHandler()).UpdateGeoFileAll(_config, _updateUI);
await (new UpdateHandler()).UpdateGeoFileAll(_config, _updateUI)
.ContinueWith(t =>
{
UpdatedPlusPlus(_geo, "");
});
}
private void CheckUpdateN(bool preRelease)
private async Task CheckUpdateN(bool preRelease)
{
//Check for standalone windows .Net version
if (Utils.IsWindows()
@@ -151,54 +159,38 @@ namespace ServiceLib.ViewModels
void _updateUI(bool success, string msg)
{
UpdateView(ECoreType.v2rayN.ToString(), msg);
if (success)
{
UpdateView(ECoreType.v2rayN.ToString(), ResUI.OperationSuccess);
UpdatedPlusPlus(ECoreType.v2rayN.ToString(), msg);
UpdateFinished();
}
else
{
if (msg.IsNullOrEmpty())
{
UpdatedPlusPlus(ECoreType.v2rayN.ToString(), "");
UpdateFinished();
}
else
{
UpdateView(ECoreType.v2rayN.ToString(), msg);
}
}
}
(new UpdateHandler()).CheckUpdateGuiN(_config, _updateUI, preRelease);
await (new UpdateHandler()).CheckUpdateGuiN(_config, _updateUI, preRelease)
.ContinueWith(t =>
{
UpdatedPlusPlus(ECoreType.v2rayN.ToString(), "");
});
}
private void CheckUpdateCore(CheckUpdateItem item, bool preRelease)
private async Task CheckUpdateCore(CheckUpdateItem item, bool preRelease)
{
void _updateUI(bool success, string msg)
{
UpdateView(item.coreType, msg);
if (success)
{
UpdateView(item.coreType, ResUI.MsgUpdateV2rayCoreSuccessfullyMore);
UpdatedPlusPlus(item.coreType, msg);
UpdateFinished();
}
else
{
if (msg.IsNullOrEmpty())
{
UpdatedPlusPlus(item.coreType, "");
UpdateFinished();
}
else
{
UpdateView(item.coreType, msg);
}
}
}
var type = (ECoreType)Enum.Parse(typeof(ECoreType), item.coreType);
(new UpdateHandler()).CheckUpdateCore(type, _config, _updateUI, preRelease);
await (new UpdateHandler()).CheckUpdateCore(type, _config, _updateUI, preRelease)
.ContinueWith(t =>
{
UpdatedPlusPlus(item.coreType, "");
});
}
private void UpdateFinished()
@@ -206,13 +198,15 @@ namespace ServiceLib.ViewModels
if (_lstUpdated.Count > 0 && _lstUpdated.Count(x => x.isFinished == true) == _lstUpdated.Count)
{
_updateView?.Invoke(EViewAction.DispatcherCheckUpdateFinished, false);
Task.Delay(1000);
UpgradeCore();
if (_lstUpdated.Any(x => x.coreType == ECoreType.v2rayN.ToString() && x.isFinished == true))
{
Task.Delay(1000);
UpgradeN();
}
Task.Delay(1000);
_updateView?.Invoke(EViewAction.DispatcherCheckUpdateFinished, true);
}
}
@@ -270,7 +264,7 @@ namespace ServiceLib.ViewModels
continue;
}
var fileName = Utils.GetTempPath(Utils.GetDownloadFileName(item.fileName));
var fileName = item.fileName;
if (!File.Exists(fileName))
{
continue;

View File

@@ -2,7 +2,6 @@
using ReactiveUI.Fody.Helpers;
using Splat;
using System.Collections.Concurrent;
using System.Diagnostics;
using System.Text.RegularExpressions;
namespace ServiceLib.ViewModels

View File

@@ -279,6 +279,7 @@ namespace v2rayN.Desktop.Views
var clipboardData = await AvaUtils.GetClipboardData(this);
ViewModel?.AddServerViaClipboardAsync(clipboardData);
break;
case EViewAction.AdjustMainLvColWidth:
Dispatcher.UIThread.Post(() =>
Locator.Current.GetService<ProfilesViewModel>()?.AutofitColumnWidthAsync(),

View File

@@ -1,9 +1,9 @@
<Application
x:Class="v2rayN.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:conv="clr-namespace:v2rayN.Converters"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
ShutdownMode="OnExplicitShutdown"
StartupUri="Views/MainWindow.xaml">
<Application.Resources>

View File

@@ -56,7 +56,6 @@
IsCancel="True"
IsDefault="True"
Style="{StaticResource MaterialDesignFlatButton}" />
</StackPanel>
<StackPanel>
@@ -106,7 +105,6 @@
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackPanel>
</DockPanel>
</reactiveui:ReactiveUserControl>

View File

@@ -34,6 +34,7 @@ namespace v2rayN.Views
ViewModel?.UpdateViewResult((CheckUpdateItem)obj);
}), DispatcherPriority.Normal);
break;
case EViewAction.DispatcherCheckUpdateFinished:
if (obj is null) return false;
Application.Current?.Dispatcher.Invoke((() =>
@@ -41,7 +42,6 @@ namespace v2rayN.Views
ViewModel?.UpdateFinishedResult((bool)obj);
}), DispatcherPriority.Normal);
break;
}
return await Task.FromResult(true);

View File

@@ -15,7 +15,6 @@ namespace v2rayN.Views
{
InitializeComponent();
this.Owner = Application.Current.MainWindow;
_config = LazyConfig.Instance.Config;
_config.globalHotkeys ??= new List<KeyEventItem>();

View File

@@ -15,7 +15,7 @@ namespace v2rayN.Views
{
public partial class MainWindow
{
private static Config _config;
private static Config _config;
private CheckUpdateView? _checkUpdateView;
public MainWindow()
@@ -293,7 +293,10 @@ namespace v2rayN.Views
break;
case EViewAction.Shutdown:
Application.Current.Shutdown();
Application.Current?.Dispatcher.Invoke((() =>
{
Application.Current.Shutdown();
}), DispatcherPriority.Normal);
break;
case EViewAction.ScanScreenTask:

View File

@@ -1,14 +1,14 @@
<reactiveui:ReactiveWindow
x:Class="v2rayN.Views.RoutingRuleSettingWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:conv="clr-namespace:v2rayN.Converters"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:reactiveui="http://reactiveui.net"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:resx="clr-namespace:ServiceLib.Resx;assembly=ServiceLib"
xmlns:vms="clr-namespace:ServiceLib.ViewModels;assembly=ServiceLib"
xmlns:conv="clr-namespace:v2rayN.Converters"
Title="{x:Static resx:ResUI.menuRoutingRuleSetting}"
Width="960"
Height="700"

View File

@@ -1,14 +1,14 @@
<reactiveui:ReactiveWindow
x:Class="v2rayN.Views.SubEditWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:conv="clr-namespace:v2rayN.Converters"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:reactiveui="http://reactiveui.net"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:resx="clr-namespace:ServiceLib.Resx;assembly=ServiceLib"
xmlns:vms="clr-namespace:ServiceLib.ViewModels;assembly=ServiceLib"
xmlns:conv="clr-namespace:v2rayN.Converters"
Title="{x:Static resx:ResUI.menuSubSetting}"
Width="700"
Height="600"

View File

@@ -1,12 +1,10 @@
<reactiveui:ReactiveUserControl
x:Class="v2rayN.Views.ThemeSettingView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:converters="clr-namespace:v2rayN.Converters"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:reactiveui="http://reactiveui.net"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:resx="clr-namespace:ServiceLib.Resx;assembly=ServiceLib"
xmlns:vms="clr-namespace:v2rayN.ViewModels"
d:DesignHeight="450"

View File

@@ -27,30 +27,30 @@ source_lang = en
[o:yetanothershadowsocket:p:yetanothershadowsocket:r:yass_macos_localizable_strings]
file_filter = src/mac/<lang>.lproj/Localizable.strings
lang_map = zh_TW: zh-Hant, zh_CN: zh-Hans
lang_map = cs_CZ: cs, de_DE: de, el_GR: el, et_EE: et, fr_FR: fr, he_IL: he, hu_HU: hu, ko_KR: ko, nb_NO: nb, nl_NL: nl, pl_PL: pl, pt_BR: pt, sk_SK: sk, zh_TW: zh-Hant, zh_CN: zh-Hans
source_file = src/mac/en.lproj/Localizable.strings
source_lang = en
[o:yetanothershadowsocket:p:yetanothershadowsocket:r:yass_macos_main_strings]
file_filter = src/mac/<lang>.lproj/Main.strings
lang_map = zh_TW: zh-Hant, zh_CN: zh-Hans
lang_map = cs_CZ: cs, de_DE: de, el_GR: el, et_EE: et, fr_FR: fr, he_IL: he, hu_HU: hu, ko_KR: ko, nb_NO: nb, nl_NL: nl, pl_PL: pl, pt_BR: pt, sk_SK: sk, zh_TW: zh-Hant, zh_CN: zh-Hans
source_file = src/mac/en.lproj/Main.strings
source_lang = en
[o:yetanothershadowsocket:p:yetanothershadowsocket:r:yass_ios_settings_strings]
file_filter = src/ios/Settings.bundle/<lang>.lproj/Root.strings
lang_map = zh_TW: zh-Hant, zh_CN: zh-Hans
lang_map = cs_CZ: cs, de_DE: de, el_GR: el, et_EE: et, fr_FR: fr, he_IL: he, hu_HU: hu, ko_KR: ko, nb_NO: nb, nl_NL: nl, pl_PL: pl, pt_BR: pt, sk_SK: sk, zh_TW: zh-Hant, zh_CN: zh-Hans
source_file = src/ios/Settings.bundle/en.lproj/Root.strings
source_lang = en
[o:yetanothershadowsocket:p:yetanothershadowsocket:r:yass_ios_localizable_strings]
file_filter = src/ios/<lang>.lproj/Localizable.strings
lang_map = zh_TW: zh-Hant, zh_CN: zh-Hans
lang_map = cs_CZ: cs, de_DE: de, el_GR: el, et_EE: et, fr_FR: fr, he_IL: he, hu_HU: hu, ko_KR: ko, nb_NO: nb, nl_NL: nl, pl_PL: pl, pt_BR: pt, sk_SK: sk, zh_TW: zh-Hant, zh_CN: zh-Hans
source_file = src/ios/en.lproj/Localizable.strings
source_lang = en
[o:yetanothershadowsocket:p:yetanothershadowsocket:r:yass_ios_main_strings]
file_filter = src/ios/<lang>.lproj/Main.strings
lang_map = zh_TW: zh-Hant, zh_CN: zh-Hans
lang_map = cs_CZ: cs, de_DE: de, el_GR: el, et_EE: et, fr_FR: fr, he_IL: he, hu_HU: hu, ko_KR: ko, nb_NO: nb, nl_NL: nl, pl_PL: pl, pt_BR: pt, sk_SK: sk, zh_TW: zh-Hant, zh_CN: zh-Hans
source_file = src/ios/en.lproj/Main.strings
source_lang = en

View File

@@ -14,8 +14,11 @@
</description>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-2.0</project_license>
<url type="homepage">https://github.com/Chilledheart/yass</url>
<url type="bugtracker">https://github.com/Chilledheart/yass/issues</url>
<url type="homepage">https://letshack.info</url>
<url type="faq">https://github.com/Chilledheart/yass/wiki/Usage</url>
<url type="translate">https://app.transifex.com/yetanothershadowsocket/yetanothershadowsocket</url>
<url type="vcs-browser">https://github.com/Chilledheart/yass</url>
<launchable type="desktop-id">io.github.chilledheart.yass.desktop</launchable>
<screenshots>
<screenshot type="default">