mirror of
https://github.com/bolucat/Archive.git
synced 2025-10-08 17:40:46 +08:00
Update On Tue Apr 15 20:36:35 CEST 2025
This commit is contained in:
1
.github/update.log
vendored
1
.github/update.log
vendored
@@ -973,3 +973,4 @@ Update On Fri Apr 11 20:36:10 CEST 2025
|
||||
Update On Sat Apr 12 20:33:39 CEST 2025
|
||||
Update On Sun Apr 13 20:36:07 CEST 2025
|
||||
Update On Mon Apr 14 20:39:52 CEST 2025
|
||||
Update On Tue Apr 15 20:36:26 CEST 2025
|
||||
|
113
clash-meta/.github/workflows/test.yml
vendored
Normal file
113
clash-meta/.github/workflows/test.yml
vendored
Normal file
@@ -0,0 +1,113 @@
|
||||
name: Test
|
||||
on:
|
||||
push:
|
||||
paths-ignore:
|
||||
- "docs/**"
|
||||
- "README.md"
|
||||
- ".github/ISSUE_TEMPLATE/**"
|
||||
branches:
|
||||
- Alpha
|
||||
tags:
|
||||
- "v*"
|
||||
pull_request:
|
||||
branches:
|
||||
- Alpha
|
||||
|
||||
jobs:
|
||||
test:
|
||||
strategy:
|
||||
matrix:
|
||||
os:
|
||||
- 'ubuntu-latest' # amd64 linux
|
||||
- 'windows-latest' # amd64 windows
|
||||
- 'macos-latest' # arm64 macos
|
||||
- 'ubuntu-24.04-arm' # arm64 linux
|
||||
- 'macos-13' # amd64 macos
|
||||
go-version:
|
||||
- '1.24'
|
||||
- '1.23'
|
||||
- '1.22'
|
||||
- '1.21'
|
||||
- '1.20'
|
||||
fail-fast: false
|
||||
runs-on: ${{ matrix.os }}
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
env:
|
||||
CGO_ENABLED: 0
|
||||
GOTOOLCHAIN: local
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: ${{ matrix.go-version }}
|
||||
|
||||
# modify from https://github.com/restic/restic/issues/4636#issuecomment-1896455557
|
||||
# this patch file only works on golang1.24.x
|
||||
# that means after golang1.25 release it must be changed
|
||||
# see: https://github.com/MetaCubeX/go/commits/release-branch.go1.24/
|
||||
# revert:
|
||||
# 693def151adff1af707d82d28f55dba81ceb08e1: "crypto/rand,runtime: switch RtlGenRandom for ProcessPrng"
|
||||
# 7c1157f9544922e96945196b47b95664b1e39108: "net: remove sysSocket fallback for Windows 7"
|
||||
# 48042aa09c2f878c4faa576948b07fe625c4707a: "syscall: remove Windows 7 console handle workaround"
|
||||
# a17d959debdb04cd550016a3501dd09d50cd62e7: "runtime: always use LoadLibraryEx to load system libraries"
|
||||
- name: Revert Golang1.24 commit for Windows7/8
|
||||
if: ${{ runner.os == 'Windows' && matrix.go-version == '1.24' }}
|
||||
run: |
|
||||
cd $(go env GOROOT)
|
||||
curl https://github.com/MetaCubeX/go/commit/2a406dc9f1ea7323d6ca9fccb2fe9ddebb6b1cc8.diff | patch --verbose -p 1
|
||||
curl https://github.com/MetaCubeX/go/commit/7b1fd7d39c6be0185fbe1d929578ab372ac5c632.diff | patch --verbose -p 1
|
||||
curl https://github.com/MetaCubeX/go/commit/979d6d8bab3823ff572ace26767fd2ce3cf351ae.diff | patch --verbose -p 1
|
||||
curl https://github.com/MetaCubeX/go/commit/ac3e93c061779dfefc0dd13a5b6e6f764a25621e.diff | patch --verbose -p 1
|
||||
|
||||
# modify from https://github.com/restic/restic/issues/4636#issuecomment-1896455557
|
||||
# this patch file only works on golang1.23.x
|
||||
# that means after golang1.24 release it must be changed
|
||||
# see: https://github.com/MetaCubeX/go/commits/release-branch.go1.23/
|
||||
# revert:
|
||||
# 693def151adff1af707d82d28f55dba81ceb08e1: "crypto/rand,runtime: switch RtlGenRandom for ProcessPrng"
|
||||
# 7c1157f9544922e96945196b47b95664b1e39108: "net: remove sysSocket fallback for Windows 7"
|
||||
# 48042aa09c2f878c4faa576948b07fe625c4707a: "syscall: remove Windows 7 console handle workaround"
|
||||
# a17d959debdb04cd550016a3501dd09d50cd62e7: "runtime: always use LoadLibraryEx to load system libraries"
|
||||
- name: Revert Golang1.23 commit for Windows7/8
|
||||
if: ${{ runner.os == 'Windows' && matrix.go-version == '1.23' }}
|
||||
run: |
|
||||
cd $(go env GOROOT)
|
||||
curl https://github.com/MetaCubeX/go/commit/9ac42137ef6730e8b7daca016ece831297a1d75b.diff | patch --verbose -p 1
|
||||
curl https://github.com/MetaCubeX/go/commit/21290de8a4c91408de7c2b5b68757b1e90af49dd.diff | patch --verbose -p 1
|
||||
curl https://github.com/MetaCubeX/go/commit/6a31d3fa8e47ddabc10bd97bff10d9a85f4cfb76.diff | patch --verbose -p 1
|
||||
curl https://github.com/MetaCubeX/go/commit/69e2eed6dd0f6d815ebf15797761c13f31213dd6.diff | patch --verbose -p 1
|
||||
|
||||
# modify from https://github.com/restic/restic/issues/4636#issuecomment-1896455557
|
||||
# this patch file only works on golang1.22.x
|
||||
# that means after golang1.23 release it must be changed
|
||||
# see: https://github.com/MetaCubeX/go/commits/release-branch.go1.22/
|
||||
# revert:
|
||||
# 693def151adff1af707d82d28f55dba81ceb08e1: "crypto/rand,runtime: switch RtlGenRandom for ProcessPrng"
|
||||
# 7c1157f9544922e96945196b47b95664b1e39108: "net: remove sysSocket fallback for Windows 7"
|
||||
# 48042aa09c2f878c4faa576948b07fe625c4707a: "syscall: remove Windows 7 console handle workaround"
|
||||
# a17d959debdb04cd550016a3501dd09d50cd62e7: "runtime: always use LoadLibraryEx to load system libraries"
|
||||
- name: Revert Golang1.22 commit for Windows7/8
|
||||
if: ${{ runner.os == 'Windows' && matrix.go-version == '1.22' }}
|
||||
run: |
|
||||
cd $(go env GOROOT)
|
||||
curl https://github.com/MetaCubeX/go/commit/9779155f18b6556a034f7bb79fb7fb2aad1e26a9.diff | patch --verbose -p 1
|
||||
curl https://github.com/MetaCubeX/go/commit/ef0606261340e608017860b423ffae5c1ce78239.diff | patch --verbose -p 1
|
||||
curl https://github.com/MetaCubeX/go/commit/7f83badcb925a7e743188041cb6e561fc9b5b642.diff | patch --verbose -p 1
|
||||
curl https://github.com/MetaCubeX/go/commit/83ff9782e024cb328b690cbf0da4e7848a327f4f.diff | patch --verbose -p 1
|
||||
|
||||
# modify from https://github.com/restic/restic/issues/4636#issuecomment-1896455557
|
||||
- name: Revert Golang1.21 commit for Windows7/8
|
||||
if: ${{ runner.os == 'Windows' && matrix.go-version == '1.21' }}
|
||||
run: |
|
||||
cd $(go env GOROOT)
|
||||
curl https://github.com/golang/go/commit/9e43850a3298a9b8b1162ba0033d4c53f8637571.diff | patch --verbose -R -p 1
|
||||
|
||||
- name: Test
|
||||
run: go test ./... -v -count=1
|
||||
|
||||
- name: Test with tag with_gvisor
|
||||
run: go test ./... -v -count=1 -tags "with_gvisor"
|
@@ -22,9 +22,10 @@ func sleepAndSend[T any](ctx context.Context, delay int, input T) func() (T, err
|
||||
}
|
||||
|
||||
func TestPicker_Basic(t *testing.T) {
|
||||
t.Parallel()
|
||||
picker, ctx := WithContext[int](context.Background())
|
||||
picker.Go(sleepAndSend(ctx, 30, 2))
|
||||
picker.Go(sleepAndSend(ctx, 20, 1))
|
||||
picker.Go(sleepAndSend(ctx, 200, 2))
|
||||
picker.Go(sleepAndSend(ctx, 100, 1))
|
||||
|
||||
number := picker.Wait()
|
||||
assert.NotNil(t, number)
|
||||
@@ -32,8 +33,9 @@ func TestPicker_Basic(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestPicker_Timeout(t *testing.T) {
|
||||
t.Parallel()
|
||||
picker, ctx := WithTimeout[int](context.Background(), time.Millisecond*5)
|
||||
picker.Go(sleepAndSend(ctx, 20, 1))
|
||||
picker.Go(sleepAndSend(ctx, 100, 1))
|
||||
|
||||
number := picker.Wait()
|
||||
assert.Equal(t, number, lo.Empty[int]())
|
||||
|
18
clash-nyanpasu/backend/Cargo.lock
generated
18
clash-nyanpasu/backend/Cargo.lock
generated
@@ -1681,7 +1681,7 @@ version = "3.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fde0e0ec90c9dfb3b4b1a0891a7dcd0e2bffde2f7efed5fe7c9bb00e5bfb915e"
|
||||
dependencies = [
|
||||
"windows-sys 0.48.0",
|
||||
"windows-sys 0.52.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -4899,7 +4899,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"windows-targets 0.48.5",
|
||||
"windows-targets 0.52.6",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -6250,9 +6250,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openssl"
|
||||
version = "0.10.71"
|
||||
version = "0.10.72"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5e14130c6a98cd258fdcb0fb6d744152343ff729cbfcb28c656a9d12b999fbcd"
|
||||
checksum = "fedfea7d58a1f73118430a55da6a286e7b044961736ce96a16a17068ea25e5da"
|
||||
dependencies = [
|
||||
"bitflags 2.9.0",
|
||||
"cfg-if",
|
||||
@@ -6291,9 +6291,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "openssl-sys"
|
||||
version = "0.9.106"
|
||||
version = "0.9.107"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8bb61ea9811cc39e3c2069f40b8b8e2e70d8569b361f879786cc7ed48b777cdd"
|
||||
checksum = "8288979acd84749c744a9014b4382d42b8f7b2592847b5afb2ed29e5d16ede07"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"libc",
|
||||
@@ -7779,9 +7779,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "rust-i18n"
|
||||
version = "3.1.3"
|
||||
version = "3.1.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "71b3a6e1c6565b77c86d868eea3068b0eb39582510f9c78cfbd5c67bd36fda9b"
|
||||
checksum = "a2b6307cde881492032919adf26e254981604a6657b339ae23cce8358e9ee203"
|
||||
dependencies = [
|
||||
"globwalk",
|
||||
"once_cell",
|
||||
@@ -11125,7 +11125,7 @@ version = "0.1.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
|
||||
dependencies = [
|
||||
"windows-sys 0.48.0",
|
||||
"windows-sys 0.52.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@@ -44,7 +44,7 @@
|
||||
"clsx": "2.1.1",
|
||||
"d3-interpolate-path": "2.3.0",
|
||||
"sass-embedded": "1.86.3",
|
||||
"tailwind-merge": "3.0.2",
|
||||
"tailwind-merge": "3.2.0",
|
||||
"typescript-plugin-css-modules": "5.1.0",
|
||||
"vite-plugin-dts": "4.5.3"
|
||||
}
|
||||
|
@@ -5,7 +5,7 @@
|
||||
"mihomo_alpha": "alpha-8fa4e81",
|
||||
"clash_rs": "v0.7.7",
|
||||
"clash_premium": "2023-09-05-gdcc8d87",
|
||||
"clash_rs_alpha": "0.7.7-alpha+sha.0d2d303"
|
||||
"clash_rs_alpha": "0.7.7-alpha+sha.2f70559"
|
||||
},
|
||||
"arch_template": {
|
||||
"mihomo": {
|
||||
@@ -69,5 +69,5 @@
|
||||
"linux-armv7hf": "clash-armv7-unknown-linux-gnueabihf"
|
||||
}
|
||||
},
|
||||
"updated_at": "2025-04-12T22:20:40.754Z"
|
||||
"updated_at": "2025-04-14T22:20:56.639Z"
|
||||
}
|
||||
|
@@ -85,7 +85,7 @@
|
||||
"eslint-plugin-react-compiler": "19.0.0-beta-ebf51a3-20250411",
|
||||
"eslint-plugin-react-hooks": "5.2.0",
|
||||
"globals": "16.0.0",
|
||||
"knip": "5.46.5",
|
||||
"knip": "5.50.4",
|
||||
"lint-staged": "15.5.1",
|
||||
"neostandard": "0.12.1",
|
||||
"npm-run-all2": "7.0.2",
|
||||
|
99
clash-nyanpasu/pnpm-lock.yaml
generated
99
clash-nyanpasu/pnpm-lock.yaml
generated
@@ -103,8 +103,8 @@ importers:
|
||||
specifier: 16.0.0
|
||||
version: 16.0.0
|
||||
knip:
|
||||
specifier: 5.46.5
|
||||
version: 5.46.5(@types/node@22.13.17)(typescript@5.8.2)
|
||||
specifier: 5.50.4
|
||||
version: 5.50.4(@types/node@22.13.17)(typescript@5.8.2)
|
||||
lint-staged:
|
||||
specifier: 15.5.1
|
||||
version: 15.5.1
|
||||
@@ -529,8 +529,8 @@ importers:
|
||||
specifier: 1.86.3
|
||||
version: 1.86.3
|
||||
tailwind-merge:
|
||||
specifier: 3.0.2
|
||||
version: 3.0.2
|
||||
specifier: 3.2.0
|
||||
version: 3.2.0
|
||||
typescript-plugin-css-modules:
|
||||
specifier: 5.1.0
|
||||
version: 5.1.0(typescript@5.8.2)
|
||||
@@ -2021,26 +2021,14 @@ packages:
|
||||
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
|
||||
engines: {node: '>= 8'}
|
||||
|
||||
'@nodelib/fs.scandir@4.0.1':
|
||||
resolution: {integrity: sha512-vAkI715yhnmiPupY+dq+xenu5Tdf2TBQ66jLvBIcCddtz+5Q8LbMKaf9CIJJreez8fQ8fgaY+RaywQx8RJIWpw==}
|
||||
engines: {node: '>=18.18.0'}
|
||||
|
||||
'@nodelib/fs.stat@2.0.5':
|
||||
resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
|
||||
engines: {node: '>= 8'}
|
||||
|
||||
'@nodelib/fs.stat@4.0.0':
|
||||
resolution: {integrity: sha512-ctr6bByzksKRCV0bavi8WoQevU6plSp2IkllIsEqaiKe2mwNNnaluhnRhcsgGZHrrHk57B3lf95MkLMO3STYcg==}
|
||||
engines: {node: '>=18.18.0'}
|
||||
|
||||
'@nodelib/fs.walk@1.2.8':
|
||||
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
|
||||
engines: {node: '>= 8'}
|
||||
|
||||
'@nodelib/fs.walk@3.0.1':
|
||||
resolution: {integrity: sha512-nIh/M6Kh3ZtOmlY00DaUYB4xeeV6F3/ts1l29iwl3/cfyY/OuCfUx+v08zgx8TKPTifXRcjjqVQ4KB2zOYSbyw==}
|
||||
engines: {node: '>=18.18.0'}
|
||||
|
||||
'@nolyfill/is-core-module@1.0.39':
|
||||
resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==}
|
||||
engines: {node: '>=12.4.0'}
|
||||
@@ -2594,11 +2582,6 @@ packages:
|
||||
resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
'@snyk/github-codeowners@1.1.0':
|
||||
resolution: {integrity: sha512-lGFf08pbkEac0NYgVf4hdANpAgApRjNByLXB+WBip3qj1iendOIyAwP2GKkKbQMNVy2r1xxDf0ssfWscoiC+Vw==}
|
||||
engines: {node: '>=8.10'}
|
||||
hasBin: true
|
||||
|
||||
'@stylistic/eslint-plugin@2.11.0':
|
||||
resolution: {integrity: sha512-PNRHbydNG5EH8NK4c+izdJlxajIR6GxcUhzsYNRsn6Myep4dsZt0qFCz3rCPnkvgO5FYibDcMqgNHUT+zvjYZw==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
@@ -3461,10 +3444,6 @@ packages:
|
||||
resolution: {integrity: sha512-JVzqkCNRT+VfqzzgPWDPnwvDheSAUdiMUn3NoLXpDJF5lRqeJqyC9iGsAxIOAW+mzIdq+uP1TvcX6bMtrH0agg==}
|
||||
engines: {node: '>= 14'}
|
||||
|
||||
aggregate-error@3.1.0:
|
||||
resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
ahooks@3.8.4:
|
||||
resolution: {integrity: sha512-39wDEw2ZHvypaT14EpMMk4AzosHWt0z9bulY0BeDsvc9PqJEV+Kjh/4TZfftSsotBMq52iYIOFPd3PR56e0ZJg==}
|
||||
engines: {node: '>=8.0.0'}
|
||||
@@ -3845,10 +3824,6 @@ packages:
|
||||
resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==}
|
||||
engines: {node: '>= 10.0'}
|
||||
|
||||
clean-stack@2.2.0:
|
||||
resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
|
||||
engines: {node: '>=6'}
|
||||
|
||||
cli-boxes@1.0.0:
|
||||
resolution: {integrity: sha512-3Fo5wu8Ytle8q9iCzS4D2MWVL2X7JVWRiS1BnXbTFDhS9c/REkM9vd1AmabsoZoY5/dGi5TT9iKL8Kb6DeBRQg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
@@ -3911,10 +3886,6 @@ packages:
|
||||
commander@2.20.3:
|
||||
resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
|
||||
|
||||
commander@4.1.1:
|
||||
resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
|
||||
engines: {node: '>= 6'}
|
||||
|
||||
commander@7.2.0:
|
||||
resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
|
||||
engines: {node: '>= 10'}
|
||||
@@ -5281,10 +5252,6 @@ packages:
|
||||
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
|
||||
engines: {node: '>=0.8.19'}
|
||||
|
||||
indent-string@4.0.0:
|
||||
resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
inflight@1.0.6:
|
||||
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
|
||||
deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
|
||||
@@ -5739,8 +5706,8 @@ packages:
|
||||
resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
knip@5.46.5:
|
||||
resolution: {integrity: sha512-w5t4K/raY8R8nJ9TZZBi/rZNsrJie6qYUJiL+A8l/4/002WQwzBfFMJftEo1opxgsV0ounFPJYy/9AAw3CO4Rg==}
|
||||
knip@5.50.4:
|
||||
resolution: {integrity: sha512-In+GjPpd2P3IDZnBBP4QF27vhQOhuBkICiuN9j+DMOf/m/qAFLGcbvuAGxco8IDvf26pvBnfeSmm1f6iNCkgOA==}
|
||||
engines: {node: '>=18.18.0'}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
@@ -6423,10 +6390,6 @@ packages:
|
||||
resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==}
|
||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||
|
||||
p-map@4.0.0:
|
||||
resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
p-retry@6.2.1:
|
||||
resolution: {integrity: sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==}
|
||||
engines: {node: '>=16.17'}
|
||||
@@ -7581,9 +7544,6 @@ packages:
|
||||
resolution: {integrity: sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==}
|
||||
engines: {node: '>= 8.0'}
|
||||
|
||||
summary@2.1.0:
|
||||
resolution: {integrity: sha512-nMIjMrd5Z2nuB2RZCKJfFMjgS3fygbeyGk9PxPPaJR1RIcyN9yn4A63Isovzm3ZtQuEkLBVgMdPup8UeLH7aQw==}
|
||||
|
||||
supports-color@5.5.0:
|
||||
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
|
||||
engines: {node: '>=4'}
|
||||
@@ -7634,8 +7594,8 @@ packages:
|
||||
resolution: {integrity: sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==}
|
||||
engines: {node: '>=10.0.0'}
|
||||
|
||||
tailwind-merge@3.0.2:
|
||||
resolution: {integrity: sha512-l7z+OYZ7mu3DTqrL88RiKrKIqO3NcpEO8V/Od04bNpvk0kiIFndGEoqfuzvj4yuhRkHKjRkII2z+KS2HfPcSxw==}
|
||||
tailwind-merge@3.2.0:
|
||||
resolution: {integrity: sha512-FQT/OVqCD+7edmmJpsgCsY820RTD5AkBryuG5IUqR5YQZSdj5xlH5nLgH7YPths7WsLPSpSBNneJdM8aS8aeFA==}
|
||||
|
||||
tailwindcss@4.0.17:
|
||||
resolution: {integrity: sha512-OErSiGzRa6rLiOvaipsDZvLMSpsBZ4ysB4f0VKGXUrjw2jfkJRd6kjRKV2+ZmTCNvwtvgdDam5D7w6WXsdLJZw==}
|
||||
@@ -9947,25 +9907,13 @@ snapshots:
|
||||
'@nodelib/fs.stat': 2.0.5
|
||||
run-parallel: 1.2.0
|
||||
|
||||
'@nodelib/fs.scandir@4.0.1':
|
||||
dependencies:
|
||||
'@nodelib/fs.stat': 4.0.0
|
||||
run-parallel: 1.2.0
|
||||
|
||||
'@nodelib/fs.stat@2.0.5': {}
|
||||
|
||||
'@nodelib/fs.stat@4.0.0': {}
|
||||
|
||||
'@nodelib/fs.walk@1.2.8':
|
||||
dependencies:
|
||||
'@nodelib/fs.scandir': 2.1.5
|
||||
fastq: 1.17.1
|
||||
|
||||
'@nodelib/fs.walk@3.0.1':
|
||||
dependencies:
|
||||
'@nodelib/fs.scandir': 4.0.1
|
||||
fastq: 1.17.1
|
||||
|
||||
'@nolyfill/is-core-module@1.0.39': {}
|
||||
|
||||
'@octokit/app@15.1.6':
|
||||
@@ -10523,12 +10471,6 @@ snapshots:
|
||||
|
||||
'@sindresorhus/is@4.6.0': {}
|
||||
|
||||
'@snyk/github-codeowners@1.1.0':
|
||||
dependencies:
|
||||
commander: 4.1.1
|
||||
ignore: 5.3.2
|
||||
p-map: 4.0.0
|
||||
|
||||
'@stylistic/eslint-plugin@2.11.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.2)':
|
||||
dependencies:
|
||||
'@typescript-eslint/utils': 8.29.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.2)
|
||||
@@ -11454,11 +11396,6 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
aggregate-error@3.1.0:
|
||||
dependencies:
|
||||
clean-stack: 2.2.0
|
||||
indent-string: 4.0.0
|
||||
|
||||
ahooks@3.8.4(react@19.1.0):
|
||||
dependencies:
|
||||
'@babel/runtime': 7.26.0
|
||||
@@ -11907,8 +11844,6 @@ snapshots:
|
||||
dependencies:
|
||||
source-map: 0.6.1
|
||||
|
||||
clean-stack@2.2.0: {}
|
||||
|
||||
cli-boxes@1.0.0: {}
|
||||
|
||||
cli-cursor@5.0.0:
|
||||
@@ -11961,8 +11896,6 @@ snapshots:
|
||||
|
||||
commander@2.20.3: {}
|
||||
|
||||
commander@4.1.1: {}
|
||||
|
||||
commander@7.2.0: {}
|
||||
|
||||
commander@8.3.0: {}
|
||||
@@ -13634,8 +13567,6 @@ snapshots:
|
||||
|
||||
imurmurhash@0.1.4: {}
|
||||
|
||||
indent-string@4.0.0: {}
|
||||
|
||||
inflight@1.0.6:
|
||||
dependencies:
|
||||
once: 1.4.0
|
||||
@@ -14035,10 +13966,9 @@ snapshots:
|
||||
|
||||
kind-of@6.0.3: {}
|
||||
|
||||
knip@5.46.5(@types/node@22.13.17)(typescript@5.8.2):
|
||||
knip@5.50.4(@types/node@22.13.17)(typescript@5.8.2):
|
||||
dependencies:
|
||||
'@nodelib/fs.walk': 3.0.1
|
||||
'@snyk/github-codeowners': 1.1.0
|
||||
'@nodelib/fs.walk': 1.2.8
|
||||
'@types/node': 22.13.17
|
||||
easy-table: 1.2.0
|
||||
enhanced-resolve: 5.18.1
|
||||
@@ -14051,7 +13981,6 @@ snapshots:
|
||||
pretty-ms: 9.1.0
|
||||
smol-toml: 1.3.1
|
||||
strip-json-comments: 5.0.1
|
||||
summary: 2.1.0
|
||||
typescript: 5.8.2
|
||||
zod: 3.24.2
|
||||
zod-validation-error: 3.3.1(zod@3.24.2)
|
||||
@@ -14880,10 +14809,6 @@ snapshots:
|
||||
dependencies:
|
||||
p-limit: 4.0.0
|
||||
|
||||
p-map@4.0.0:
|
||||
dependencies:
|
||||
aggregate-error: 3.1.0
|
||||
|
||||
p-retry@6.2.1:
|
||||
dependencies:
|
||||
'@types/retry': 0.12.2
|
||||
@@ -16055,8 +15980,6 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
summary@2.1.0: {}
|
||||
|
||||
supports-color@5.5.0:
|
||||
dependencies:
|
||||
has-flag: 3.0.0
|
||||
@@ -16107,7 +16030,7 @@ snapshots:
|
||||
string-width: 4.2.3
|
||||
strip-ansi: 6.0.1
|
||||
|
||||
tailwind-merge@3.0.2: {}
|
||||
tailwind-merge@3.2.0: {}
|
||||
|
||||
tailwindcss@4.0.17: {}
|
||||
|
||||
|
4
clash-verge-rev/.github/workflows/alpha.yml
vendored
4
clash-verge-rev/.github/workflows/alpha.yml
vendored
@@ -2,9 +2,9 @@ name: Alpha Build
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
# schedule:
|
||||
# UTC+8 0,6,12,18
|
||||
- cron: "0 16,22,4,10 * * *"
|
||||
# - cron: "0 16,22,4,10 * * *"
|
||||
permissions: write-all
|
||||
env:
|
||||
CARGO_INCREMENTAL: 0
|
||||
|
@@ -12,6 +12,15 @@
|
||||
- 解锁测试报错信息
|
||||
- Macos 快捷键关闭窗口无法启用自动轻量模式
|
||||
- 静默启动异常窗口创建和关闭流程
|
||||
- 使用 tauri window-state 管理窗口,尝试解决各种窗口异常
|
||||
|
||||
#### 新增了:
|
||||
- 外部控制的开关
|
||||
- 使用 socks 进行内核通信,以解决各种潜在的内核通信异常
|
||||
|
||||
#### 重构了:
|
||||
- Mihomo 内核不再使用 http 交互,而是使用 socket 进行通信
|
||||
|
||||
|
||||
## v2.2.3
|
||||
|
||||
|
@@ -42,6 +42,7 @@
|
||||
"@tauri-apps/plugin-process": "^2.2.0",
|
||||
"@tauri-apps/plugin-shell": "2.2.0",
|
||||
"@tauri-apps/plugin-updater": "2.3.0",
|
||||
"@tauri-apps/plugin-window-state": "^2.4.0",
|
||||
"@types/d3-shape": "^3.1.7",
|
||||
"@types/json-schema": "^7.0.15",
|
||||
"ahooks": "^3.8.4",
|
||||
|
69
clash-verge-rev/src-tauri/Cargo.lock
generated
69
clash-verge-rev/src-tauri/Cargo.lock
generated
@@ -1092,6 +1092,7 @@ dependencies = [
|
||||
"tauri-plugin-process",
|
||||
"tauri-plugin-shell",
|
||||
"tauri-plugin-updater",
|
||||
"tauri-plugin-window-state",
|
||||
"tempfile",
|
||||
"tokio",
|
||||
"tokio-tungstenite 0.26.2",
|
||||
@@ -1823,6 +1824,12 @@ dependencies = [
|
||||
"litrs",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "dotenv"
|
||||
version = "0.15.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f"
|
||||
|
||||
[[package]]
|
||||
name = "downcast-rs"
|
||||
version = "1.2.1"
|
||||
@@ -2912,7 +2919,7 @@ dependencies = [
|
||||
"httpdate",
|
||||
"itoa 1.0.15",
|
||||
"pin-project-lite",
|
||||
"socket2 0.5.8",
|
||||
"socket2 0.4.10",
|
||||
"tokio",
|
||||
"tower-service",
|
||||
"tracing",
|
||||
@@ -2932,6 +2939,7 @@ dependencies = [
|
||||
"http 1.3.1",
|
||||
"http-body 1.0.1",
|
||||
"httparse",
|
||||
"httpdate",
|
||||
"itoa 1.0.15",
|
||||
"pin-project-lite",
|
||||
"smallvec",
|
||||
@@ -2987,9 +2995,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hyper-util"
|
||||
version = "0.1.10"
|
||||
version = "0.1.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4"
|
||||
checksum = "497bbc33a26fdd4af9ed9c70d63f61cf56a938375fbb32df34db9b1cd6d643f2"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"futures-channel",
|
||||
@@ -2997,13 +3005,29 @@ dependencies = [
|
||||
"http 1.3.1",
|
||||
"http-body 1.0.1",
|
||||
"hyper 1.6.0",
|
||||
"libc",
|
||||
"pin-project-lite",
|
||||
"socket2 0.5.8",
|
||||
"socket2 0.5.9",
|
||||
"tokio",
|
||||
"tower-service",
|
||||
"tracing",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hyperlocal"
|
||||
version = "0.9.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "986c5ce3b994526b3cd75578e62554abd09f0899d6206de48b3e96ab34ccc8c7"
|
||||
dependencies = [
|
||||
"hex",
|
||||
"http-body-util",
|
||||
"hyper 1.6.0",
|
||||
"hyper-util",
|
||||
"pin-project-lite",
|
||||
"tokio",
|
||||
"tower-service",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "iana-time-zone"
|
||||
version = "0.1.62"
|
||||
@@ -3851,10 +3875,18 @@ dependencies = [
|
||||
name = "mihomo_api"
|
||||
version = "0.0.0"
|
||||
dependencies = [
|
||||
"reqwest",
|
||||
"serde",
|
||||
"async-trait",
|
||||
"dotenv",
|
||||
"futures",
|
||||
"http-body-util",
|
||||
"hyper 1.6.0",
|
||||
"hyper-util",
|
||||
"hyperlocal",
|
||||
"lazy_static",
|
||||
"serde_json",
|
||||
"time",
|
||||
"tokio",
|
||||
"tokio-util",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -5343,7 +5375,7 @@ dependencies = [
|
||||
"quinn-udp",
|
||||
"rustc-hash",
|
||||
"rustls",
|
||||
"socket2 0.5.8",
|
||||
"socket2 0.5.9",
|
||||
"thiserror 2.0.12",
|
||||
"tokio",
|
||||
"tracing",
|
||||
@@ -5379,7 +5411,7 @@ dependencies = [
|
||||
"cfg_aliases 0.2.1",
|
||||
"libc",
|
||||
"once_cell",
|
||||
"socket2 0.5.8",
|
||||
"socket2 0.5.9",
|
||||
"tracing",
|
||||
"windows-sys 0.59.0",
|
||||
]
|
||||
@@ -6483,9 +6515,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "socket2"
|
||||
version = "0.5.8"
|
||||
version = "0.5.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8"
|
||||
checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"windows-sys 0.52.0",
|
||||
@@ -7130,6 +7162,21 @@ dependencies = [
|
||||
"zip",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tauri-plugin-window-state"
|
||||
version = "2.2.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a27a3fe49de72adbe0d84aee33c89a0b059722cd0b42aaeab29eaaee7f7535cd"
|
||||
dependencies = [
|
||||
"bitflags 2.9.0",
|
||||
"log",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"tauri",
|
||||
"tauri-plugin",
|
||||
"thiserror 2.0.12",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tauri-runtime"
|
||||
version = "2.5.0"
|
||||
@@ -7468,7 +7515,7 @@ dependencies = [
|
||||
"parking_lot",
|
||||
"pin-project-lite",
|
||||
"signal-hook-registry",
|
||||
"socket2 0.5.8",
|
||||
"socket2 0.5.9",
|
||||
"tokio-macros",
|
||||
"tracing",
|
||||
"windows-sys 0.52.0",
|
||||
|
@@ -61,6 +61,7 @@ tauri-plugin-process = "2.2.0"
|
||||
tauri-plugin-clipboard-manager = "2.2.2"
|
||||
tauri-plugin-deep-link = "2.2.0"
|
||||
tauri-plugin-devtools = "2.0.0"
|
||||
tauri-plugin-window-state = "2.2.2"
|
||||
zip = "2.5.0"
|
||||
reqwest_dav = "0.1.15"
|
||||
aes-gcm = { version = "0.10.3", features = ["std"] }
|
||||
|
@@ -214,3 +214,11 @@ pub fn copy_icon_file(path: String, icon_info: IconInfo) -> CmdResult<String> {
|
||||
Err("file not found".to_string())
|
||||
}
|
||||
}
|
||||
|
||||
/// 通知UI已准备就绪
|
||||
#[tauri::command]
|
||||
pub fn notify_ui_ready() -> CmdResult<()> {
|
||||
log::info!(target: "app", "前端UI已准备就绪");
|
||||
crate::utils::resolve::mark_ui_ready();
|
||||
Ok(())
|
||||
}
|
||||
|
@@ -2,6 +2,7 @@ use super::CmdResult;
|
||||
use crate::{
|
||||
config::*, core::*, feat, module::mihomo::MihomoManager, process::AsyncHandler, wrap_err,
|
||||
};
|
||||
use mihomo_api::model::MihomoClient;
|
||||
use serde_yaml::Mapping;
|
||||
|
||||
/// 复制Clash环境变量
|
||||
@@ -70,6 +71,7 @@ pub async fn clash_api_get_proxy_delay(
|
||||
MihomoManager::global()
|
||||
.test_proxy_delay(&name, url, timeout)
|
||||
.await
|
||||
.map_err(|e| e.to_string())
|
||||
}
|
||||
|
||||
/// 测试URL延迟
|
||||
|
@@ -1,24 +1,23 @@
|
||||
use mihomo_api::model::MihomoClient;
|
||||
|
||||
use super::CmdResult;
|
||||
use crate::module::mihomo::MihomoManager;
|
||||
|
||||
#[tauri::command]
|
||||
pub async fn get_proxies() -> CmdResult<serde_json::Value> {
|
||||
let mannager = MihomoManager::global();
|
||||
|
||||
mannager
|
||||
.refresh_proxies()
|
||||
.await
|
||||
.map(|_| mannager.get_proxies())
|
||||
.or_else(|_| Ok(mannager.get_proxies()))
|
||||
let manager = MihomoManager::global();
|
||||
manager.refresh_proxies().await.map_err(|e| e.to_string())?;
|
||||
let data = manager.get_data_proxies().await;
|
||||
Ok(data)
|
||||
}
|
||||
|
||||
#[tauri::command]
|
||||
pub async fn get_providers_proxies() -> CmdResult<serde_json::Value> {
|
||||
let mannager = MihomoManager::global();
|
||||
|
||||
mannager
|
||||
let manager = MihomoManager::global();
|
||||
manager
|
||||
.refresh_providers_proxies()
|
||||
.await
|
||||
.map(|_| mannager.get_providers_proxies())
|
||||
.or_else(|_| Ok(mannager.get_providers_proxies()))
|
||||
.map_err(|e| e.to_string())?;
|
||||
let data = manager.get_data_providers_proxies().await;
|
||||
Ok(data)
|
||||
}
|
||||
|
@@ -51,6 +51,10 @@ impl IClashTemp {
|
||||
map.insert("ipv6".into(), true.into());
|
||||
map.insert("mode".into(), "rule".into());
|
||||
map.insert("external-controller".into(), "127.0.0.1:9097".into());
|
||||
#[cfg(not(target_os = "windows"))]
|
||||
map.insert("external-controller-unix".into(), "mihomo.sock".into());
|
||||
#[cfg(target_os = "windows")]
|
||||
map.insert("external-controller-pipe".into(), r"\\.\pipe\mihomo".into());
|
||||
let mut cors_map = Mapping::new();
|
||||
cors_map.insert("allow-private-network".into(), true.into());
|
||||
cors_map.insert("allow-origins".into(), vec!["*"].into());
|
||||
|
@@ -15,6 +15,7 @@ use crate::{
|
||||
},
|
||||
};
|
||||
use anyhow::Result;
|
||||
use mihomo_api::model::MihomoClient;
|
||||
use once_cell::sync::OnceCell;
|
||||
use std::{fmt, path::PathBuf, sync::Arc};
|
||||
use tauri_plugin_shell::{process::CommandChild, ShellExt};
|
||||
|
@@ -6,6 +6,7 @@ use crate::{
|
||||
process::AsyncHandler,
|
||||
utils::{logging::Type, resolve},
|
||||
};
|
||||
use mihomo_api::model::MihomoClient;
|
||||
use serde_yaml::{Mapping, Value};
|
||||
use tauri::Manager;
|
||||
|
||||
|
@@ -1,3 +1,5 @@
|
||||
use mihomo_api::model::MihomoClient;
|
||||
|
||||
#[cfg(target_os = "macos")]
|
||||
use crate::AppHandleManager;
|
||||
use crate::{
|
||||
@@ -74,12 +76,11 @@ pub fn quit() {
|
||||
"enable": false
|
||||
}
|
||||
});
|
||||
timeout(
|
||||
Duration::from_secs(1),
|
||||
MihomoManager::global().patch_configs(disable_tun),
|
||||
)
|
||||
.await
|
||||
.is_ok()
|
||||
|
||||
let patch_future =
|
||||
async { MihomoManager::global().patch_configs(disable_tun).await };
|
||||
|
||||
timeout(Duration::from_secs(1), patch_future).await.is_ok()
|
||||
} else {
|
||||
true
|
||||
};
|
||||
|
@@ -19,6 +19,7 @@ use tauri::AppHandle;
|
||||
use tauri::Manager;
|
||||
use tauri_plugin_autostart::MacosLauncher;
|
||||
use tauri_plugin_deep_link::DeepLinkExt;
|
||||
use tauri_plugin_window_state;
|
||||
use utils::logging::Type;
|
||||
|
||||
/// A global singleton handle to the application.
|
||||
@@ -117,6 +118,11 @@ pub fn run() {
|
||||
.plugin(tauri_plugin_dialog::init())
|
||||
.plugin(tauri_plugin_shell::init())
|
||||
.plugin(tauri_plugin_deep_link::init())
|
||||
.plugin(
|
||||
tauri_plugin_window_state::Builder::default()
|
||||
.with_state_flags(tauri_plugin_window_state::StateFlags::all())
|
||||
.build(),
|
||||
)
|
||||
.setup(|app| {
|
||||
#[cfg(any(target_os = "linux", all(debug_assertions, windows)))]
|
||||
{
|
||||
@@ -153,6 +159,7 @@ pub fn run() {
|
||||
cmd::restart_core,
|
||||
cmd::restart_app,
|
||||
// 添加新的命令
|
||||
cmd::notify_ui_ready,
|
||||
cmd::get_running_mode,
|
||||
cmd::get_app_uptime,
|
||||
cmd::get_auto_launch_status,
|
||||
|
@@ -1,7 +1,3 @@
|
||||
use anyhow::{Context, Result};
|
||||
use delay_timer::prelude::TaskBuilder;
|
||||
use tauri::{Listener, Manager};
|
||||
|
||||
use crate::{
|
||||
config::Config,
|
||||
core::{handle, timer::Timer},
|
||||
@@ -10,6 +6,13 @@ use crate::{
|
||||
AppHandleManager,
|
||||
};
|
||||
|
||||
use anyhow::{Context, Result};
|
||||
use delay_timer::prelude::TaskBuilder;
|
||||
use once_cell::sync::OnceCell;
|
||||
use tauri::{Listener, Manager};
|
||||
|
||||
pub static AUTO_LIGHT_WEIGHT_MODE_INIT: OnceCell<()> = OnceCell::new();
|
||||
|
||||
const LIGHT_WEIGHT_TASK_UID: &str = "light_weight_task";
|
||||
|
||||
pub fn enable_auto_light_weight_mode() {
|
||||
@@ -143,3 +146,19 @@ fn cancel_light_weight_timer() -> Result<()> {
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
pub fn run_once_auto_lightweight() {
|
||||
AUTO_LIGHT_WEIGHT_MODE_INIT.get_or_init(|| {
|
||||
let is_silent_start = { Config::verge().data().enable_silent_start }.unwrap_or(false);
|
||||
let enable_auto = { Config::verge().data().enable_auto_light_weight_mode }.unwrap_or(false);
|
||||
if enable_auto && is_silent_start {
|
||||
logging!(
|
||||
info,
|
||||
Type::Lightweight,
|
||||
true,
|
||||
"Add timer listener when creating window in silent start mode"
|
||||
);
|
||||
enable_auto_light_weight_mode();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@@ -1,4 +1,4 @@
|
||||
use crate::config::Config;
|
||||
use crate::{config::Config, utils::dirs::app_socket_path};
|
||||
use mihomo_api;
|
||||
use once_cell::sync::{Lazy, OnceCell};
|
||||
use std::sync::Mutex;
|
||||
@@ -24,20 +24,18 @@ impl MihomoManager {
|
||||
&INSTANCE
|
||||
}
|
||||
|
||||
pub fn global() -> mihomo_api::MihomoManager {
|
||||
pub fn global() -> &'static mihomo_api::MihomoManager {
|
||||
let instance = MihomoManager::__global();
|
||||
let (current_server, headers) = MihomoManager::get_clash_client_info().unwrap();
|
||||
|
||||
let lock = instance.mihomo.lock().unwrap();
|
||||
if let Some(mihomo) = lock.get() {
|
||||
if mihomo.get_mihomo_server() == current_server {
|
||||
return mihomo.clone();
|
||||
}
|
||||
let mihomo = &instance.mihomo;
|
||||
let lock = mihomo.lock().unwrap();
|
||||
|
||||
if lock.get().is_none() {
|
||||
let socket_path = MihomoManager::get_socket_path();
|
||||
lock.set(mihomo_api::MihomoManager::new(socket_path)).ok();
|
||||
}
|
||||
|
||||
lock.set(mihomo_api::MihomoManager::new(current_server, headers))
|
||||
.ok();
|
||||
lock.get().unwrap().clone()
|
||||
unsafe { std::mem::transmute(lock.get().unwrap()) }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,4 +65,12 @@ impl MihomoManager {
|
||||
let token = http::header::HeaderValue::from_str(&auth).unwrap();
|
||||
(ws_url, token)
|
||||
}
|
||||
|
||||
fn get_socket_path() -> String {
|
||||
#[cfg(unix)]
|
||||
let socket_path = app_socket_path().unwrap();
|
||||
#[cfg(windows)]
|
||||
let socket_path = r"\\.\pipe\mihomo";
|
||||
socket_path
|
||||
}
|
||||
}
|
||||
|
@@ -179,3 +179,10 @@ pub fn get_encryption_key() -> Result<Vec<u8>> {
|
||||
Ok(key)
|
||||
}
|
||||
}
|
||||
|
||||
pub fn app_socket_path() -> Result<String> {
|
||||
let app_dir = app_home_dir()?;
|
||||
let socket_path = app_dir.join("mihomo.sock");
|
||||
let socket_path = path_to_str(&socket_path)?;
|
||||
Ok(socket_path.to_string())
|
||||
}
|
||||
|
@@ -11,9 +11,11 @@ use crate::{
|
||||
};
|
||||
use anyhow::{bail, Result};
|
||||
use once_cell::sync::OnceCell;
|
||||
use parking_lot::RwLock;
|
||||
use percent_encoding::percent_decode_str;
|
||||
use serde_json;
|
||||
use serde_yaml::Mapping;
|
||||
use std::net::TcpListener;
|
||||
use std::{net::TcpListener, sync::Arc};
|
||||
use tauri::{App, Manager};
|
||||
|
||||
use tauri::Url;
|
||||
@@ -22,6 +24,23 @@ use tauri::Url;
|
||||
|
||||
pub static VERSION: OnceCell<String> = OnceCell::new();
|
||||
|
||||
// 窗口状态文件中的尺寸
|
||||
static STATE_WIDTH: OnceCell<u32> = OnceCell::new();
|
||||
static STATE_HEIGHT: OnceCell<u32> = OnceCell::new();
|
||||
|
||||
// 添加全局UI准备就绪标志
|
||||
static UI_READY: OnceCell<Arc<RwLock<bool>>> = OnceCell::new();
|
||||
|
||||
fn get_ui_ready() -> &'static Arc<RwLock<bool>> {
|
||||
UI_READY.get_or_init(|| Arc::new(RwLock::new(false)))
|
||||
}
|
||||
|
||||
// 标记UI已准备就绪
|
||||
pub fn mark_ui_ready() {
|
||||
let mut ready = get_ui_ready().write();
|
||||
*ready = true;
|
||||
}
|
||||
|
||||
pub fn find_unused_port() -> Result<u16> {
|
||||
match TcpListener::bind("127.0.0.1:0") {
|
||||
Ok(listener) => {
|
||||
@@ -89,8 +108,9 @@ pub async fn resolve_setup(app: &mut App) {
|
||||
|
||||
logging_error!(Type::System, true, timer::Timer::global().init());
|
||||
|
||||
let enable_auto_light_weight_mode = { Config::verge().data().enable_auto_light_weight_mode };
|
||||
if enable_auto_light_weight_mode.unwrap_or(false) {
|
||||
let enable_auto_light_weight_mode =
|
||||
{ Config::verge().data().enable_auto_light_weight_mode }.unwrap_or(false);
|
||||
if enable_auto_light_weight_mode && !is_silent_start {
|
||||
lightweight::enable_auto_light_weight_mode();
|
||||
}
|
||||
|
||||
@@ -123,6 +143,71 @@ pub async fn resolve_reset_async() {
|
||||
|
||||
/// create main window
|
||||
pub fn create_window(is_showup: bool) {
|
||||
// 打印 .window-state.json 文件路径
|
||||
if let Ok(app_dir) = crate::utils::dirs::app_home_dir() {
|
||||
let window_state_path = app_dir.join(".window-state.json");
|
||||
logging!(
|
||||
info,
|
||||
Type::Window,
|
||||
true,
|
||||
"窗口状态文件路径: {:?}",
|
||||
window_state_path
|
||||
);
|
||||
|
||||
// 尝试读取窗口状态文件内容
|
||||
if window_state_path.exists() {
|
||||
match std::fs::read_to_string(&window_state_path) {
|
||||
Ok(content) => {
|
||||
logging!(info, Type::Window, true, "窗口状态文件内容: {}", content);
|
||||
|
||||
// 解析窗口状态文件
|
||||
match serde_json::from_str::<serde_json::Value>(&content) {
|
||||
Ok(state_json) => {
|
||||
if let Some(main_window) = state_json.get("main") {
|
||||
let width = main_window
|
||||
.get("width")
|
||||
.and_then(|v| v.as_u64())
|
||||
.unwrap_or(0)
|
||||
as u32;
|
||||
let height = main_window
|
||||
.get("height")
|
||||
.and_then(|v| v.as_u64())
|
||||
.unwrap_or(0)
|
||||
as u32;
|
||||
|
||||
logging!(
|
||||
info,
|
||||
Type::Window,
|
||||
true,
|
||||
"窗口状态文件中的尺寸: {}x{}",
|
||||
width,
|
||||
height
|
||||
);
|
||||
|
||||
// 保存读取到的尺寸,用于后续检查
|
||||
STATE_WIDTH.get_or_init(|| width);
|
||||
STATE_HEIGHT.get_or_init(|| height);
|
||||
}
|
||||
}
|
||||
Err(e) => {
|
||||
logging!(error, Type::Window, true, "解析窗口状态文件失败: {:?}", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
Err(e) => {
|
||||
logging!(error, Type::Window, true, "读取窗口状态文件失败: {:?}", e);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
logging!(
|
||||
info,
|
||||
Type::Window,
|
||||
true,
|
||||
"窗口状态文件不存在,将使用默认设置"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if !is_showup {
|
||||
logging!(info, Type::Window, "Not to display create window");
|
||||
return;
|
||||
@@ -156,6 +241,12 @@ pub fn create_window(is_showup: bool) {
|
||||
return;
|
||||
}
|
||||
|
||||
// 定义默认窗口大小
|
||||
const DEFAULT_WIDTH: u32 = 900;
|
||||
const DEFAULT_HEIGHT: u32 = 700;
|
||||
const MIN_WIDTH: u32 = 650;
|
||||
const MIN_HEIGHT: u32 = 580;
|
||||
|
||||
#[cfg(target_os = "windows")]
|
||||
let window = tauri::WebviewWindowBuilder::new(
|
||||
&app_handle,
|
||||
@@ -163,13 +254,14 @@ pub fn create_window(is_showup: bool) {
|
||||
tauri::WebviewUrl::App("index.html".into()),
|
||||
)
|
||||
.title("Clash Verge")
|
||||
.inner_size(890.0, 700.0)
|
||||
.min_inner_size(620.0, 550.0)
|
||||
.inner_size(DEFAULT_WIDTH as f64, DEFAULT_HEIGHT as f64)
|
||||
.min_inner_size(MIN_WIDTH as f64, MIN_HEIGHT as f64)
|
||||
.decorations(false)
|
||||
.maximizable(true)
|
||||
.additional_browser_args("--enable-features=msWebView2EnableDraggableRegions --disable-features=OverscrollHistoryNavigation,msExperimentalScrolling")
|
||||
.transparent(true)
|
||||
.shadow(true)
|
||||
.visible(false) // 初始不可见,等待UI加载完成后再显示
|
||||
.build();
|
||||
|
||||
#[cfg(target_os = "macos")]
|
||||
@@ -181,8 +273,9 @@ pub fn create_window(is_showup: bool) {
|
||||
.decorations(true)
|
||||
.hidden_title(true)
|
||||
.title_bar_style(tauri::TitleBarStyle::Overlay)
|
||||
.inner_size(890.0, 700.0)
|
||||
.min_inner_size(620.0, 550.0)
|
||||
.inner_size(DEFAULT_WIDTH as f64, DEFAULT_HEIGHT as f64)
|
||||
.min_inner_size(MIN_WIDTH as f64, MIN_HEIGHT as f64)
|
||||
.visible(false) // 初始不可见,等待UI加载完成后再显示
|
||||
.build();
|
||||
|
||||
#[cfg(target_os = "linux")]
|
||||
@@ -193,19 +286,66 @@ pub fn create_window(is_showup: bool) {
|
||||
)
|
||||
.title("Clash Verge")
|
||||
.decorations(false)
|
||||
.inner_size(890.0, 700.0)
|
||||
.min_inner_size(620.0, 550.0)
|
||||
.inner_size(DEFAULT_WIDTH as f64, DEFAULT_HEIGHT as f64)
|
||||
.min_inner_size(MIN_WIDTH as f64, MIN_HEIGHT as f64)
|
||||
.transparent(true)
|
||||
.visible(false) // 初始不可见,等待UI加载完成后再显示
|
||||
.build();
|
||||
|
||||
match window {
|
||||
Ok(window) => {
|
||||
logging!(info, Type::Window, true, "Window created successfully");
|
||||
let _ = window.show();
|
||||
let _ = window.set_focus();
|
||||
|
||||
// 静默启动模式等窗口初始化再启动自动进入轻量模式的计时监听器,防止初始化的时候找不到窗口对象导致监听器挂载失败
|
||||
lightweight::run_once_auto_lightweight();
|
||||
|
||||
// 标记前端UI已准备就绪,向前端发送启动完成事件
|
||||
let app_handle_clone = app_handle.clone();
|
||||
|
||||
// 获取窗口创建后的初始大小
|
||||
if let Ok(size) = window.inner_size() {
|
||||
let state_width = STATE_WIDTH.get().copied().unwrap_or(DEFAULT_WIDTH);
|
||||
let state_height = STATE_HEIGHT.get().copied().unwrap_or(DEFAULT_HEIGHT);
|
||||
|
||||
// 输出所有尺寸信息
|
||||
logging!(
|
||||
info,
|
||||
Type::Window,
|
||||
true,
|
||||
"API报告的窗口尺寸: {}x{}, 状态文件尺寸: {}x{}, 默认尺寸: {}x{}",
|
||||
size.width,
|
||||
size.height,
|
||||
state_width,
|
||||
state_height,
|
||||
DEFAULT_WIDTH,
|
||||
DEFAULT_HEIGHT
|
||||
);
|
||||
|
||||
if state_width < DEFAULT_WIDTH || state_height < DEFAULT_HEIGHT {
|
||||
logging!(
|
||||
info,
|
||||
Type::Window,
|
||||
true,
|
||||
"状态文件窗口尺寸小于默认值,将使用默认尺寸: {}x{}",
|
||||
DEFAULT_WIDTH,
|
||||
DEFAULT_HEIGHT
|
||||
);
|
||||
|
||||
let _ = window.set_size(tauri::LogicalSize::new(
|
||||
DEFAULT_WIDTH as f64,
|
||||
DEFAULT_HEIGHT as f64,
|
||||
));
|
||||
} else if size.width != state_width || size.height != state_height {
|
||||
// 如果API报告的尺寸与状态文件不一致,记录日志
|
||||
logging!(
|
||||
warn,
|
||||
Type::Window,
|
||||
true,
|
||||
"API报告的窗口尺寸与状态文件不一致"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
AsyncHandler::spawn(move || async move {
|
||||
use tauri::Emitter;
|
||||
|
||||
@@ -213,7 +353,74 @@ pub fn create_window(is_showup: bool) {
|
||||
handle::Handle::global().mark_startup_completed();
|
||||
|
||||
if let Some(window) = app_handle_clone.get_webview_window("main") {
|
||||
// 检查窗口大小
|
||||
match window.inner_size() {
|
||||
Ok(size) => {
|
||||
let width = size.width;
|
||||
let height = size.height;
|
||||
|
||||
let state_width = STATE_WIDTH.get().copied().unwrap_or(DEFAULT_WIDTH);
|
||||
let state_height =
|
||||
STATE_HEIGHT.get().copied().unwrap_or(DEFAULT_HEIGHT);
|
||||
|
||||
logging!(
|
||||
info,
|
||||
Type::Window,
|
||||
true,
|
||||
"异步任务中窗口尺寸: {}x{}, 状态文件尺寸: {}x{}",
|
||||
width,
|
||||
height,
|
||||
state_width,
|
||||
state_height
|
||||
);
|
||||
}
|
||||
Err(e) => {
|
||||
logging!(
|
||||
error,
|
||||
Type::Window,
|
||||
true,
|
||||
"Failed to get window size: {:?}",
|
||||
e
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// 发送启动完成事件
|
||||
let _ = window.emit("verge://startup-completed", ());
|
||||
|
||||
if is_showup {
|
||||
// 启动一个任务等待UI准备就绪再显示窗口
|
||||
let window_clone = window.clone();
|
||||
AsyncHandler::spawn(move || async move {
|
||||
async fn wait_for_ui_ready() {
|
||||
while !*get_ui_ready().read() {
|
||||
tokio::time::sleep(std::time::Duration::from_millis(50)).await;
|
||||
}
|
||||
}
|
||||
|
||||
match tokio::time::timeout(
|
||||
std::time::Duration::from_secs(5),
|
||||
wait_for_ui_ready(),
|
||||
)
|
||||
.await
|
||||
{
|
||||
Ok(_) => {
|
||||
logging!(info, Type::Window, true, "UI准备就绪,显示窗口");
|
||||
}
|
||||
Err(_) => {
|
||||
logging!(
|
||||
warn,
|
||||
Type::Window,
|
||||
true,
|
||||
"等待UI准备就绪超时,强制显示窗口"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
let _ = window_clone.show();
|
||||
let _ = window_clone.set_focus();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
1
clash-verge-rev/src-tauri/src_crates/crate_mihomo_api/.gitignore
vendored
Normal file
1
clash-verge-rev/src-tauri/src_crates/crate_mihomo_api/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.env
|
@@ -2,13 +2,20 @@
|
||||
name = "mihomo_api"
|
||||
edition = "2024"
|
||||
|
||||
[features]
|
||||
debug = []
|
||||
|
||||
[dependencies]
|
||||
reqwest = { version = "0.12.15", features = ["json"] }
|
||||
serde = { version = "1.0.219", features = ["derive"] }
|
||||
async-trait = "0.1.88"
|
||||
futures = "0.3.31"
|
||||
http-body-util = "0.1.3"
|
||||
hyper = { version = "1.6.0", features = ["http1", "client"] }
|
||||
hyper-util = "0.1.11"
|
||||
serde_json = "1.0.140"
|
||||
time = "0.3.41"
|
||||
tokio = { version = "1.44.1", features = ["rt", "macros", "rt-multi-thread", "io-std", "net", "io-util", "time"] }
|
||||
tokio-util = { version = "0.7.14", features = ["codec"] }
|
||||
|
||||
[dev-dependencies]
|
||||
tokio = { version = "1.44.1", features = ["rt", "macros"] }
|
||||
dotenv = "0.15.0"
|
||||
lazy_static = "1.5.0"
|
||||
|
||||
[target.'cfg(unix)'.dependencies]
|
||||
hyperlocal = "0.9.1"
|
||||
|
@@ -1,162 +1,48 @@
|
||||
use reqwest::{Method, header::HeaderMap};
|
||||
use serde_json::json;
|
||||
use std::{
|
||||
sync::{Arc, Mutex},
|
||||
time::Duration,
|
||||
};
|
||||
// impl MihomoManager {
|
||||
// pub async fn patch_configs(&self, config: serde_json::Value) -> Result<(), String> {
|
||||
// let url = format!("{}/configs", self.mihomo_server);
|
||||
// let response = self.send_request(Method::PATCH, url, Some(config)).await?;
|
||||
// if response["code"] == 204 {
|
||||
// Ok(())
|
||||
// } else {
|
||||
// Err(response["message"]
|
||||
// .as_str()
|
||||
// .unwrap_or("unknown error")
|
||||
// .to_string())
|
||||
// }
|
||||
// }
|
||||
|
||||
// pub async fn test_proxy_delay(
|
||||
// &self,
|
||||
// name: &str,
|
||||
// test_url: Option<String>,
|
||||
// timeout: i32,
|
||||
// ) -> Result<serde_json::Value, String> {
|
||||
// let test_url = test_url.unwrap_or("http://cp.cloudflare.com/generate_204".to_string());
|
||||
// let url = format!(
|
||||
// "{}/proxies/{}/delay?url={}&timeout={}",
|
||||
// self.mihomo_server, name, test_url, timeout
|
||||
// );
|
||||
// let response = self.send_request(Method::GET, url, None).await?;
|
||||
// Ok(response)
|
||||
// }
|
||||
|
||||
// pub async fn delete_connection(&self, id: &str) -> Result<(), String> {
|
||||
// let url = format!("{}/connections/{}", self.mihomo_server, id);
|
||||
// let response = self.send_request(Method::DELETE, url, None).await?;
|
||||
// if response["code"] == 204 {
|
||||
// Ok(())
|
||||
// } else {
|
||||
// Err(response["message"]
|
||||
// .as_str()
|
||||
// .unwrap_or("unknown error")
|
||||
// .to_string())
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
pub mod model;
|
||||
pub use model::{MihomoData, MihomoManager};
|
||||
|
||||
impl MihomoManager {
|
||||
pub fn new(mihomo_server: String, headers: HeaderMap) -> Self {
|
||||
Self {
|
||||
mihomo_server,
|
||||
data: Arc::new(Mutex::new(MihomoData {
|
||||
proxies: serde_json::Value::Null,
|
||||
providers_proxies: serde_json::Value::Null,
|
||||
})),
|
||||
headers,
|
||||
}
|
||||
}
|
||||
|
||||
fn update_proxies(&self, proxies: serde_json::Value) {
|
||||
let mut data = self.data.lock().unwrap();
|
||||
data.proxies = proxies;
|
||||
}
|
||||
|
||||
fn update_providers_proxies(&self, providers_proxies: serde_json::Value) {
|
||||
let mut data = self.data.lock().unwrap();
|
||||
data.providers_proxies = providers_proxies;
|
||||
}
|
||||
|
||||
pub fn get_mihomo_server(&self) -> String {
|
||||
self.mihomo_server.clone()
|
||||
}
|
||||
|
||||
pub fn get_proxies(&self) -> serde_json::Value {
|
||||
let data = self.data.lock().unwrap();
|
||||
data.proxies.clone()
|
||||
}
|
||||
|
||||
pub fn get_providers_proxies(&self) -> serde_json::Value {
|
||||
let data = self.data.lock().unwrap();
|
||||
data.providers_proxies.clone()
|
||||
}
|
||||
|
||||
async fn send_request(
|
||||
&self,
|
||||
method: Method,
|
||||
url: String,
|
||||
data: Option<serde_json::Value>,
|
||||
) -> Result<serde_json::Value, String> {
|
||||
let client_response = reqwest::ClientBuilder::new()
|
||||
.default_headers(self.headers.clone())
|
||||
.no_proxy()
|
||||
.timeout(Duration::from_secs(60))
|
||||
.build()
|
||||
.map_err(|e| e.to_string())?
|
||||
.request(method.clone(), &url)
|
||||
.json(&data.unwrap_or(json!({})))
|
||||
.send()
|
||||
.await
|
||||
.map_err(|e| e.to_string())?;
|
||||
|
||||
let response = match method {
|
||||
Method::PATCH => {
|
||||
let status = client_response.status();
|
||||
if status.as_u16() == 204 {
|
||||
json!({"code": 204})
|
||||
} else {
|
||||
client_response
|
||||
.json::<serde_json::Value>()
|
||||
.await
|
||||
.map_err(|e| e.to_string())?
|
||||
}
|
||||
}
|
||||
Method::PUT => json!(client_response.text().await.map_err(|e| e.to_string())?),
|
||||
_ => client_response
|
||||
.json::<serde_json::Value>()
|
||||
.await
|
||||
.map_err(|e| e.to_string())?,
|
||||
};
|
||||
Ok(response)
|
||||
}
|
||||
|
||||
pub async fn refresh_proxies(&self) -> Result<&Self, String> {
|
||||
let url = format!("{}/proxies", self.mihomo_server);
|
||||
let proxies = self.send_request(Method::GET, url, None).await?;
|
||||
self.update_proxies(proxies);
|
||||
Ok(self)
|
||||
}
|
||||
|
||||
pub async fn refresh_providers_proxies(&self) -> Result<&Self, String> {
|
||||
let url = format!("{}/providers/proxies", self.mihomo_server);
|
||||
let providers_proxies = self.send_request(Method::GET, url, None).await?;
|
||||
self.update_providers_proxies(providers_proxies);
|
||||
Ok(self)
|
||||
}
|
||||
}
|
||||
|
||||
impl MihomoManager {
|
||||
pub async fn is_mihomo_running(&self) -> Result<(), String> {
|
||||
let url = format!("{}/version", self.mihomo_server);
|
||||
let _response = self.send_request(Method::GET, url, None).await?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
pub async fn put_configs_force(&self, clash_config_path: &str) -> Result<(), String> {
|
||||
let url = format!("{}/configs?force=true", self.mihomo_server);
|
||||
let payload = serde_json::json!({
|
||||
"path": clash_config_path,
|
||||
});
|
||||
let _response = self.send_request(Method::PUT, url, Some(payload)).await?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
pub async fn patch_configs(&self, config: serde_json::Value) -> Result<(), String> {
|
||||
let url = format!("{}/configs", self.mihomo_server);
|
||||
let response = self.send_request(Method::PATCH, url, Some(config)).await?;
|
||||
if response["code"] == 204 {
|
||||
Ok(())
|
||||
} else {
|
||||
Err(response["message"]
|
||||
.as_str()
|
||||
.unwrap_or("unknown error")
|
||||
.to_string())
|
||||
}
|
||||
}
|
||||
|
||||
pub async fn test_proxy_delay(
|
||||
&self,
|
||||
name: &str,
|
||||
test_url: Option<String>,
|
||||
timeout: i32,
|
||||
) -> Result<serde_json::Value, String> {
|
||||
let test_url = test_url.unwrap_or("http://cp.cloudflare.com/generate_204".to_string());
|
||||
let url = format!(
|
||||
"{}/proxies/{}/delay?url={}&timeout={}",
|
||||
self.mihomo_server, name, test_url, timeout
|
||||
);
|
||||
let response = self.send_request(Method::GET, url, None).await?;
|
||||
Ok(response)
|
||||
}
|
||||
|
||||
pub async fn get_connections(&self) -> Result<serde_json::Value, String> {
|
||||
let url = format!("{}/connections", self.mihomo_server);
|
||||
let response = self.send_request(Method::GET, url, None).await?;
|
||||
Ok(response)
|
||||
}
|
||||
|
||||
pub async fn delete_connection(&self, id: &str) -> Result<(), String> {
|
||||
let url = format!("{}/connections/{}", self.mihomo_server, id);
|
||||
let response = self.send_request(Method::DELETE, url, None).await?;
|
||||
if response["code"] == 204 {
|
||||
Ok(())
|
||||
} else {
|
||||
Err(response["message"]
|
||||
.as_str()
|
||||
.unwrap_or("unknown error")
|
||||
.to_string())
|
||||
}
|
||||
}
|
||||
}
|
||||
pub use model::{E, MihomoData, MihomoManager};
|
||||
pub mod platform;
|
||||
pub mod sock;
|
||||
pub use platform::Client;
|
||||
|
@@ -1,29 +1,57 @@
|
||||
use std::sync::{Arc, Mutex};
|
||||
use reqwest::header::HeaderMap;
|
||||
use async_trait::async_trait;
|
||||
use hyper::Method;
|
||||
use serde_json::Value;
|
||||
use std::{error::Error, sync::Arc};
|
||||
use tokio::sync::Mutex;
|
||||
|
||||
pub struct MihomoData {
|
||||
pub(crate) proxies: serde_json::Value,
|
||||
pub(crate) providers_proxies: serde_json::Value,
|
||||
}
|
||||
|
||||
#[derive(Clone)]
|
||||
impl Default for MihomoData {
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
proxies: Value::Null,
|
||||
providers_proxies: Value::Null,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub type E = Box<dyn Error + Send + Sync>;
|
||||
|
||||
#[async_trait]
|
||||
pub trait MihomoClient: Sized {
|
||||
async fn set_data_proxies(&self, data: Value);
|
||||
async fn set_data_providers_proxies(&self, data: Value);
|
||||
async fn get_data_proxies(&self) -> Value;
|
||||
async fn get_data_providers_proxies(&self) -> Value;
|
||||
// async fn generate_unix_path(&self, path: &str) -> Uri;
|
||||
async fn send_request(
|
||||
&self,
|
||||
path: &str,
|
||||
method: Method,
|
||||
body: Option<Value>,
|
||||
) -> Result<Value, E>;
|
||||
async fn get_version(&self) -> Result<Value, E>;
|
||||
async fn is_mihomo_running(&self) -> Result<(), E>;
|
||||
async fn put_configs_force(&self, clash_config_path: &str) -> Result<(), E>;
|
||||
async fn patch_configs(&self, config: Value) -> Result<(), E>;
|
||||
async fn refresh_proxies(&self) -> Result<&Self, E>;
|
||||
async fn refresh_providers_proxies(&self) -> Result<&Self, E>;
|
||||
async fn get_connections(&self) -> Result<Value, E>;
|
||||
async fn delete_connection(&self, id: &str) -> Result<(), E>;
|
||||
async fn test_proxy_delay(
|
||||
&self,
|
||||
name: &str,
|
||||
test_url: Option<String>,
|
||||
timeout: i32,
|
||||
) -> Result<Value, E>;
|
||||
}
|
||||
|
||||
use crate::platform::Client;
|
||||
pub struct MihomoManager {
|
||||
pub(crate) mihomo_server: String,
|
||||
pub(crate) data: Arc<Mutex<MihomoData>>,
|
||||
pub(crate) headers: HeaderMap,
|
||||
}
|
||||
|
||||
#[cfg(feature = "debug")]
|
||||
impl Drop for MihomoData {
|
||||
fn drop(&mut self) {
|
||||
println!("Dropping MihomoData");
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "debug")]
|
||||
impl Drop for MihomoManager {
|
||||
fn drop(&mut self) {
|
||||
println!("Dropping MihomoManager");
|
||||
}
|
||||
|
||||
pub(super) socket_path: String,
|
||||
pub(super) client: Arc<Mutex<Client>>,
|
||||
pub(super) data: Arc<Mutex<MihomoData>>,
|
||||
}
|
@@ -0,0 +1,4 @@
|
||||
#[cfg(unix)] pub mod unix;
|
||||
#[cfg(unix)] pub use unix::UnixClient as Client;
|
||||
#[cfg(windows)] pub mod windows;
|
||||
#[cfg(windows)] pub use windows::WindowsClient as Client;
|
@@ -0,0 +1,59 @@
|
||||
use crate::model::E;
|
||||
use http_body_util::{BodyExt, Full};
|
||||
use hyper::{
|
||||
Method, Request,
|
||||
body::Bytes,
|
||||
header::{HeaderName, HeaderValue},
|
||||
};
|
||||
use hyper_util::client::legacy::Client;
|
||||
use hyperlocal::{UnixClientExt, Uri};
|
||||
use serde_json::Value;
|
||||
use std::sync::Arc;
|
||||
use tokio::sync::Mutex;
|
||||
|
||||
pub struct UnixClient {
|
||||
client: Arc<Mutex<Client<hyperlocal::UnixConnector, Full<Bytes>>>>,
|
||||
}
|
||||
|
||||
impl UnixClient {
|
||||
pub fn new() -> Self {
|
||||
let client: Client<_, Full<Bytes>> = Client::unix();
|
||||
Self {
|
||||
client: Arc::new(Mutex::new(client)),
|
||||
}
|
||||
}
|
||||
|
||||
pub async fn generate_unix_path(&self, socket_path: &str, path: &str) -> Uri {
|
||||
Uri::new(socket_path, path).into()
|
||||
}
|
||||
|
||||
pub async fn send_request(
|
||||
&self,
|
||||
socket_path: String,
|
||||
path: &str,
|
||||
method: Method,
|
||||
body: Option<Value>,
|
||||
) -> Result<Value, E> {
|
||||
let uri = self.generate_unix_path(socket_path.as_str(), path).await;
|
||||
|
||||
let mut request_builder = Request::builder().method(method).uri(uri);
|
||||
|
||||
let body_bytes = if let Some(body) = body {
|
||||
request_builder = request_builder.header(
|
||||
HeaderName::from_static("Content-Type"),
|
||||
HeaderValue::from_static("application/json"),
|
||||
);
|
||||
Bytes::from(serde_json::to_vec(&body)?)
|
||||
} else {
|
||||
Bytes::new()
|
||||
};
|
||||
|
||||
let request = request_builder.body(Full::new(body_bytes))?;
|
||||
|
||||
let response = self.client.lock().await.request(request).await?;
|
||||
let body_bytes = response.into_body().collect().await?.to_bytes();
|
||||
let json_value = serde_json::from_slice(&body_bytes)?;
|
||||
|
||||
Ok(json_value)
|
||||
}
|
||||
}
|
@@ -0,0 +1,129 @@
|
||||
use crate::{model::E, sock};
|
||||
use hyper::Method;
|
||||
use serde_json::Value;
|
||||
use tokio_util::codec::{Framed, LinesCodec};
|
||||
use std::{sync::Arc, time::Duration};
|
||||
use tokio::{
|
||||
time::timeout,
|
||||
sync::Mutex,
|
||||
};
|
||||
use futures::{SinkExt, StreamExt};
|
||||
use tokio::net::windows::named_pipe::ClientOptions;
|
||||
|
||||
pub struct WindowsClient {
|
||||
lock: Arc<Mutex<()>>,
|
||||
}
|
||||
|
||||
impl WindowsClient {
|
||||
pub fn new() -> Self {
|
||||
Self {
|
||||
lock: Arc::new(Mutex::new(())),
|
||||
}
|
||||
}
|
||||
|
||||
pub async fn send_request(
|
||||
&self,
|
||||
socket_path: String,
|
||||
path: &str,
|
||||
method: Method,
|
||||
body: Option<Value>,
|
||||
) -> Result<Value, E> {
|
||||
// Acquire lock before opening pipe
|
||||
// let _guard = self.lock.lock().await;
|
||||
|
||||
// Attempt to open the pipe with retry logic
|
||||
let mut retries = 0;
|
||||
let pipe = loop {
|
||||
match ClientOptions::new().open(socket_path.clone()) {
|
||||
Ok(pipe) => break pipe,
|
||||
Err(e) if e.raw_os_error() == Some(231) && retries < 5 => {
|
||||
retries += 1;
|
||||
let delay = Duration::from_millis(200 * retries);
|
||||
tokio::time::sleep(delay).await;
|
||||
continue;
|
||||
}
|
||||
Err(e) => return Err(e.into()),
|
||||
}
|
||||
};
|
||||
|
||||
// Use a scope to ensure the pipe is dropped when done
|
||||
let result = async {
|
||||
let mut framed = Framed::new(pipe, LinesCodec::new());
|
||||
|
||||
// Build request
|
||||
let mut request = format!(
|
||||
"{} {} HTTP/1.1\r\nHost: localhost\r\nContent-Type: application/json\r\n",
|
||||
method.as_str(),
|
||||
path
|
||||
);
|
||||
|
||||
if let Some(ref json_body) = body {
|
||||
let body_str = json_body.to_string();
|
||||
request += &format!("Content-Length: {}\r\n\r\n{}", body_str.len(), body_str);
|
||||
} else {
|
||||
request += "\r\n";
|
||||
}
|
||||
|
||||
framed.send(request).await?;
|
||||
|
||||
// Parse headers
|
||||
let mut headers_done = false;
|
||||
let mut is_chunked = false;
|
||||
|
||||
while let Ok(Some(Ok(line))) = timeout(Duration::from_secs(5), framed.next()).await {
|
||||
if line.is_empty() {
|
||||
headers_done = true;
|
||||
break;
|
||||
}
|
||||
|
||||
if line.starts_with("HTTP/1.1 4") || line.starts_with("HTTP/1.1 5") {
|
||||
return Err(format!("Server error: {}", line).into());
|
||||
}
|
||||
|
||||
if line.eq_ignore_ascii_case("Transfer-Encoding: chunked") {
|
||||
is_chunked = true;
|
||||
}
|
||||
}
|
||||
|
||||
if !headers_done {
|
||||
return Err("Malformed response: no headers end".into());
|
||||
}
|
||||
|
||||
let mut response_body = String::new();
|
||||
|
||||
if is_chunked {
|
||||
// Handle chunked encoding
|
||||
loop {
|
||||
// Read chunk size line
|
||||
let chunk_size_line = match timeout(Duration::from_secs(5), framed.next()).await {
|
||||
Ok(Some(Ok(line))) => line,
|
||||
_ => break,
|
||||
};
|
||||
|
||||
let chunk_size = match usize::from_str_radix(chunk_size_line.trim(), 16) {
|
||||
Ok(0) => break, // End of chunks
|
||||
Ok(_) => (), // We don't actually need the size with LinesCodec
|
||||
Err(_) => return Err("Invalid chunk size".into()),
|
||||
};
|
||||
|
||||
// Read chunk data line
|
||||
if let Ok(Some(Ok(data_line))) = timeout(Duration::from_secs(5), framed.next()).await {
|
||||
response_body.push_str(&data_line);
|
||||
}
|
||||
|
||||
// Skip trailing CRLF (empty line)
|
||||
let _ = framed.next().await;
|
||||
}
|
||||
} else {
|
||||
// Handle normal content
|
||||
while let Ok(Some(Ok(line))) = timeout(Duration::from_secs(5), framed.next()).await {
|
||||
response_body.push_str(&line);
|
||||
}
|
||||
}
|
||||
|
||||
serde_json::from_str(&response_body).map_err(|e| e.into())
|
||||
}.await;
|
||||
|
||||
result
|
||||
}
|
||||
}
|
@@ -0,0 +1,126 @@
|
||||
use crate::{model::E, platform::Client};
|
||||
use async_trait::async_trait;
|
||||
use hyper::Method;
|
||||
use serde_json::Value;
|
||||
use std::sync::Arc;
|
||||
use tokio::sync::Mutex;
|
||||
|
||||
use crate::{
|
||||
MihomoData,
|
||||
model::{MihomoClient, MihomoManager},
|
||||
};
|
||||
|
||||
impl MihomoManager {
|
||||
pub fn new(socket_path: String) -> Self {
|
||||
let client = Client::new();
|
||||
Self {
|
||||
socket_path,
|
||||
client: Arc::new(Mutex::new(client)),
|
||||
data: Arc::new(Mutex::new(MihomoData::default())),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[async_trait]
|
||||
impl MihomoClient for MihomoManager {
|
||||
async fn set_data_proxies(&self, data: Value) {
|
||||
self.data.lock().await.proxies = data;
|
||||
}
|
||||
|
||||
async fn set_data_providers_proxies(&self, data: Value) {
|
||||
self.data.lock().await.providers_proxies = data;
|
||||
}
|
||||
|
||||
async fn get_data_proxies(&self) -> Value {
|
||||
self.data.lock().await.proxies.clone()
|
||||
}
|
||||
|
||||
async fn get_data_providers_proxies(&self) -> Value {
|
||||
self.data.lock().await.providers_proxies.clone()
|
||||
}
|
||||
|
||||
async fn send_request(
|
||||
&self,
|
||||
path: &str,
|
||||
method: Method,
|
||||
body: Option<Value>,
|
||||
) -> Result<Value, E> {
|
||||
let client = self.client.lock().await;
|
||||
client
|
||||
.send_request(self.socket_path.clone(), path, method, body)
|
||||
.await
|
||||
}
|
||||
|
||||
async fn get_version(&self) -> Result<Value, E> {
|
||||
let data = self.send_request("/version", Method::GET, None).await?;
|
||||
Ok(data)
|
||||
}
|
||||
|
||||
async fn is_mihomo_running(&self) -> Result<(), E> {
|
||||
self.get_version().await?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
async fn put_configs_force(&self, clash_config_path: &str) -> Result<(), E> {
|
||||
let body = serde_json::json!({
|
||||
"path": clash_config_path
|
||||
});
|
||||
let _ = self
|
||||
.send_request("/configs?force=true", Method::PUT, Some(body))
|
||||
.await?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
async fn patch_configs(&self, config: Value) -> Result<(), E> {
|
||||
let _ = self
|
||||
.send_request("/configs", Method::PATCH, Some(config))
|
||||
.await?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
async fn refresh_proxies(&self) -> Result<&Self, E> {
|
||||
let data = self.send_request("/proxies", Method::GET, None).await?;
|
||||
self.set_data_proxies(data).await;
|
||||
Ok(self)
|
||||
}
|
||||
|
||||
async fn refresh_providers_proxies(&self) -> Result<&Self, E> {
|
||||
let data = self
|
||||
.send_request("/providers/proxies", Method::GET, None)
|
||||
.await?;
|
||||
self.set_data_providers_proxies(data).await;
|
||||
Ok(self)
|
||||
}
|
||||
|
||||
async fn get_connections(&self) -> Result<Value, E> {
|
||||
let data = self.send_request("/connections", Method::GET, None).await?;
|
||||
Ok(data)
|
||||
}
|
||||
|
||||
async fn delete_connection(&self, id: &str) -> Result<(), E> {
|
||||
let _ = self
|
||||
.send_request(&format!("/connections/{}", id), Method::DELETE, None)
|
||||
.await?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
async fn test_proxy_delay(
|
||||
&self,
|
||||
name: &str,
|
||||
test_url: Option<String>,
|
||||
timeout: i32,
|
||||
) -> Result<Value, E> {
|
||||
let test_url = test_url.unwrap_or("http://cp.cloudflare.com/generate_204".to_string());
|
||||
let data = self
|
||||
.send_request(
|
||||
&format!(
|
||||
"/proxies/{}/delay?url={}&timeout={}",
|
||||
name, test_url, timeout
|
||||
),
|
||||
Method::GET,
|
||||
None,
|
||||
)
|
||||
.await?;
|
||||
Ok(data)
|
||||
}
|
||||
}
|
@@ -1,29 +1,58 @@
|
||||
use mihomo_api;
|
||||
use reqwest::header::HeaderMap;
|
||||
use dotenv::dotenv;
|
||||
use mihomo_api::{self, model::MihomoClient};
|
||||
use std::env;
|
||||
|
||||
#[test]
|
||||
fn test_mihomo_manager_init() {
|
||||
let manager = mihomo_api::MihomoManager::new("url".into(), HeaderMap::new());
|
||||
assert_eq!(manager.get_proxies(), serde_json::Value::Null);
|
||||
assert_eq!(manager.get_providers_proxies(), serde_json::Value::Null);
|
||||
lazy_static::lazy_static! {
|
||||
static ref LOCAL_SOCK: String = {
|
||||
dotenv().ok();
|
||||
|
||||
env::var("LOCAL_SOCK")
|
||||
.expect("LOCAL_SOCK must be set in .env or environment variables")
|
||||
.trim_matches('"')
|
||||
.to_string()
|
||||
};
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_env() {
|
||||
assert_eq!(LOCAL_SOCK.to_string(), LOCAL_SOCK.to_string());
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_mihomo_manager_init() {
|
||||
let manager = mihomo_api::MihomoManager::new(LOCAL_SOCK.to_string());
|
||||
let proxies = manager.get_data_proxies().await;
|
||||
let providers = manager.get_data_providers_proxies().await;
|
||||
assert_eq!(proxies, serde_json::Value::Null);
|
||||
assert_eq!(providers, serde_json::Value::Null);
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_get_version() {
|
||||
let manager = mihomo_api::MihomoManager::new(LOCAL_SOCK.to_string());
|
||||
let version = manager.get_version().await;
|
||||
assert!(version.is_ok());
|
||||
if let Ok(version) = version {
|
||||
assert!(!version.get("version").is_none());
|
||||
}
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_refresh_proxies() {
|
||||
let manager = mihomo_api::MihomoManager::new("http://127.0.0.1:9097".into(), HeaderMap::new());
|
||||
let manager = mihomo_api::MihomoManager::new(LOCAL_SOCK.to_string());
|
||||
let manager = manager.refresh_proxies().await.unwrap();
|
||||
let proxies = manager.get_proxies();
|
||||
let providers = manager.get_providers_proxies();
|
||||
let proxies = manager.get_data_proxies().await;
|
||||
let providers = manager.get_data_providers_proxies().await;
|
||||
assert_ne!(proxies, serde_json::Value::Null);
|
||||
assert_eq!(providers, serde_json::Value::Null);
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_refresh_providers_proxies() {
|
||||
let manager = mihomo_api::MihomoManager::new("http://127.0.0.1:9097".into(), HeaderMap::new());
|
||||
let manager = mihomo_api::MihomoManager::new(LOCAL_SOCK.to_string());
|
||||
let manager = manager.refresh_providers_proxies().await.unwrap();
|
||||
let proxies = manager.get_proxies();
|
||||
let providers = manager.get_providers_proxies();
|
||||
let proxies = manager.get_data_proxies().await;
|
||||
let providers = manager.get_data_providers_proxies().await;
|
||||
assert_eq!(proxies, serde_json::Value::Null);
|
||||
assert_ne!(providers, serde_json::Value::Null);
|
||||
}
|
@@ -1,32 +1,53 @@
|
||||
import { forwardRef, useImperativeHandle, useState } from "react";
|
||||
import { forwardRef, useImperativeHandle, useState, useEffect } from "react";
|
||||
import { useLockFn } from "ahooks";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { List, ListItem, ListItemText, TextField } from "@mui/material";
|
||||
import { List, ListItem, ListItemText, TextField, Typography, Box } from "@mui/material";
|
||||
import { useClashInfo } from "@/hooks/use-clash";
|
||||
import { BaseDialog, DialogRef, Notice } from "@/components/base";
|
||||
import { BaseDialog, DialogRef, Notice, Switch } from "@/components/base";
|
||||
import { useVerge } from "@/hooks/use-verge";
|
||||
|
||||
export const ControllerViewer = forwardRef<DialogRef>((props, ref) => {
|
||||
const { t } = useTranslation();
|
||||
const [open, setOpen] = useState(false);
|
||||
|
||||
const { clashInfo, patchInfo } = useClashInfo();
|
||||
const { verge, patchVerge } = useVerge();
|
||||
|
||||
const [controller, setController] = useState(clashInfo?.server || "");
|
||||
const [secret, setSecret] = useState(clashInfo?.secret || "");
|
||||
|
||||
// 获取外部控制器开关状态
|
||||
const [enableController, setEnableController] = useState(() => {
|
||||
const savedState = localStorage.getItem("enable_external_controller");
|
||||
if (savedState !== null) {
|
||||
return savedState === "true";
|
||||
}
|
||||
return verge?.enable_external_controller ?? true;
|
||||
});
|
||||
|
||||
useImperativeHandle(ref, () => ({
|
||||
open: () => {
|
||||
setOpen(true);
|
||||
setController(clashInfo?.server || "");
|
||||
setSecret(clashInfo?.secret || "");
|
||||
// 从localStorage更新开关状态
|
||||
const savedState = localStorage.getItem("enable_external_controller");
|
||||
if (savedState !== null) {
|
||||
setEnableController(savedState === "true");
|
||||
} else {
|
||||
setEnableController(verge?.enable_external_controller ?? true);
|
||||
}
|
||||
},
|
||||
close: () => setOpen(false),
|
||||
}));
|
||||
|
||||
const onSave = useLockFn(async () => {
|
||||
try {
|
||||
// 只有在启用外部控制器时才更新配置
|
||||
if (enableController) {
|
||||
await patchInfo({ "external-controller": controller, secret });
|
||||
Notice.success(t("External Controller Address Modified"), 1000);
|
||||
}
|
||||
Notice.success(t("External Controller Settings Saved"), 1000);
|
||||
setOpen(false);
|
||||
} catch (err: any) {
|
||||
Notice.error(err.message || err.toString(), 4000);
|
||||
@@ -44,9 +65,17 @@ export const ControllerViewer = forwardRef<DialogRef>((props, ref) => {
|
||||
onCancel={() => setOpen(false)}
|
||||
onOk={onSave}
|
||||
>
|
||||
<Box>
|
||||
<Typography variant="body2" color={enableController ? "warning.main" : "text.secondary"}>
|
||||
{enableController
|
||||
? t("External controller is enabled info")
|
||||
: t("External controller is disabled info")}
|
||||
</Typography>
|
||||
</Box>
|
||||
|
||||
<List>
|
||||
<ListItem sx={{ padding: "5px 2px" }}>
|
||||
<ListItemText primary={t("External Controller")} />
|
||||
<ListItemText primary={t("External Controller Address")} />
|
||||
<TextField
|
||||
autoComplete="new-password"
|
||||
size="small"
|
||||
@@ -54,6 +83,7 @@ export const ControllerViewer = forwardRef<DialogRef>((props, ref) => {
|
||||
value={controller}
|
||||
placeholder="Required"
|
||||
onChange={(e) => setController(e.target.value)}
|
||||
disabled={!enableController}
|
||||
/>
|
||||
</ListItem>
|
||||
|
||||
@@ -68,6 +98,7 @@ export const ControllerViewer = forwardRef<DialogRef>((props, ref) => {
|
||||
onChange={(e) =>
|
||||
setSecret(e.target.value?.replace(/[^\x00-\x7F]/g, ""))
|
||||
}
|
||||
disabled={!enableController}
|
||||
/>
|
||||
</ListItem>
|
||||
</List>
|
||||
|
@@ -701,7 +701,7 @@ export const DnsViewer = forwardRef<DialogRef>((props, ref) => {
|
||||
<Item>
|
||||
<ListItemText
|
||||
primary={t("Prefer H3")}
|
||||
secondary={t("DNS DOH使用HTTP/3")}
|
||||
secondary={t("DNS DOH uses HTTP/3")}
|
||||
/>
|
||||
<Switch
|
||||
edge="end"
|
||||
@@ -713,7 +713,7 @@ export const DnsViewer = forwardRef<DialogRef>((props, ref) => {
|
||||
<Item>
|
||||
<ListItemText
|
||||
primary={t("Respect Rules")}
|
||||
secondary={t("DNS连接遵守路由规则")}
|
||||
secondary={t("DNS connections follow routing rules")}
|
||||
/>
|
||||
<Switch
|
||||
edge="end"
|
||||
@@ -749,7 +749,7 @@ export const DnsViewer = forwardRef<DialogRef>((props, ref) => {
|
||||
<Item>
|
||||
<ListItemText
|
||||
primary={t("Direct Nameserver Follow Policy")}
|
||||
secondary={t("是否遵循nameserver-policy")}
|
||||
secondary={t("Whether to follow nameserver policy")}
|
||||
/>
|
||||
<Switch
|
||||
edge="end"
|
||||
|
@@ -7,7 +7,7 @@ import {
|
||||
LanRounded,
|
||||
} from "@mui/icons-material";
|
||||
import { DialogRef, Notice, Switch } from "@/components/base";
|
||||
import { useClash } from "@/hooks/use-clash";
|
||||
import { useClash, useClashInfo } from "@/hooks/use-clash";
|
||||
import { GuardState } from "./mods/guard-state";
|
||||
import { WebUIViewer } from "./mods/web-ui-viewer";
|
||||
import { ClashPortViewer } from "./mods/clash-port-viewer";
|
||||
@@ -36,6 +36,7 @@ const SettingClash = ({ onError }: Props) => {
|
||||
|
||||
const { clash, version, mutateClash, patchClash } = useClash();
|
||||
const { verge, mutateVerge, patchVerge } = useVerge();
|
||||
const { clashInfo, patchInfo } = useClashInfo();
|
||||
|
||||
const {
|
||||
ipv6,
|
||||
@@ -58,6 +59,15 @@ const SettingClash = ({ onError }: Props) => {
|
||||
return verge?.enable_dns_settings ?? false;
|
||||
});
|
||||
|
||||
// 添加外部控制器开关状态
|
||||
const [enableController, setEnableController] = useState(() => {
|
||||
const savedState = localStorage.getItem("enable_external_controller");
|
||||
if (savedState !== null) {
|
||||
return savedState === "true";
|
||||
}
|
||||
return verge?.enable_external_controller ?? true;
|
||||
});
|
||||
|
||||
const { addListener } = useListen();
|
||||
|
||||
const webRef = useRef<DialogRef>(null);
|
||||
@@ -108,6 +118,26 @@ const SettingClash = ({ onError }: Props) => {
|
||||
}
|
||||
});
|
||||
|
||||
// 处理外部控制器开关状态变化
|
||||
const handleControllerToggle = useLockFn(async (enable: boolean) => {
|
||||
try {
|
||||
setEnableController(enable);
|
||||
localStorage.setItem("enable_external_controller", String(enable));
|
||||
await patchVerge({ enable_external_controller: enable });
|
||||
if (!enable) {
|
||||
await patchInfo({ "external-controller": "", secret: "" });
|
||||
} else {
|
||||
// 如果开启,恢复默认值或之前的值
|
||||
const server = clashInfo?.server || "127.0.0.1:9097";
|
||||
await patchInfo({ "external-controller": server, secret: clashInfo?.secret || "" });
|
||||
}
|
||||
} catch (err: any) {
|
||||
setEnableController(!enable);
|
||||
localStorage.setItem("enable_external_controller", String(!enable));
|
||||
Notice.error(err.message || err.toString());
|
||||
}
|
||||
});
|
||||
|
||||
return (
|
||||
<SettingList title={t("Clash Setting")}>
|
||||
<WebUIViewer ref={webRef} />
|
||||
@@ -248,11 +278,41 @@ const SettingClash = ({ onError }: Props) => {
|
||||
</SettingItem>
|
||||
|
||||
<SettingItem
|
||||
label={t("External Controller")}
|
||||
extra={
|
||||
<TooltipIcon
|
||||
icon={SettingsRounded}
|
||||
onClick={() => ctrlRef.current?.open()}
|
||||
label={t("External")}
|
||||
/>
|
||||
}
|
||||
>
|
||||
<Switch
|
||||
edge="end"
|
||||
checked={enableController}
|
||||
onChange={(_, checked) => handleControllerToggle(checked)}
|
||||
/>
|
||||
</SettingItem>
|
||||
|
||||
<SettingItem onClick={() => webRef.current?.open()} label={t("Web UI")} />
|
||||
<SettingItem
|
||||
onClick={enableController ? () => webRef.current?.open() : undefined}
|
||||
label={
|
||||
<Typography
|
||||
component="span"
|
||||
color={!enableController ? "text.disabled" : "text.primary"}
|
||||
sx={{ fontSize: "inherit" }}
|
||||
>
|
||||
{t("Web UI")}
|
||||
</Typography>
|
||||
}
|
||||
extra={
|
||||
!enableController && (
|
||||
<TooltipIcon
|
||||
title={t("Web UI info")}
|
||||
sx={{ opacity: "0.7" }}
|
||||
/>
|
||||
)
|
||||
}
|
||||
/>
|
||||
|
||||
<SettingItem
|
||||
label={t("Clash Core")}
|
||||
|
@@ -257,8 +257,8 @@
|
||||
"Http Port": "منفذ HTTP(S)",
|
||||
"Redir Port": "منفذ إعادة التوجيه",
|
||||
"Tproxy Port": "منفذ Tproxy",
|
||||
"External": "خارجي",
|
||||
"External Controller": "وحدة التحكم الخارجية",
|
||||
"External Controller Address": "عنوان وحدة التحكم الخارجية",
|
||||
"Core Secret": "المفتاح السري للنواة",
|
||||
"Recommended": "موصى به",
|
||||
"Open URL": "فتح الرابط",
|
||||
|
@@ -278,8 +278,11 @@
|
||||
"Http Port": "Http(s) Port",
|
||||
"Redir Port": "Redir Port",
|
||||
"Tproxy Port": "Tproxy Port",
|
||||
"External": "External",
|
||||
"External Controller": "External Controller",
|
||||
"External Controller Address": "External Controller Address",
|
||||
"External Controller Settings Saved": "External Controller Settings Saved",
|
||||
"External Controller is enabled info": "External Controller is enabled. Please set a secret password to avoid security risks.",
|
||||
"External controller is disabled info": "External controller is disabled. You only need to enable it if you want to control Clash core via web UI.",
|
||||
"Core Secret": "Core Secret",
|
||||
"Recommended": "Recommended",
|
||||
"Open URL": "Open URL",
|
||||
@@ -434,6 +437,7 @@
|
||||
"Menu Icon": "Menu Icon",
|
||||
"PAC File": "PAC File",
|
||||
"Web UI": "Web UI",
|
||||
"Web UI info": "External controller is disabled, web UI cannot be used",
|
||||
"Hotkeys": "Hotkeys",
|
||||
"Verge Mixed Port": "Verge Mixed Port",
|
||||
"Verge Socks Port": "Verge Socks Port",
|
||||
@@ -502,15 +506,15 @@
|
||||
"Fake IP Filter Mode": "Fake IP Filter Mode",
|
||||
"Enable IPv6 DNS resolution": "Enable IPv6 DNS resolution",
|
||||
"Prefer H3": "Prefer H3",
|
||||
"DNS DOH使用HTTP/3": "DNS DOH uses HTTP/3",
|
||||
"DNS DOH uses HTTP/3": "DNS DOH uses HTTP/3",
|
||||
"Respect Rules": "Respect Rules",
|
||||
"DNS连接遵守路由规则": "DNS connections follow routing rules",
|
||||
"DNS connections follow routing rules": "DNS connections follow routing rules",
|
||||
"Use Hosts": "Use Hosts",
|
||||
"Enable to resolve hosts through hosts file": "Enable to resolve hosts through hosts file",
|
||||
"Use System Hosts": "Use System Hosts",
|
||||
"Enable to resolve hosts through system hosts file": "Enable to resolve hosts through system hosts file",
|
||||
"Direct Nameserver Follow Policy": "Direct Nameserver Follow Policy",
|
||||
"是否遵循nameserver-policy": "Whether to follow nameserver policy",
|
||||
"Whether to follow nameserver policy": "Whether to follow nameserver policy",
|
||||
"Default Nameserver": "Default Nameserver",
|
||||
"Default DNS servers used to resolve DNS servers": "Default DNS servers used to resolve DNS servers",
|
||||
"Nameserver": "Nameserver",
|
||||
|
@@ -259,8 +259,8 @@
|
||||
"Http Port": "پورت پروکسی Http(s)",
|
||||
"Redir Port": "پورت پروکسی شفاف Redir",
|
||||
"Tproxy Port": "پورت پروکسی شفاف Tproxy",
|
||||
"External": "خارجی",
|
||||
"External Controller": "کنترلکننده خارجی",
|
||||
"External Controller Address": "کنترلکننده خارجی",
|
||||
"Core Secret": "رمز اصلی",
|
||||
"Recommended": "توصیه شده",
|
||||
"Open URL": "باز کردن آدرس اینترنتی",
|
||||
|
@@ -290,8 +290,8 @@
|
||||
"Http Port": "Port Http(s)",
|
||||
"Redir Port": "Port Redir",
|
||||
"Tproxy Port": "Port Tproxy",
|
||||
"External": "Eksternal",
|
||||
"External Controller": "Alamat Pengendali Eksternal",
|
||||
"External Controller": "Eksternal",
|
||||
"External Controller Address": "Alamat Pengendali Eksternal",
|
||||
"Core Secret": "Rahasia Inti",
|
||||
"Recommended": "Direkomendasikan",
|
||||
"Open URL": "Buka URL",
|
||||
|
@@ -274,8 +274,8 @@
|
||||
"Http Port": "Порт Http(s)-прокси",
|
||||
"Redir Port": "Порт прозрачного прокси Redir",
|
||||
"Tproxy Port": "Порт прозрачного прокси Tproxy",
|
||||
"External": "Внешний контроллер",
|
||||
"External Controller": "Адрес прослушивания внешнего контроллера",
|
||||
"External Controller": "Внешний контроллер",
|
||||
"External Controller Address": "Адрес прослушивания внешнего контроллера",
|
||||
"Core Secret": "Секрет",
|
||||
"Recommended": "Рекомендуется",
|
||||
"Open URL": "Перейти по адресу",
|
||||
@@ -496,15 +496,15 @@
|
||||
"Fake IP Range": "Диапазон FakeIP",
|
||||
"Fake IP Filter Mode": "FakeIP Filter Mode",
|
||||
"Prefer H3": "Предпочитать H3",
|
||||
"DNS DOH使用HTTP/3": "DNS DOH использует http/3",
|
||||
"DNS DOH uses HTTP/3": "DNS DOH использует http/3",
|
||||
"Respect Rules": "Приоритизировать правила",
|
||||
"DNS连接遵守路由规则": "Соединения DNS следуют правилам маршрутизации",
|
||||
"DNS connections follow routing rules": "Соединения DNS следуют правилам маршрутизации",
|
||||
"Use Hosts": "Использовать файл Hosts",
|
||||
"Enable to resolve hosts through hosts file": "Включить разрешение хостов через файл Hosts",
|
||||
"Use System Hosts": "Использовать системный файл Hosts",
|
||||
"Enable to resolve hosts through system hosts file": "Включить разрешение хостов через системный файл Hosts",
|
||||
"Direct Nameserver Follow Policy": "Прямой сервер имен следует политике",
|
||||
"是否遵循nameserver-policy": "Следовать ли политике DNS-серверов",
|
||||
"Whether to follow nameserver policy": "Следовать ли политике DNS-серверов",
|
||||
"Default Nameserver": "DNS-сервер по умолчанию",
|
||||
"Default DNS servers used to resolve DNS servers": "DNS-серверы по умолчанию, используемые для разрешения адресов серверов DNS",
|
||||
"Nameserver": "DNS-сервер",
|
||||
|
@@ -258,8 +258,8 @@
|
||||
"Http Port": "HTTP(s) прокси порты",
|
||||
"Redir Port": "Redir — үтә күренмәле прокси порты",
|
||||
"Tproxy Port": "Tproxy — үтә күренмәле прокси порты",
|
||||
"External": "Тышкы",
|
||||
"External Controller": "Тышкы контроллер адресы",
|
||||
"External Controller": "Тышкы контроллер",
|
||||
"External Controller Address": "Тышкы контроллер адресы",
|
||||
"Core Secret": "Серсүз",
|
||||
"Recommended": "Тавсия ителә",
|
||||
"Open URL": "URL ачарга",
|
||||
|
@@ -278,8 +278,11 @@
|
||||
"Http Port": "HTTP(S) 代理端口",
|
||||
"Redir Port": "Redir 透明代理端口",
|
||||
"TPROXY Port": "TPROXY 透明代理端口",
|
||||
"External": "外部控制",
|
||||
"External Controller": "外部控制器监听地址",
|
||||
"External Controller": "外部控制",
|
||||
"External Controller Address": "外部控制器监听地址",
|
||||
"External Controller Settings Saved": "外部控制器设置已保存",
|
||||
"External controller is enabled info": "外部控制器已启用。请设置一个密钥密码以避免安全风险。",
|
||||
"External controller is disabled info": "外部控制器已禁用。如果您想通过网页界面控制 Clash 核心才需启用。",
|
||||
"Core Secret": "API 访问密钥",
|
||||
"Recommended": "建议设置",
|
||||
"Open URL": "打开链接",
|
||||
@@ -434,6 +437,7 @@
|
||||
"Menu Icon": "菜单图标",
|
||||
"PAC File": "PAC 文件",
|
||||
"Web UI": "网页界面",
|
||||
"Web UI info": "外部控制器已禁用,网页界面无法使用",
|
||||
"Hotkeys": "快捷键",
|
||||
"Verge Mixed Port": "Verge 混合端口",
|
||||
"Verge Socks Port": "Verge SOCKS 端口",
|
||||
@@ -502,15 +506,15 @@
|
||||
"Fake IP Filter Mode": "Fake IP 过滤模式",
|
||||
"Enable IPv6 DNS resolution": "启用 IPv6 DNS 解析",
|
||||
"Prefer H3": "优先使用 HTTP/3",
|
||||
"DNS DOH使用HTTP/3": "DNS DOH 使用 HTTP/3 协议",
|
||||
"DNS DOH uses HTTP/3": "DNS DOH 使用 HTTP/3 协议",
|
||||
"Respect Rules": "遵循路由规则",
|
||||
"DNS连接遵守路由规则": "DNS 连接遵循路由规则",
|
||||
"DNS connections follow routing rules": "DNS 连接遵循路由规则",
|
||||
"Use Hosts": "使用 Hosts",
|
||||
"Enable to resolve hosts through hosts file": "启用通过 hosts 文件解析域名",
|
||||
"Use System Hosts": "使用系统 Hosts",
|
||||
"Enable to resolve hosts through system hosts file": "启用通过系统 hosts 文件解析域名",
|
||||
"Direct Nameserver Follow Policy": "直连域名服务器遵循策略",
|
||||
"是否遵循nameserver-policy": "是否遵循 nameserver-policy 设置",
|
||||
"Whether to follow nameserver policy": "是否遵循 nameserver-policy 设置",
|
||||
"Default Nameserver": "默认域名服务器",
|
||||
"Default DNS servers used to resolve DNS servers": "用于解析 DNS 服务器的默认 DNS 服务器",
|
||||
"Nameserver": "域名服务器",
|
||||
|
@@ -30,6 +30,7 @@ import { useListen } from "@/hooks/use-listen";
|
||||
import { listen } from "@tauri-apps/api/event";
|
||||
import { useClashInfo } from "@/hooks/use-clash";
|
||||
import { initGlobalLogService } from "@/services/global-log-service";
|
||||
import { invoke } from "@tauri-apps/api/core";
|
||||
|
||||
const appWindow = getCurrentWebviewWindow();
|
||||
export let portableFlag = false;
|
||||
@@ -209,6 +210,34 @@ const Layout = () => {
|
||||
};
|
||||
}, [handleNotice]);
|
||||
|
||||
// 监听启动完成事件并通知UI已加载
|
||||
useEffect(() => {
|
||||
const notifyUiReady = async () => {
|
||||
try {
|
||||
await new Promise(resolve => setTimeout(resolve, 200));
|
||||
await invoke("notify_ui_ready");
|
||||
console.log("已通知后端UI准备就绪");
|
||||
} catch (err) {
|
||||
console.error("通知UI准备就绪失败:", err);
|
||||
}
|
||||
};
|
||||
|
||||
// 监听后端发送的启动完成事件
|
||||
const listenStartupCompleted = async () => {
|
||||
const unlisten = await listen("verge://startup-completed", () => {
|
||||
console.log("收到启动完成事件");
|
||||
});
|
||||
return unlisten;
|
||||
};
|
||||
|
||||
notifyUiReady();
|
||||
const unlistenPromise = listenStartupCompleted();
|
||||
|
||||
return () => {
|
||||
unlistenPromise.then(unlisten => unlisten());
|
||||
};
|
||||
}, []);
|
||||
|
||||
// 语言和起始页设置
|
||||
useEffect(() => {
|
||||
if (language) {
|
||||
|
1
clash-verge-rev/src/services/types.d.ts
vendored
1
clash-verge-rev/src/services/types.d.ts
vendored
@@ -747,6 +747,7 @@ interface IVergeConfig {
|
||||
enable_system_proxy?: boolean;
|
||||
enable_global_hotkey?: boolean;
|
||||
enable_dns_settings?: boolean;
|
||||
enable_external_controller?: boolean;
|
||||
proxy_auto_config?: boolean;
|
||||
pac_file_content?: string;
|
||||
enable_random_port?: boolean;
|
||||
|
@@ -5,10 +5,10 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_VERSION:=2025.01
|
||||
PKG_VERSION:=2025.04
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_HASH:=cdef7d507c93f1bbd9f015ea9bc21fa074268481405501945abc6f854d5b686f
|
||||
PKG_HASH:=439d3bef296effd54130be6a731c5b118be7fddd7fcc663ccbc5fb18294d8718
|
||||
|
||||
PKG_MAINTAINER:=Tobias Maedel <openwrt@tbspace.de>
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -2072,26 +2072,7 @@ endif
|
||||
@@ -2075,26 +2075,7 @@ endif
|
||||
# Check dtc and pylibfdt, if DTC is provided, else build them
|
||||
PHONY += scripts_dtc
|
||||
scripts_dtc: scripts_basic
|
||||
|
@@ -1,6 +1,6 @@
|
||||
--- a/tools/image-host.c
|
||||
+++ b/tools/image-host.c
|
||||
@@ -1162,6 +1162,7 @@ static int fit_config_add_verification_d
|
||||
@@ -1175,6 +1175,7 @@ static int fit_config_add_verification_d
|
||||
* 2) get public key (X509_get_pubkey)
|
||||
* 3) provide der format (d2i_RSAPublicKey)
|
||||
*/
|
||||
@@ -8,7 +8,7 @@
|
||||
static int read_pub_key(const char *keydir, const void *name,
|
||||
unsigned char **pubkey, int *pubkey_len)
|
||||
{
|
||||
@@ -1215,6 +1216,13 @@ err_cert:
|
||||
@@ -1228,6 +1229,13 @@ err_cert:
|
||||
fclose(f);
|
||||
return ret;
|
||||
}
|
||||
|
@@ -1,100 +0,0 @@
|
||||
--- /dev/null
|
||||
+++ b/dts/upstream/src/arm64/rockchip/rk3566-nanopi-r3s.dts
|
||||
@@ -0,0 +1,9 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+
|
||||
+/dts-v1/;
|
||||
+#include "rk3568-nanopi-r5s.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ model = "FriendlyElec NanoPi R3S";
|
||||
+ compatible = "friendlyarm,nanopi-r3s", "rockchip,rk3568";
|
||||
+};
|
||||
--- /dev/null
|
||||
+++ b/configs/nanopi-r3s-rk3566_defconfig
|
||||
@@ -0,0 +1,85 @@
|
||||
+CONFIG_ARM=y
|
||||
+CONFIG_SKIP_LOWLEVEL_INIT=y
|
||||
+CONFIG_COUNTER_FREQUENCY=24000000
|
||||
+CONFIG_ARCH_ROCKCHIP=y
|
||||
+CONFIG_SPL_LIBCOMMON_SUPPORT=y
|
||||
+CONFIG_SPL_LIBGENERIC_SUPPORT=y
|
||||
+CONFIG_NR_DRAM_BANKS=2
|
||||
+CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
|
||||
+CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xc00000
|
||||
+CONFIG_DEFAULT_DEVICE_TREE="rockchip/rk3566-nanopi-r3s"
|
||||
+CONFIG_ROCKCHIP_RK3568=y
|
||||
+CONFIG_SYS_MALLOC_F_LEN=0x4000
|
||||
+CONFIG_SPL_ROCKCHIP_BACK_TO_BROM=y
|
||||
+CONFIG_SPL_ROCKCHIP_COMMON_BOARD=y
|
||||
+CONFIG_SPL_MMC=y
|
||||
+CONFIG_SPL_SERIAL=y
|
||||
+CONFIG_SPL_STACK_R_ADDR=0x600000
|
||||
+CONFIG_SPL_STACK=0x400000
|
||||
+CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
|
||||
+CONFIG_SPL_BSS_START_ADDR=0x4000000
|
||||
+CONFIG_SPL_BSS_MAX_SIZE=0x4000
|
||||
+CONFIG_SPL_STACK_R=y
|
||||
+CONFIG_DEBUG_UART_BASE=0xFE660000
|
||||
+CONFIG_DEBUG_UART_CLOCK=24000000
|
||||
+CONFIG_SYS_LOAD_ADDR=0xc00800
|
||||
+CONFIG_DEBUG_UART=y
|
||||
+CONFIG_FIT=y
|
||||
+CONFIG_FIT_VERBOSE=y
|
||||
+CONFIG_SPL_LOAD_FIT=y
|
||||
+CONFIG_DEFAULT_FDT_FILE="rockchip/rk3566-nanopi-r3s.dtb"
|
||||
+# CONFIG_DISPLAY_CPUINFO is not set
|
||||
+CONFIG_DISPLAY_BOARDINFO_LATE=y
|
||||
+CONFIG_SPL_MAX_SIZE=0x40000
|
||||
+CONFIG_SPL_PAD_TO=0x7f8000
|
||||
+# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
|
||||
+# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
|
||||
+CONFIG_SPL_ATF=y
|
||||
+CONFIG_CMD_GPIO=y
|
||||
+CONFIG_CMD_GPT=y
|
||||
+CONFIG_CMD_I2C=y
|
||||
+CONFIG_CMD_MMC=y
|
||||
+CONFIG_CMD_USB=y
|
||||
+# CONFIG_CMD_SETEXPR is not set
|
||||
+CONFIG_CMD_REGULATOR=y
|
||||
+# CONFIG_SPL_DOS_PARTITION is not set
|
||||
+CONFIG_SPL_OF_CONTROL=y
|
||||
+CONFIG_OF_LIVE=y
|
||||
+CONFIG_NET_RANDOM_ETHADDR=y
|
||||
+CONFIG_SPL_REGMAP=y
|
||||
+CONFIG_SPL_SYSCON=y
|
||||
+CONFIG_SPL_CLK=y
|
||||
+CONFIG_CLK_SCMI=y
|
||||
+CONFIG_ROCKCHIP_GPIO=y
|
||||
+CONFIG_SYS_I2C_ROCKCHIP=y
|
||||
+CONFIG_MISC=y
|
||||
+CONFIG_SUPPORT_EMMC_RPMB=y
|
||||
+CONFIG_MMC_DW=y
|
||||
+CONFIG_MMC_DW_ROCKCHIP=y
|
||||
+CONFIG_MMC_SDHCI=y
|
||||
+CONFIG_MMC_SDHCI_SDMA=y
|
||||
+CONFIG_MMC_SDHCI_ROCKCHIP=y
|
||||
+CONFIG_ETH_DESIGNWARE=y
|
||||
+CONFIG_GMAC_ROCKCHIP=y
|
||||
+CONFIG_PHY_ROCKCHIP_INNO_USB2=y
|
||||
+CONFIG_PHY_ROCKCHIP_NANENG_COMBOPHY=y
|
||||
+CONFIG_DM_PMIC=y
|
||||
+CONFIG_PMIC_RK8XX=y
|
||||
+CONFIG_SPL_PMIC_RK8XX=y
|
||||
+CONFIG_REGULATOR_PWM=y
|
||||
+CONFIG_REGULATOR_RK8XX=y
|
||||
+CONFIG_PWM_ROCKCHIP=y
|
||||
+CONFIG_SPL_RAM=y
|
||||
+CONFIG_RESET_SCMI=y
|
||||
+CONFIG_BAUDRATE=1500000
|
||||
+CONFIG_DEBUG_UART_SHIFT=2
|
||||
+CONFIG_SYS_NS16550_MEM32=y
|
||||
+CONFIG_SYSRESET=y
|
||||
+CONFIG_USB=y
|
||||
+CONFIG_USB_XHCI_HCD=y
|
||||
+CONFIG_USB_XHCI_DWC3=y
|
||||
+CONFIG_USB_EHCI_HCD=y
|
||||
+CONFIG_USB_EHCI_GENERIC=y
|
||||
+CONFIG_USB_DWC3=y
|
||||
+CONFIG_USB_DWC3_GENERIC=y
|
||||
+CONFIG_ERRNO_STR=y
|
@@ -1,210 +0,0 @@
|
||||
From 7983e6c379a917c500eff31f5f9c646cc408e030 Mon Sep 17 00:00:00 2001
|
||||
From: Yao Zi <ziyao@disroot.org>
|
||||
Date: Thu, 29 Aug 2024 09:27:04 +0000
|
||||
Subject: [PATCH] arm64: dts: rockchip: Add base DT for rk3528 SoC
|
||||
|
||||
This initial device tree describes CPU, interrupts and UART on the chip
|
||||
and is able to boot into basic kernel with only UART. Cache information
|
||||
is omitted for now as there is no precise documentation. Support for
|
||||
other features will be added later.
|
||||
|
||||
Signed-off-by: Yao Zi <ziyao@disroot.org>
|
||||
Link: https://lore.kernel.org/r/20240829092705.6241-4-ziyao@disroot.org
|
||||
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3528.dtsi | 189 +++++++++++++++++++++++
|
||||
1 file changed, 189 insertions(+)
|
||||
create mode 100644 arch/arm64/boot/dts/rockchip/rk3528.dtsi
|
||||
|
||||
--- /dev/null
|
||||
+++ b/dts/upstream/src/arm64/rockchip/rk3528.dtsi
|
||||
@@ -0,0 +1,189 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * Copyright (c) 2022 Rockchip Electronics Co., Ltd.
|
||||
+ * Copyright (c) 2024 Yao Zi <ziyao@disroot.org>
|
||||
+ */
|
||||
+
|
||||
+#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
+#include <dt-bindings/interrupt-controller/irq.h>
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "rockchip,rk3528";
|
||||
+
|
||||
+ interrupt-parent = <&gic>;
|
||||
+ #address-cells = <2>;
|
||||
+ #size-cells = <2>;
|
||||
+
|
||||
+ aliases {
|
||||
+ serial0 = &uart0;
|
||||
+ serial1 = &uart1;
|
||||
+ serial2 = &uart2;
|
||||
+ serial3 = &uart3;
|
||||
+ serial4 = &uart4;
|
||||
+ serial5 = &uart5;
|
||||
+ serial6 = &uart6;
|
||||
+ serial7 = &uart7;
|
||||
+ };
|
||||
+
|
||||
+ cpus {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ cpu-map {
|
||||
+ cluster0 {
|
||||
+ core0 {
|
||||
+ cpu = <&cpu0>;
|
||||
+ };
|
||||
+ core1 {
|
||||
+ cpu = <&cpu1>;
|
||||
+ };
|
||||
+ core2 {
|
||||
+ cpu = <&cpu2>;
|
||||
+ };
|
||||
+ core3 {
|
||||
+ cpu = <&cpu3>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ cpu0: cpu@0 {
|
||||
+ compatible = "arm,cortex-a53";
|
||||
+ reg = <0x0>;
|
||||
+ device_type = "cpu";
|
||||
+ enable-method = "psci";
|
||||
+ };
|
||||
+
|
||||
+ cpu1: cpu@1 {
|
||||
+ compatible = "arm,cortex-a53";
|
||||
+ reg = <0x1>;
|
||||
+ device_type = "cpu";
|
||||
+ enable-method = "psci";
|
||||
+ };
|
||||
+
|
||||
+ cpu2: cpu@2 {
|
||||
+ compatible = "arm,cortex-a53";
|
||||
+ reg = <0x2>;
|
||||
+ device_type = "cpu";
|
||||
+ enable-method = "psci";
|
||||
+ };
|
||||
+
|
||||
+ cpu3: cpu@3 {
|
||||
+ compatible = "arm,cortex-a53";
|
||||
+ reg = <0x3>;
|
||||
+ device_type = "cpu";
|
||||
+ enable-method = "psci";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ psci {
|
||||
+ compatible = "arm,psci-1.0", "arm,psci-0.2";
|
||||
+ method = "smc";
|
||||
+ };
|
||||
+
|
||||
+ timer {
|
||||
+ compatible = "arm,armv8-timer";
|
||||
+ interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
+ <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
+ <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
+ <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
|
||||
+ };
|
||||
+
|
||||
+ xin24m: clock-xin24m {
|
||||
+ compatible = "fixed-clock";
|
||||
+ clock-frequency = <24000000>;
|
||||
+ clock-output-names = "xin24m";
|
||||
+ #clock-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ soc {
|
||||
+ compatible = "simple-bus";
|
||||
+ ranges = <0x0 0xfe000000 0x0 0xfe000000 0x0 0x2000000>;
|
||||
+ #address-cells = <2>;
|
||||
+ #size-cells = <2>;
|
||||
+
|
||||
+ gic: interrupt-controller@fed01000 {
|
||||
+ compatible = "arm,gic-400";
|
||||
+ reg = <0x0 0xfed01000 0 0x1000>,
|
||||
+ <0x0 0xfed02000 0 0x2000>,
|
||||
+ <0x0 0xfed04000 0 0x2000>,
|
||||
+ <0x0 0xfed06000 0 0x2000>;
|
||||
+ interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) |
|
||||
+ IRQ_TYPE_LEVEL_LOW)>;
|
||||
+ interrupt-controller;
|
||||
+ #address-cells = <0>;
|
||||
+ #interrupt-cells = <3>;
|
||||
+ };
|
||||
+
|
||||
+ uart0: serial@ff9f0000 {
|
||||
+ compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart";
|
||||
+ reg = <0x0 0xff9f0000 0x0 0x100>;
|
||||
+ clock-frequency = <24000000>;
|
||||
+ interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ reg-io-width = <4>;
|
||||
+ reg-shift = <2>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ uart1: serial@ff9f8000 {
|
||||
+ compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart";
|
||||
+ reg = <0x0 0xff9f8000 0x0 0x100>;
|
||||
+ interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ reg-io-width = <4>;
|
||||
+ reg-shift = <2>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ uart2: serial@ffa00000 {
|
||||
+ compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart";
|
||||
+ reg = <0x0 0xffa00000 0x0 0x100>;
|
||||
+ interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ reg-io-width = <4>;
|
||||
+ reg-shift = <2>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ uart3: serial@ffa08000 {
|
||||
+ compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart";
|
||||
+ reg = <0x0 0xffa08000 0x0 0x100>;
|
||||
+ reg-io-width = <4>;
|
||||
+ reg-shift = <2>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ uart4: serial@ffa10000 {
|
||||
+ compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart";
|
||||
+ reg = <0x0 0xffa10000 0x0 0x100>;
|
||||
+ interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ reg-io-width = <4>;
|
||||
+ reg-shift = <2>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ uart5: serial@ffa18000 {
|
||||
+ compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart";
|
||||
+ reg = <0x0 0xffa18000 0x0 0x100>;
|
||||
+ interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ reg-io-width = <4>;
|
||||
+ reg-shift = <2>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ uart6: serial@ffa20000 {
|
||||
+ compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart";
|
||||
+ reg = <0x0 0xffa20000 0x0 0x100>;
|
||||
+ interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ reg-io-width = <4>;
|
||||
+ reg-shift = <2>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ uart7: serial@ffa28000 {
|
||||
+ compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart";
|
||||
+ reg = <0x0 0xffa28000 0x0 0x100>;
|
||||
+ interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ reg-io-width = <4>;
|
||||
+ reg-shift = <2>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+ };
|
||||
+};
|
@@ -54,7 +54,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
||||
+#endif
|
||||
--- a/arch/arm/mach-rockchip/Kconfig
|
||||
+++ b/arch/arm/mach-rockchip/Kconfig
|
||||
@@ -309,6 +309,55 @@ config ROCKCHIP_RK3399
|
||||
@@ -312,6 +312,55 @@ config ROCKCHIP_RK3399
|
||||
and video codec support. Peripherals include Gigabit Ethernet,
|
||||
USB2 host and OTG, SDIO, I2S, UARTs, SPI, I2C and PWMs.
|
||||
|
||||
@@ -110,7 +110,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
||||
config ROCKCHIP_RK3568
|
||||
bool "Support Rockchip RK3568"
|
||||
select ARM64
|
||||
@@ -626,6 +675,7 @@ source "arch/arm/mach-rockchip/rk3308/Kc
|
||||
@@ -629,6 +678,7 @@ source "arch/arm/mach-rockchip/rk3308/Kc
|
||||
source "arch/arm/mach-rockchip/rk3328/Kconfig"
|
||||
source "arch/arm/mach-rockchip/rk3368/Kconfig"
|
||||
source "arch/arm/mach-rockchip/rk3399/Kconfig"
|
||||
|
@@ -140,8 +140,8 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
||||
+
|
||||
* rk3566
|
||||
- Anbernic RGxx3 (anbernic-rgxx3-rk3566)
|
||||
- Hardkernel ODROID-M1S (odroid-m1s-rk3566)
|
||||
@@ -255,6 +258,15 @@ To build rk3399 boards:
|
||||
- FriendlyElec NanoPi R3S (nanopi-r3s-rk3566)
|
||||
@@ -258,6 +261,15 @@ To build rk3399 boards:
|
||||
make evb-rk3399_defconfig
|
||||
make CROSS_COMPILE=aarch64-linux-gnu-
|
||||
|
||||
|
@@ -197,28 +197,3 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
||||
|
||||
* rk3566
|
||||
- Anbernic RGxx3 (anbernic-rgxx3-rk3566)
|
||||
--- /dev/null
|
||||
+++ b/dts/upstream/src/arm64/rockchip/rk3528-radxa-e20c.dts
|
||||
@@ -0,0 +1,22 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0+
|
||||
+/*
|
||||
+ * Copyright (c) 2020 Rockchip Electronics Co., Ltd
|
||||
+ * Copyright (c) 2024 Radxa Limited
|
||||
+ * Copyright (c) 2024 Yao Zi <ziyao@disroot.org>
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+#include "rk3528.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ model = "Radxa E20C";
|
||||
+ compatible = "radxa,e20c", "rockchip,rk3528";
|
||||
+
|
||||
+ chosen {
|
||||
+ stdout-path = "serial0:1500000n8";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&uart0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
|
@@ -398,7 +398,7 @@ protobuf:
|
||||
chmod 755 "${ROOT}/tools/build/protoc-gen-go-grpc";\
|
||||
fi
|
||||
|
||||
PATH=${PATH}:"${ROOT}/tools/build" ${ROOT}/tools/build/protoc -I="${ROOT}/pkg/appctl/proto" \
|
||||
PATH=${PATH}:"${ROOT}/tools/build" ${ROOT}/tools/build/protoc -I="${ROOT}/pkg" \
|
||||
--go_out="${ROOT}/pkg/appctl" --go_opt=module="github.com/enfein/mieru/v3/pkg/appctl" \
|
||||
--go-grpc_out="${ROOT}/pkg/appctl" --go-grpc_opt=module="github.com/enfein/mieru/v3/pkg/appctl" \
|
||||
--proto_path="${ROOT}/pkg" \
|
||||
@@ -408,12 +408,12 @@ protobuf:
|
||||
"${ROOT}/pkg/appctl/proto/rpc.proto" \
|
||||
"${ROOT}/pkg/appctl/proto/servercfg.proto"
|
||||
|
||||
PATH=${PATH}:"${ROOT}/tools/build" ${ROOT}/tools/build/protoc -I="${ROOT}/pkg/metrics/proto" \
|
||||
PATH=${PATH}:"${ROOT}/tools/build" ${ROOT}/tools/build/protoc -I="${ROOT}/pkg" \
|
||||
--go_out="${ROOT}/pkg/metrics" --go_opt=module="github.com/enfein/mieru/v3/pkg/metrics" \
|
||||
--proto_path="${ROOT}/pkg" \
|
||||
"${ROOT}/pkg/metrics/proto/metrics.proto"
|
||||
|
||||
PATH=${PATH}:"${ROOT}/tools/build" ${ROOT}/tools/build/protoc -I="${ROOT}/pkg/version/updater/proto" \
|
||||
PATH=${PATH}:"${ROOT}/tools/build" ${ROOT}/tools/build/protoc -I="${ROOT}/pkg" \
|
||||
--go_out="${ROOT}/pkg/version/updater" --go_opt=module="github.com/enfein/mieru/v3/pkg/version/updater" \
|
||||
--proto_path="${ROOT}/pkg" \
|
||||
"${ROOT}/pkg/version/updater/proto/history.proto"
|
||||
|
@@ -17,7 +17,7 @@
|
||||
// versions:
|
||||
// protoc-gen-go v1.30.0
|
||||
// protoc v4.22.3
|
||||
// source: rpc.proto
|
||||
// source: appctl/proto/rpc.proto
|
||||
|
||||
package appctlgrpc
|
||||
|
||||
@@ -35,98 +35,105 @@ const (
|
||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||
)
|
||||
|
||||
var File_rpc_proto protoreflect.FileDescriptor
|
||||
var File_appctl_proto_rpc_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_rpc_proto_rawDesc = []byte{
|
||||
0x0a, 0x09, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x61, 0x70, 0x70,
|
||||
0x63, 0x74, 0x6c, 0x1a, 0x0a, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
|
||||
0x0a, 0x6d, 0x69, 0x73, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x73, 0x65, 0x72,
|
||||
0x76, 0x65, 0x72, 0x63, 0x66, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0xf5, 0x03, 0x0a,
|
||||
0x16, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65,
|
||||
0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x74,
|
||||
0x61, 0x74, 0x75, 0x73, 0x12, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d,
|
||||
0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x41, 0x70, 0x70,
|
||||
0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x73, 0x67, 0x12, 0x24, 0x0a, 0x04, 0x45, 0x78, 0x69,
|
||||
0x74, 0x12, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
|
||||
0x1a, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12,
|
||||
0x2c, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x0d, 0x2e,
|
||||
0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0f, 0x2e, 0x61,
|
||||
0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x3c, 0x0a,
|
||||
0x12, 0x47, 0x65, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4c,
|
||||
0x69, 0x73, 0x74, 0x12, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70,
|
||||
0x74, 0x79, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x53, 0x65, 0x73, 0x73,
|
||||
0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x0d, 0x47,
|
||||
0x65, 0x74, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x0d, 0x2e, 0x61,
|
||||
0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x12, 0x2e, 0x61, 0x70,
|
||||
0x70, 0x63, 0x74, 0x6c, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x44, 0x75, 0x6d, 0x70, 0x12,
|
||||
0x39, 0x0a, 0x0f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x50, 0x55, 0x50, 0x72, 0x6f, 0x66, 0x69,
|
||||
0x6c, 0x65, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x66,
|
||||
0x69, 0x6c, 0x65, 0x53, 0x61, 0x76, 0x65, 0x50, 0x61, 0x74, 0x68, 0x1a, 0x0d, 0x2e, 0x61, 0x70,
|
||||
0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x2e, 0x0a, 0x0e, 0x53, 0x74,
|
||||
0x6f, 0x70, 0x43, 0x50, 0x55, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x0d, 0x2e, 0x61,
|
||||
0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0d, 0x2e, 0x61, 0x70,
|
||||
0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x38, 0x0a, 0x0e, 0x47, 0x65,
|
||||
0x74, 0x48, 0x65, 0x61, 0x70, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x17, 0x2e, 0x61,
|
||||
0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x61, 0x76,
|
||||
0x65, 0x50, 0x61, 0x74, 0x68, 0x1a, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45,
|
||||
0x6d, 0x70, 0x74, 0x79, 0x12, 0x3e, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x72,
|
||||
0x79, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x0d, 0x2e, 0x61, 0x70,
|
||||
0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x70,
|
||||
0x63, 0x74, 0x6c, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73,
|
||||
0x74, 0x69, 0x63, 0x73, 0x32, 0xea, 0x04, 0x0a, 0x16, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c,
|
||||
0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
|
||||
0x30, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0d, 0x2e, 0x61,
|
||||
0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61, 0x70,
|
||||
0x70, 0x63, 0x74, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x73,
|
||||
0x67, 0x12, 0x25, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x0d, 0x2e, 0x61, 0x70, 0x70,
|
||||
0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63,
|
||||
0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x24, 0x0a, 0x04, 0x53, 0x74, 0x6f, 0x70,
|
||||
var file_appctl_proto_rpc_proto_rawDesc = []byte{
|
||||
0x0a, 0x16, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72,
|
||||
0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c,
|
||||
0x1a, 0x17, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x62,
|
||||
0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x61, 0x70, 0x70, 0x63, 0x74,
|
||||
0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x69, 0x73, 0x63, 0x2e, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x1a, 0x1c, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x63, 0x66, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x32, 0xf5, 0x03, 0x0a, 0x16, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x66, 0x65, 0x63,
|
||||
0x79, 0x63, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x09, 0x47,
|
||||
0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74,
|
||||
0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c,
|
||||
0x2e, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x73, 0x67, 0x12, 0x24, 0x0a,
|
||||
0x04, 0x45, 0x78, 0x69, 0x74, 0x12, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45,
|
||||
0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d,
|
||||
0x70, 0x74, 0x79, 0x12, 0x2c, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
|
||||
0x73, 0x12, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
|
||||
0x1a, 0x0f, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
|
||||
0x73, 0x12, 0x3c, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49,
|
||||
0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c,
|
||||
0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e,
|
||||
0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12,
|
||||
0x32, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x44, 0x75, 0x6d, 0x70,
|
||||
0x12, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a,
|
||||
0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x26,
|
||||
0x0a, 0x06, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74,
|
||||
0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c,
|
||||
0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x24, 0x0a, 0x04, 0x45, 0x78, 0x69, 0x74, 0x12, 0x0d,
|
||||
0x12, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x44,
|
||||
0x75, 0x6d, 0x70, 0x12, 0x39, 0x0a, 0x0f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x50, 0x55, 0x50,
|
||||
0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e,
|
||||
0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x61, 0x76, 0x65, 0x50, 0x61, 0x74, 0x68, 0x1a,
|
||||
0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x2e,
|
||||
0x0a, 0x0e, 0x53, 0x74, 0x6f, 0x70, 0x43, 0x50, 0x55, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
|
||||
0x12, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a,
|
||||
0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x38,
|
||||
0x0a, 0x0e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x70, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
|
||||
0x12, 0x17, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c,
|
||||
0x65, 0x53, 0x61, 0x76, 0x65, 0x50, 0x61, 0x74, 0x68, 0x1a, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63,
|
||||
0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3e, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4d,
|
||||
0x65, 0x6d, 0x6f, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12,
|
||||
0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x18,
|
||||
0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x53, 0x74,
|
||||
0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x32, 0xa2, 0x05, 0x0a, 0x16, 0x53, 0x65, 0x72,
|
||||
0x76, 0x65, 0x72, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76,
|
||||
0x69, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
|
||||
0x12, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a,
|
||||
0x14, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74,
|
||||
0x75, 0x73, 0x4d, 0x73, 0x67, 0x12, 0x25, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x0d,
|
||||
0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0d, 0x2e,
|
||||
0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x2c, 0x0a, 0x0a,
|
||||
0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x0d, 0x2e, 0x61, 0x70, 0x70,
|
||||
0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0f, 0x2e, 0x61, 0x70, 0x70, 0x63,
|
||||
0x74, 0x6c, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x3c, 0x0a, 0x12, 0x47, 0x65,
|
||||
0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74,
|
||||
0x12, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a,
|
||||
0x17, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
|
||||
0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x54,
|
||||
0x68, 0x72, 0x65, 0x61, 0x64, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63,
|
||||
0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x12, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74,
|
||||
0x6c, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x39, 0x0a, 0x0f,
|
||||
0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x50, 0x55, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12,
|
||||
0x17, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
|
||||
0x53, 0x61, 0x76, 0x65, 0x50, 0x61, 0x74, 0x68, 0x1a, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74,
|
||||
0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x2e, 0x0a, 0x0e, 0x53, 0x74, 0x6f, 0x70, 0x43,
|
||||
0x50, 0x55, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63,
|
||||
0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74,
|
||||
0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x38, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x48, 0x65,
|
||||
0x61, 0x70, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x70, 0x63,
|
||||
0x74, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x61, 0x76, 0x65, 0x50, 0x61,
|
||||
0x74, 0x68, 0x1a, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74,
|
||||
0x79, 0x12, 0x3e, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x53, 0x74,
|
||||
0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74,
|
||||
0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c,
|
||||
0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63,
|
||||
0x73, 0x32, 0x80, 0x01, 0x0a, 0x13, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66,
|
||||
0x69, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x09, 0x47, 0x65, 0x74,
|
||||
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e,
|
||||
0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x53,
|
||||
0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, 0x09, 0x53,
|
||||
0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x14, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74,
|
||||
0x6c, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x14,
|
||||
0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f,
|
||||
0x6e, 0x66, 0x69, 0x67, 0x42, 0x32, 0x5a, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63,
|
||||
0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x66, 0x65, 0x69, 0x6e, 0x2f, 0x6d, 0x69, 0x65, 0x72, 0x75, 0x2f,
|
||||
0x76, 0x33, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2f, 0x61, 0x70,
|
||||
0x70, 0x63, 0x74, 0x6c, 0x67, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x24, 0x0a, 0x04,
|
||||
0x53, 0x74, 0x6f, 0x70, 0x12, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d,
|
||||
0x70, 0x74, 0x79, 0x1a, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70,
|
||||
0x74, 0x79, 0x12, 0x26, 0x0a, 0x06, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x0d, 0x2e, 0x61,
|
||||
0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0d, 0x2e, 0x61, 0x70,
|
||||
0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x24, 0x0a, 0x04, 0x45, 0x78,
|
||||
0x69, 0x74, 0x12, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74,
|
||||
0x79, 0x1a, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
|
||||
0x12, 0x2c, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x0d,
|
||||
0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0f, 0x2e,
|
||||
0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x3c,
|
||||
0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
|
||||
0x4c, 0x69, 0x73, 0x74, 0x12, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d,
|
||||
0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x53, 0x65, 0x73,
|
||||
0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x08,
|
||||
0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74,
|
||||
0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1b, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c,
|
||||
0x2e, 0x55, 0x73, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
|
||||
0x4c, 0x69, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x65, 0x61,
|
||||
0x64, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45,
|
||||
0x6d, 0x70, 0x74, 0x79, 0x1a, 0x12, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x54, 0x68,
|
||||
0x72, 0x65, 0x61, 0x64, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x39, 0x0a, 0x0f, 0x53, 0x74, 0x61, 0x72,
|
||||
0x74, 0x43, 0x50, 0x55, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x17, 0x2e, 0x61, 0x70,
|
||||
0x70, 0x63, 0x74, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x61, 0x76, 0x65,
|
||||
0x50, 0x61, 0x74, 0x68, 0x1a, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d,
|
||||
0x70, 0x74, 0x79, 0x12, 0x2e, 0x0a, 0x0e, 0x53, 0x74, 0x6f, 0x70, 0x43, 0x50, 0x55, 0x50, 0x72,
|
||||
0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45,
|
||||
0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d,
|
||||
0x70, 0x74, 0x79, 0x12, 0x38, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x70, 0x50, 0x72,
|
||||
0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x50,
|
||||
0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x61, 0x76, 0x65, 0x50, 0x61, 0x74, 0x68, 0x1a, 0x0d,
|
||||
0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3e, 0x0a,
|
||||
0x13, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73,
|
||||
0x74, 0x69, 0x63, 0x73, 0x12, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d,
|
||||
0x70, 0x74, 0x79, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x4d, 0x65, 0x6d,
|
||||
0x6f, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x32, 0x80, 0x01,
|
||||
0x0a, 0x13, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65,
|
||||
0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66,
|
||||
0x69, 0x67, 0x12, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x6d, 0x70, 0x74,
|
||||
0x79, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65,
|
||||
0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x43, 0x6f,
|
||||
0x6e, 0x66, 0x69, 0x67, 0x12, 0x14, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x53, 0x65,
|
||||
0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x70,
|
||||
0x63, 0x74, 0x6c, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
|
||||
0x42, 0x32, 0x5a, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65,
|
||||
0x6e, 0x66, 0x65, 0x69, 0x6e, 0x2f, 0x6d, 0x69, 0x65, 0x72, 0x75, 0x2f, 0x76, 0x33, 0x2f, 0x70,
|
||||
0x6b, 0x67, 0x2f, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2f, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c,
|
||||
0x67, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var file_rpc_proto_goTypes = []interface{}{
|
||||
var file_appctl_proto_rpc_proto_goTypes = []interface{}{
|
||||
(*appctlpb.Empty)(nil), // 0: appctl.Empty
|
||||
(*appctlpb.ProfileSavePath)(nil), // 1: appctl.ProfileSavePath
|
||||
(*appctlpb.ServerConfig)(nil), // 2: appctl.ServerConfig
|
||||
@@ -135,8 +142,9 @@ var file_rpc_proto_goTypes = []interface{}{
|
||||
(*appctlpb.SessionInfoList)(nil), // 5: appctl.SessionInfoList
|
||||
(*appctlpb.ThreadDump)(nil), // 6: appctl.ThreadDump
|
||||
(*appctlpb.MemoryStatistics)(nil), // 7: appctl.MemoryStatistics
|
||||
(*appctlpb.UserWithMetricsList)(nil), // 8: appctl.UserWithMetricsList
|
||||
}
|
||||
var file_rpc_proto_depIdxs = []int32{
|
||||
var file_appctl_proto_rpc_proto_depIdxs = []int32{
|
||||
0, // 0: appctl.ClientLifecycleService.GetStatus:input_type -> appctl.Empty
|
||||
0, // 1: appctl.ClientLifecycleService.Exit:input_type -> appctl.Empty
|
||||
0, // 2: appctl.ClientLifecycleService.GetMetrics:input_type -> appctl.Empty
|
||||
@@ -153,63 +161,65 @@ var file_rpc_proto_depIdxs = []int32{
|
||||
0, // 13: appctl.ServerLifecycleService.Exit:input_type -> appctl.Empty
|
||||
0, // 14: appctl.ServerLifecycleService.GetMetrics:input_type -> appctl.Empty
|
||||
0, // 15: appctl.ServerLifecycleService.GetSessionInfoList:input_type -> appctl.Empty
|
||||
0, // 16: appctl.ServerLifecycleService.GetThreadDump:input_type -> appctl.Empty
|
||||
1, // 17: appctl.ServerLifecycleService.StartCPUProfile:input_type -> appctl.ProfileSavePath
|
||||
0, // 18: appctl.ServerLifecycleService.StopCPUProfile:input_type -> appctl.Empty
|
||||
1, // 19: appctl.ServerLifecycleService.GetHeapProfile:input_type -> appctl.ProfileSavePath
|
||||
0, // 20: appctl.ServerLifecycleService.GetMemoryStatistics:input_type -> appctl.Empty
|
||||
0, // 21: appctl.ServerConfigService.GetConfig:input_type -> appctl.Empty
|
||||
2, // 22: appctl.ServerConfigService.SetConfig:input_type -> appctl.ServerConfig
|
||||
3, // 23: appctl.ClientLifecycleService.GetStatus:output_type -> appctl.AppStatusMsg
|
||||
0, // 24: appctl.ClientLifecycleService.Exit:output_type -> appctl.Empty
|
||||
4, // 25: appctl.ClientLifecycleService.GetMetrics:output_type -> appctl.Metrics
|
||||
5, // 26: appctl.ClientLifecycleService.GetSessionInfoList:output_type -> appctl.SessionInfoList
|
||||
6, // 27: appctl.ClientLifecycleService.GetThreadDump:output_type -> appctl.ThreadDump
|
||||
0, // 28: appctl.ClientLifecycleService.StartCPUProfile:output_type -> appctl.Empty
|
||||
0, // 29: appctl.ClientLifecycleService.StopCPUProfile:output_type -> appctl.Empty
|
||||
0, // 30: appctl.ClientLifecycleService.GetHeapProfile:output_type -> appctl.Empty
|
||||
7, // 31: appctl.ClientLifecycleService.GetMemoryStatistics:output_type -> appctl.MemoryStatistics
|
||||
3, // 32: appctl.ServerLifecycleService.GetStatus:output_type -> appctl.AppStatusMsg
|
||||
0, // 33: appctl.ServerLifecycleService.Start:output_type -> appctl.Empty
|
||||
0, // 34: appctl.ServerLifecycleService.Stop:output_type -> appctl.Empty
|
||||
0, // 35: appctl.ServerLifecycleService.Reload:output_type -> appctl.Empty
|
||||
0, // 36: appctl.ServerLifecycleService.Exit:output_type -> appctl.Empty
|
||||
4, // 37: appctl.ServerLifecycleService.GetMetrics:output_type -> appctl.Metrics
|
||||
5, // 38: appctl.ServerLifecycleService.GetSessionInfoList:output_type -> appctl.SessionInfoList
|
||||
6, // 39: appctl.ServerLifecycleService.GetThreadDump:output_type -> appctl.ThreadDump
|
||||
0, // 40: appctl.ServerLifecycleService.StartCPUProfile:output_type -> appctl.Empty
|
||||
0, // 41: appctl.ServerLifecycleService.StopCPUProfile:output_type -> appctl.Empty
|
||||
0, // 42: appctl.ServerLifecycleService.GetHeapProfile:output_type -> appctl.Empty
|
||||
7, // 43: appctl.ServerLifecycleService.GetMemoryStatistics:output_type -> appctl.MemoryStatistics
|
||||
2, // 44: appctl.ServerConfigService.GetConfig:output_type -> appctl.ServerConfig
|
||||
2, // 45: appctl.ServerConfigService.SetConfig:output_type -> appctl.ServerConfig
|
||||
23, // [23:46] is the sub-list for method output_type
|
||||
0, // [0:23] is the sub-list for method input_type
|
||||
0, // 16: appctl.ServerLifecycleService.GetUsers:input_type -> appctl.Empty
|
||||
0, // 17: appctl.ServerLifecycleService.GetThreadDump:input_type -> appctl.Empty
|
||||
1, // 18: appctl.ServerLifecycleService.StartCPUProfile:input_type -> appctl.ProfileSavePath
|
||||
0, // 19: appctl.ServerLifecycleService.StopCPUProfile:input_type -> appctl.Empty
|
||||
1, // 20: appctl.ServerLifecycleService.GetHeapProfile:input_type -> appctl.ProfileSavePath
|
||||
0, // 21: appctl.ServerLifecycleService.GetMemoryStatistics:input_type -> appctl.Empty
|
||||
0, // 22: appctl.ServerConfigService.GetConfig:input_type -> appctl.Empty
|
||||
2, // 23: appctl.ServerConfigService.SetConfig:input_type -> appctl.ServerConfig
|
||||
3, // 24: appctl.ClientLifecycleService.GetStatus:output_type -> appctl.AppStatusMsg
|
||||
0, // 25: appctl.ClientLifecycleService.Exit:output_type -> appctl.Empty
|
||||
4, // 26: appctl.ClientLifecycleService.GetMetrics:output_type -> appctl.Metrics
|
||||
5, // 27: appctl.ClientLifecycleService.GetSessionInfoList:output_type -> appctl.SessionInfoList
|
||||
6, // 28: appctl.ClientLifecycleService.GetThreadDump:output_type -> appctl.ThreadDump
|
||||
0, // 29: appctl.ClientLifecycleService.StartCPUProfile:output_type -> appctl.Empty
|
||||
0, // 30: appctl.ClientLifecycleService.StopCPUProfile:output_type -> appctl.Empty
|
||||
0, // 31: appctl.ClientLifecycleService.GetHeapProfile:output_type -> appctl.Empty
|
||||
7, // 32: appctl.ClientLifecycleService.GetMemoryStatistics:output_type -> appctl.MemoryStatistics
|
||||
3, // 33: appctl.ServerLifecycleService.GetStatus:output_type -> appctl.AppStatusMsg
|
||||
0, // 34: appctl.ServerLifecycleService.Start:output_type -> appctl.Empty
|
||||
0, // 35: appctl.ServerLifecycleService.Stop:output_type -> appctl.Empty
|
||||
0, // 36: appctl.ServerLifecycleService.Reload:output_type -> appctl.Empty
|
||||
0, // 37: appctl.ServerLifecycleService.Exit:output_type -> appctl.Empty
|
||||
4, // 38: appctl.ServerLifecycleService.GetMetrics:output_type -> appctl.Metrics
|
||||
5, // 39: appctl.ServerLifecycleService.GetSessionInfoList:output_type -> appctl.SessionInfoList
|
||||
8, // 40: appctl.ServerLifecycleService.GetUsers:output_type -> appctl.UserWithMetricsList
|
||||
6, // 41: appctl.ServerLifecycleService.GetThreadDump:output_type -> appctl.ThreadDump
|
||||
0, // 42: appctl.ServerLifecycleService.StartCPUProfile:output_type -> appctl.Empty
|
||||
0, // 43: appctl.ServerLifecycleService.StopCPUProfile:output_type -> appctl.Empty
|
||||
0, // 44: appctl.ServerLifecycleService.GetHeapProfile:output_type -> appctl.Empty
|
||||
7, // 45: appctl.ServerLifecycleService.GetMemoryStatistics:output_type -> appctl.MemoryStatistics
|
||||
2, // 46: appctl.ServerConfigService.GetConfig:output_type -> appctl.ServerConfig
|
||||
2, // 47: appctl.ServerConfigService.SetConfig:output_type -> appctl.ServerConfig
|
||||
24, // [24:48] is the sub-list for method output_type
|
||||
0, // [0:24] is the sub-list for method input_type
|
||||
0, // [0:0] is the sub-list for extension type_name
|
||||
0, // [0:0] is the sub-list for extension extendee
|
||||
0, // [0:0] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_rpc_proto_init() }
|
||||
func file_rpc_proto_init() {
|
||||
if File_rpc_proto != nil {
|
||||
func init() { file_appctl_proto_rpc_proto_init() }
|
||||
func file_appctl_proto_rpc_proto_init() {
|
||||
if File_appctl_proto_rpc_proto != nil {
|
||||
return
|
||||
}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_rpc_proto_rawDesc,
|
||||
RawDescriptor: file_appctl_proto_rpc_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 0,
|
||||
NumExtensions: 0,
|
||||
NumServices: 3,
|
||||
},
|
||||
GoTypes: file_rpc_proto_goTypes,
|
||||
DependencyIndexes: file_rpc_proto_depIdxs,
|
||||
GoTypes: file_appctl_proto_rpc_proto_goTypes,
|
||||
DependencyIndexes: file_appctl_proto_rpc_proto_depIdxs,
|
||||
}.Build()
|
||||
File_rpc_proto = out.File
|
||||
file_rpc_proto_rawDesc = nil
|
||||
file_rpc_proto_goTypes = nil
|
||||
file_rpc_proto_depIdxs = nil
|
||||
File_appctl_proto_rpc_proto = out.File
|
||||
file_appctl_proto_rpc_proto_rawDesc = nil
|
||||
file_appctl_proto_rpc_proto_goTypes = nil
|
||||
file_appctl_proto_rpc_proto_depIdxs = nil
|
||||
}
|
||||
|
@@ -17,7 +17,7 @@
|
||||
// versions:
|
||||
// - protoc-gen-go-grpc v1.3.0
|
||||
// - protoc v4.22.3
|
||||
// source: rpc.proto
|
||||
// source: appctl/proto/rpc.proto
|
||||
|
||||
package appctlgrpc
|
||||
|
||||
@@ -436,7 +436,7 @@ var ClientLifecycleService_ServiceDesc = grpc.ServiceDesc{
|
||||
},
|
||||
},
|
||||
Streams: []grpc.StreamDesc{},
|
||||
Metadata: "rpc.proto",
|
||||
Metadata: "appctl/proto/rpc.proto",
|
||||
}
|
||||
|
||||
const (
|
||||
@@ -447,6 +447,7 @@ const (
|
||||
ServerLifecycleService_Exit_FullMethodName = "/appctl.ServerLifecycleService/Exit"
|
||||
ServerLifecycleService_GetMetrics_FullMethodName = "/appctl.ServerLifecycleService/GetMetrics"
|
||||
ServerLifecycleService_GetSessionInfoList_FullMethodName = "/appctl.ServerLifecycleService/GetSessionInfoList"
|
||||
ServerLifecycleService_GetUsers_FullMethodName = "/appctl.ServerLifecycleService/GetUsers"
|
||||
ServerLifecycleService_GetThreadDump_FullMethodName = "/appctl.ServerLifecycleService/GetThreadDump"
|
||||
ServerLifecycleService_StartCPUProfile_FullMethodName = "/appctl.ServerLifecycleService/StartCPUProfile"
|
||||
ServerLifecycleService_StopCPUProfile_FullMethodName = "/appctl.ServerLifecycleService/StopCPUProfile"
|
||||
@@ -472,6 +473,8 @@ type ServerLifecycleServiceClient interface {
|
||||
GetMetrics(ctx context.Context, in *appctlpb.Empty, opts ...grpc.CallOption) (*appctlpb.Metrics, error)
|
||||
// Get server session information.
|
||||
GetSessionInfoList(ctx context.Context, in *appctlpb.Empty, opts ...grpc.CallOption) (*appctlpb.SessionInfoList, error)
|
||||
// Get users setting and runtime information.
|
||||
GetUsers(ctx context.Context, in *appctlpb.Empty, opts ...grpc.CallOption) (*appctlpb.UserWithMetricsList, error)
|
||||
// Generate a thread dump of server daemon.
|
||||
GetThreadDump(ctx context.Context, in *appctlpb.Empty, opts ...grpc.CallOption) (*appctlpb.ThreadDump, error)
|
||||
// Start CPU profiling.
|
||||
@@ -555,6 +558,15 @@ func (c *serverLifecycleServiceClient) GetSessionInfoList(ctx context.Context, i
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *serverLifecycleServiceClient) GetUsers(ctx context.Context, in *appctlpb.Empty, opts ...grpc.CallOption) (*appctlpb.UserWithMetricsList, error) {
|
||||
out := new(appctlpb.UserWithMetricsList)
|
||||
err := c.cc.Invoke(ctx, ServerLifecycleService_GetUsers_FullMethodName, in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *serverLifecycleServiceClient) GetThreadDump(ctx context.Context, in *appctlpb.Empty, opts ...grpc.CallOption) (*appctlpb.ThreadDump, error) {
|
||||
out := new(appctlpb.ThreadDump)
|
||||
err := c.cc.Invoke(ctx, ServerLifecycleService_GetThreadDump_FullMethodName, in, out, opts...)
|
||||
@@ -618,6 +630,8 @@ type ServerLifecycleServiceServer interface {
|
||||
GetMetrics(context.Context, *appctlpb.Empty) (*appctlpb.Metrics, error)
|
||||
// Get server session information.
|
||||
GetSessionInfoList(context.Context, *appctlpb.Empty) (*appctlpb.SessionInfoList, error)
|
||||
// Get users setting and runtime information.
|
||||
GetUsers(context.Context, *appctlpb.Empty) (*appctlpb.UserWithMetricsList, error)
|
||||
// Generate a thread dump of server daemon.
|
||||
GetThreadDump(context.Context, *appctlpb.Empty) (*appctlpb.ThreadDump, error)
|
||||
// Start CPU profiling.
|
||||
@@ -656,6 +670,9 @@ func (UnimplementedServerLifecycleServiceServer) GetMetrics(context.Context, *ap
|
||||
func (UnimplementedServerLifecycleServiceServer) GetSessionInfoList(context.Context, *appctlpb.Empty) (*appctlpb.SessionInfoList, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetSessionInfoList not implemented")
|
||||
}
|
||||
func (UnimplementedServerLifecycleServiceServer) GetUsers(context.Context, *appctlpb.Empty) (*appctlpb.UserWithMetricsList, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetUsers not implemented")
|
||||
}
|
||||
func (UnimplementedServerLifecycleServiceServer) GetThreadDump(context.Context, *appctlpb.Empty) (*appctlpb.ThreadDump, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetThreadDump not implemented")
|
||||
}
|
||||
@@ -811,6 +828,24 @@ func _ServerLifecycleService_GetSessionInfoList_Handler(srv interface{}, ctx con
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _ServerLifecycleService_GetUsers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(appctlpb.Empty)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(ServerLifecycleServiceServer).GetUsers(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ServerLifecycleService_GetUsers_FullMethodName,
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(ServerLifecycleServiceServer).GetUsers(ctx, req.(*appctlpb.Empty))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _ServerLifecycleService_GetThreadDump_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(appctlpb.Empty)
|
||||
if err := dec(in); err != nil {
|
||||
@@ -936,6 +971,10 @@ var ServerLifecycleService_ServiceDesc = grpc.ServiceDesc{
|
||||
MethodName: "GetSessionInfoList",
|
||||
Handler: _ServerLifecycleService_GetSessionInfoList_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetUsers",
|
||||
Handler: _ServerLifecycleService_GetUsers_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetThreadDump",
|
||||
Handler: _ServerLifecycleService_GetThreadDump_Handler,
|
||||
@@ -958,7 +997,7 @@ var ServerLifecycleService_ServiceDesc = grpc.ServiceDesc{
|
||||
},
|
||||
},
|
||||
Streams: []grpc.StreamDesc{},
|
||||
Metadata: "rpc.proto",
|
||||
Metadata: "appctl/proto/rpc.proto",
|
||||
}
|
||||
|
||||
const (
|
||||
@@ -1089,5 +1128,5 @@ var ServerConfigService_ServiceDesc = grpc.ServiceDesc{
|
||||
},
|
||||
},
|
||||
Streams: []grpc.StreamDesc{},
|
||||
Metadata: "rpc.proto",
|
||||
Metadata: "appctl/proto/rpc.proto",
|
||||
}
|
||||
|
@@ -17,7 +17,7 @@
|
||||
// versions:
|
||||
// protoc-gen-go v1.30.0
|
||||
// protoc v4.22.3
|
||||
// source: base.proto
|
||||
// source: appctl/proto/base.proto
|
||||
|
||||
package appctlpb
|
||||
|
||||
@@ -78,11 +78,11 @@ func (x AppStatus) String() string {
|
||||
}
|
||||
|
||||
func (AppStatus) Descriptor() protoreflect.EnumDescriptor {
|
||||
return file_base_proto_enumTypes[0].Descriptor()
|
||||
return file_appctl_proto_base_proto_enumTypes[0].Descriptor()
|
||||
}
|
||||
|
||||
func (AppStatus) Type() protoreflect.EnumType {
|
||||
return &file_base_proto_enumTypes[0]
|
||||
return &file_appctl_proto_base_proto_enumTypes[0]
|
||||
}
|
||||
|
||||
func (x AppStatus) Number() protoreflect.EnumNumber {
|
||||
@@ -91,7 +91,7 @@ func (x AppStatus) Number() protoreflect.EnumNumber {
|
||||
|
||||
// Deprecated: Use AppStatus.Descriptor instead.
|
||||
func (AppStatus) EnumDescriptor() ([]byte, []int) {
|
||||
return file_base_proto_rawDescGZIP(), []int{0}
|
||||
return file_appctl_proto_base_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
type LoggingLevel int32
|
||||
@@ -139,11 +139,11 @@ func (x LoggingLevel) String() string {
|
||||
}
|
||||
|
||||
func (LoggingLevel) Descriptor() protoreflect.EnumDescriptor {
|
||||
return file_base_proto_enumTypes[1].Descriptor()
|
||||
return file_appctl_proto_base_proto_enumTypes[1].Descriptor()
|
||||
}
|
||||
|
||||
func (LoggingLevel) Type() protoreflect.EnumType {
|
||||
return &file_base_proto_enumTypes[1]
|
||||
return &file_appctl_proto_base_proto_enumTypes[1]
|
||||
}
|
||||
|
||||
func (x LoggingLevel) Number() protoreflect.EnumNumber {
|
||||
@@ -152,7 +152,7 @@ func (x LoggingLevel) Number() protoreflect.EnumNumber {
|
||||
|
||||
// Deprecated: Use LoggingLevel.Descriptor instead.
|
||||
func (LoggingLevel) EnumDescriptor() ([]byte, []int) {
|
||||
return file_base_proto_rawDescGZIP(), []int{1}
|
||||
return file_appctl_proto_base_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
type DualStack int32
|
||||
@@ -194,11 +194,11 @@ func (x DualStack) String() string {
|
||||
}
|
||||
|
||||
func (DualStack) Descriptor() protoreflect.EnumDescriptor {
|
||||
return file_base_proto_enumTypes[2].Descriptor()
|
||||
return file_appctl_proto_base_proto_enumTypes[2].Descriptor()
|
||||
}
|
||||
|
||||
func (DualStack) Type() protoreflect.EnumType {
|
||||
return &file_base_proto_enumTypes[2]
|
||||
return &file_appctl_proto_base_proto_enumTypes[2]
|
||||
}
|
||||
|
||||
func (x DualStack) Number() protoreflect.EnumNumber {
|
||||
@@ -207,7 +207,7 @@ func (x DualStack) Number() protoreflect.EnumNumber {
|
||||
|
||||
// Deprecated: Use DualStack.Descriptor instead.
|
||||
func (DualStack) EnumDescriptor() ([]byte, []int) {
|
||||
return file_base_proto_rawDescGZIP(), []int{2}
|
||||
return file_appctl_proto_base_proto_rawDescGZIP(), []int{2}
|
||||
}
|
||||
|
||||
type TransportProtocol int32
|
||||
@@ -243,11 +243,11 @@ func (x TransportProtocol) String() string {
|
||||
}
|
||||
|
||||
func (TransportProtocol) Descriptor() protoreflect.EnumDescriptor {
|
||||
return file_base_proto_enumTypes[3].Descriptor()
|
||||
return file_appctl_proto_base_proto_enumTypes[3].Descriptor()
|
||||
}
|
||||
|
||||
func (TransportProtocol) Type() protoreflect.EnumType {
|
||||
return &file_base_proto_enumTypes[3]
|
||||
return &file_appctl_proto_base_proto_enumTypes[3]
|
||||
}
|
||||
|
||||
func (x TransportProtocol) Number() protoreflect.EnumNumber {
|
||||
@@ -256,7 +256,7 @@ func (x TransportProtocol) Number() protoreflect.EnumNumber {
|
||||
|
||||
// Deprecated: Use TransportProtocol.Descriptor instead.
|
||||
func (TransportProtocol) EnumDescriptor() ([]byte, []int) {
|
||||
return file_base_proto_rawDescGZIP(), []int{3}
|
||||
return file_appctl_proto_base_proto_rawDescGZIP(), []int{3}
|
||||
}
|
||||
|
||||
type Empty struct {
|
||||
@@ -268,7 +268,7 @@ type Empty struct {
|
||||
func (x *Empty) Reset() {
|
||||
*x = Empty{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_base_proto_msgTypes[0]
|
||||
mi := &file_appctl_proto_base_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -281,7 +281,7 @@ func (x *Empty) String() string {
|
||||
func (*Empty) ProtoMessage() {}
|
||||
|
||||
func (x *Empty) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_base_proto_msgTypes[0]
|
||||
mi := &file_appctl_proto_base_proto_msgTypes[0]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -294,7 +294,7 @@ func (x *Empty) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use Empty.ProtoReflect.Descriptor instead.
|
||||
func (*Empty) Descriptor() ([]byte, []int) {
|
||||
return file_base_proto_rawDescGZIP(), []int{0}
|
||||
return file_appctl_proto_base_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
type AppStatusMsg struct {
|
||||
@@ -308,7 +308,7 @@ type AppStatusMsg struct {
|
||||
func (x *AppStatusMsg) Reset() {
|
||||
*x = AppStatusMsg{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_base_proto_msgTypes[1]
|
||||
mi := &file_appctl_proto_base_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -321,7 +321,7 @@ func (x *AppStatusMsg) String() string {
|
||||
func (*AppStatusMsg) ProtoMessage() {}
|
||||
|
||||
func (x *AppStatusMsg) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_base_proto_msgTypes[1]
|
||||
mi := &file_appctl_proto_base_proto_msgTypes[1]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -334,7 +334,7 @@ func (x *AppStatusMsg) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use AppStatusMsg.ProtoReflect.Descriptor instead.
|
||||
func (*AppStatusMsg) Descriptor() ([]byte, []int) {
|
||||
return file_base_proto_rawDescGZIP(), []int{1}
|
||||
return file_appctl_proto_base_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
func (x *AppStatusMsg) GetStatus() AppStatus {
|
||||
@@ -362,7 +362,7 @@ type ServerEndpoint struct {
|
||||
func (x *ServerEndpoint) Reset() {
|
||||
*x = ServerEndpoint{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_base_proto_msgTypes[2]
|
||||
mi := &file_appctl_proto_base_proto_msgTypes[2]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -375,7 +375,7 @@ func (x *ServerEndpoint) String() string {
|
||||
func (*ServerEndpoint) ProtoMessage() {}
|
||||
|
||||
func (x *ServerEndpoint) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_base_proto_msgTypes[2]
|
||||
mi := &file_appctl_proto_base_proto_msgTypes[2]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -388,7 +388,7 @@ func (x *ServerEndpoint) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use ServerEndpoint.ProtoReflect.Descriptor instead.
|
||||
func (*ServerEndpoint) Descriptor() ([]byte, []int) {
|
||||
return file_base_proto_rawDescGZIP(), []int{2}
|
||||
return file_appctl_proto_base_proto_rawDescGZIP(), []int{2}
|
||||
}
|
||||
|
||||
func (x *ServerEndpoint) GetIpAddress() string {
|
||||
@@ -430,7 +430,7 @@ type PortBinding struct {
|
||||
func (x *PortBinding) Reset() {
|
||||
*x = PortBinding{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_base_proto_msgTypes[3]
|
||||
mi := &file_appctl_proto_base_proto_msgTypes[3]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -443,7 +443,7 @@ func (x *PortBinding) String() string {
|
||||
func (*PortBinding) ProtoMessage() {}
|
||||
|
||||
func (x *PortBinding) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_base_proto_msgTypes[3]
|
||||
mi := &file_appctl_proto_base_proto_msgTypes[3]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -456,7 +456,7 @@ func (x *PortBinding) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use PortBinding.ProtoReflect.Descriptor instead.
|
||||
func (*PortBinding) Descriptor() ([]byte, []int) {
|
||||
return file_base_proto_rawDescGZIP(), []int{3}
|
||||
return file_appctl_proto_base_proto_rawDescGZIP(), []int{3}
|
||||
}
|
||||
|
||||
func (x *PortBinding) GetPort() int32 {
|
||||
@@ -502,7 +502,7 @@ type User struct {
|
||||
func (x *User) Reset() {
|
||||
*x = User{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_base_proto_msgTypes[4]
|
||||
mi := &file_appctl_proto_base_proto_msgTypes[4]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -515,7 +515,7 @@ func (x *User) String() string {
|
||||
func (*User) ProtoMessage() {}
|
||||
|
||||
func (x *User) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_base_proto_msgTypes[4]
|
||||
mi := &file_appctl_proto_base_proto_msgTypes[4]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -528,7 +528,7 @@ func (x *User) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use User.ProtoReflect.Descriptor instead.
|
||||
func (*User) Descriptor() ([]byte, []int) {
|
||||
return file_base_proto_rawDescGZIP(), []int{4}
|
||||
return file_appctl_proto_base_proto_rawDescGZIP(), []int{4}
|
||||
}
|
||||
|
||||
func (x *User) GetName() string {
|
||||
@@ -574,7 +574,7 @@ type Quota struct {
|
||||
func (x *Quota) Reset() {
|
||||
*x = Quota{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_base_proto_msgTypes[5]
|
||||
mi := &file_appctl_proto_base_proto_msgTypes[5]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -587,7 +587,7 @@ func (x *Quota) String() string {
|
||||
func (*Quota) ProtoMessage() {}
|
||||
|
||||
func (x *Quota) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_base_proto_msgTypes[5]
|
||||
mi := &file_appctl_proto_base_proto_msgTypes[5]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -600,7 +600,7 @@ func (x *Quota) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use Quota.ProtoReflect.Descriptor instead.
|
||||
func (*Quota) Descriptor() ([]byte, []int) {
|
||||
return file_base_proto_rawDescGZIP(), []int{5}
|
||||
return file_appctl_proto_base_proto_rawDescGZIP(), []int{5}
|
||||
}
|
||||
|
||||
func (x *Quota) GetDays() int32 {
|
||||
@@ -631,7 +631,7 @@ type Auth struct {
|
||||
func (x *Auth) Reset() {
|
||||
*x = Auth{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_base_proto_msgTypes[6]
|
||||
mi := &file_appctl_proto_base_proto_msgTypes[6]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -644,7 +644,7 @@ func (x *Auth) String() string {
|
||||
func (*Auth) ProtoMessage() {}
|
||||
|
||||
func (x *Auth) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_base_proto_msgTypes[6]
|
||||
mi := &file_appctl_proto_base_proto_msgTypes[6]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -657,7 +657,7 @@ func (x *Auth) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use Auth.ProtoReflect.Descriptor instead.
|
||||
func (*Auth) Descriptor() ([]byte, []int) {
|
||||
return file_base_proto_rawDescGZIP(), []int{6}
|
||||
return file_appctl_proto_base_proto_rawDescGZIP(), []int{6}
|
||||
}
|
||||
|
||||
func (x *Auth) GetUser() string {
|
||||
@@ -674,103 +674,103 @@ func (x *Auth) GetPassword() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
var File_base_proto protoreflect.FileDescriptor
|
||||
var File_appctl_proto_base_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_base_proto_rawDesc = []byte{
|
||||
0x0a, 0x0a, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x61, 0x70,
|
||||
0x70, 0x63, 0x74, 0x6c, 0x22, 0x07, 0x0a, 0x05, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x49, 0x0a,
|
||||
0x0c, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x73, 0x67, 0x12, 0x2e, 0x0a,
|
||||
0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e,
|
||||
0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
|
||||
0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a,
|
||||
0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xae, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x72,
|
||||
0x76, 0x65, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x09, 0x69,
|
||||
0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
|
||||
0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x23,
|
||||
0x0a, 0x0a, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65,
|
||||
0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x0c, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x69, 0x6e, 0x64, 0x69,
|
||||
0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x70, 0x63,
|
||||
0x74, 0x6c, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x0c,
|
||||
0x70, 0x6f, 0x72, 0x74, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x0c, 0x0a, 0x0a,
|
||||
0x5f, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x64,
|
||||
0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x0b, 0x50, 0x6f,
|
||||
0x72, 0x74, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x17, 0x0a, 0x04, 0x70, 0x6f, 0x72,
|
||||
0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x88,
|
||||
0x01, 0x01, 0x12, 0x3a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x02,
|
||||
0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x54, 0x72,
|
||||
0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48,
|
||||
0x01, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x21,
|
||||
0x0a, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
|
||||
0x09, 0x48, 0x02, 0x52, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01,
|
||||
0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x6f, 0x72, 0x74,
|
||||
0x52, 0x61, 0x6e, 0x67, 0x65, 0x22, 0xbd, 0x01, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x17,
|
||||
0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04,
|
||||
0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77,
|
||||
0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x70, 0x61, 0x73,
|
||||
0x73, 0x77, 0x6f, 0x72, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0e, 0x68, 0x61, 0x73, 0x68,
|
||||
0x65, 0x64, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
|
||||
0x48, 0x02, 0x52, 0x0e, 0x68, 0x61, 0x73, 0x68, 0x65, 0x64, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f,
|
||||
0x72, 0x64, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x06, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x18,
|
||||
0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x51,
|
||||
0x75, 0x6f, 0x74, 0x61, 0x52, 0x06, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x42, 0x07, 0x0a, 0x05,
|
||||
0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f,
|
||||
0x72, 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x64, 0x50, 0x61, 0x73,
|
||||
0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x5a, 0x0a, 0x05, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x12, 0x17,
|
||||
0x0a, 0x04, 0x64, 0x61, 0x79, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x04,
|
||||
0x64, 0x61, 0x79, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x6d, 0x65, 0x67, 0x61, 0x62,
|
||||
0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x09, 0x6d, 0x65,
|
||||
0x67, 0x61, 0x62, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x64,
|
||||
0x61, 0x79, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6d, 0x65, 0x67, 0x61, 0x62, 0x79, 0x74, 0x65,
|
||||
0x73, 0x22, 0x56, 0x0a, 0x04, 0x41, 0x75, 0x74, 0x68, 0x12, 0x17, 0x0a, 0x04, 0x75, 0x73, 0x65,
|
||||
0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x88,
|
||||
0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02,
|
||||
0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
|
||||
0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x42, 0x0b, 0x0a, 0x09,
|
||||
0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x2a, 0x4b, 0x0a, 0x09, 0x41, 0x70, 0x70,
|
||||
0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57,
|
||||
0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x44, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a,
|
||||
0x08, 0x53, 0x54, 0x41, 0x52, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x52,
|
||||
0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x54, 0x4f, 0x50,
|
||||
0x50, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x2a, 0x5b, 0x0a, 0x0c, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e,
|
||||
0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c,
|
||||
0x54, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x41, 0x54, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x09,
|
||||
0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x57, 0x41, 0x52,
|
||||
0x4e, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x04, 0x12, 0x09, 0x0a,
|
||||
0x05, 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x52, 0x41, 0x43,
|
||||
0x45, 0x10, 0x06, 0x2a, 0x5d, 0x0a, 0x09, 0x44, 0x75, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x63, 0x6b,
|
||||
0x12, 0x10, 0x0a, 0x0c, 0x55, 0x53, 0x45, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x49, 0x50,
|
||||
0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, 0x5f, 0x49, 0x50, 0x76,
|
||||
0x34, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, 0x5f, 0x49, 0x50,
|
||||
0x76, 0x36, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x4e, 0x4c, 0x59, 0x5f, 0x49, 0x50, 0x76,
|
||||
0x34, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x4e, 0x4c, 0x59, 0x5f, 0x49, 0x50, 0x76, 0x36,
|
||||
0x10, 0x04, 0x2a, 0x45, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x50,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x4e, 0x4b, 0x4e, 0x4f,
|
||||
0x57, 0x4e, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x50, 0x52, 0x4f,
|
||||
0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x55, 0x44, 0x50, 0x10, 0x01,
|
||||
0x12, 0x07, 0x0a, 0x03, 0x54, 0x43, 0x50, 0x10, 0x02, 0x42, 0x30, 0x5a, 0x2e, 0x67, 0x69, 0x74,
|
||||
0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x66, 0x65, 0x69, 0x6e, 0x2f, 0x6d,
|
||||
0x69, 0x65, 0x72, 0x75, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x70, 0x63,
|
||||
0x74, 0x6c, 0x2f, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x33,
|
||||
var file_appctl_proto_base_proto_rawDesc = []byte{
|
||||
0x0a, 0x17, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x62,
|
||||
0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x61, 0x70, 0x70, 0x63, 0x74,
|
||||
0x6c, 0x22, 0x07, 0x0a, 0x05, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x49, 0x0a, 0x0c, 0x41, 0x70,
|
||||
0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x73, 0x67, 0x12, 0x2e, 0x0a, 0x06, 0x73, 0x74,
|
||||
0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x70,
|
||||
0x63, 0x74, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52,
|
||||
0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73,
|
||||
0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xae, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
|
||||
0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x09, 0x69, 0x70, 0x41, 0x64,
|
||||
0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x69,
|
||||
0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x0a, 0x64,
|
||||
0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48,
|
||||
0x01, 0x52, 0x0a, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01,
|
||||
0x12, 0x37, 0x0a, 0x0c, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73,
|
||||
0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e,
|
||||
0x50, 0x6f, 0x72, 0x74, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x0c, 0x70, 0x6f, 0x72,
|
||||
0x74, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x69, 0x70,
|
||||
0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x64, 0x6f, 0x6d, 0x61,
|
||||
0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x0b, 0x50, 0x6f, 0x72, 0x74, 0x42,
|
||||
0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x17, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12,
|
||||
0x3a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||
0x0e, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73,
|
||||
0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x01, 0x52, 0x08,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x70,
|
||||
0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02,
|
||||
0x52, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07,
|
||||
0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x63, 0x6f, 0x6c, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e,
|
||||
0x67, 0x65, 0x22, 0xbd, 0x01, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x04, 0x6e,
|
||||
0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d,
|
||||
0x65, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f,
|
||||
0x72, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0e, 0x68, 0x61, 0x73, 0x68, 0x65, 0x64, 0x50,
|
||||
0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52,
|
||||
0x0e, 0x68, 0x61, 0x73, 0x68, 0x65, 0x64, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x88,
|
||||
0x01, 0x01, 0x12, 0x25, 0x0a, 0x06, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x18, 0x04, 0x20, 0x03,
|
||||
0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x51, 0x75, 0x6f, 0x74,
|
||||
0x61, 0x52, 0x06, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61,
|
||||
0x6d, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x42,
|
||||
0x11, 0x0a, 0x0f, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x64, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f,
|
||||
0x72, 0x64, 0x22, 0x5a, 0x0a, 0x05, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x04, 0x64,
|
||||
0x61, 0x79, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61, 0x79,
|
||||
0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x6d, 0x65, 0x67, 0x61, 0x62, 0x79, 0x74, 0x65,
|
||||
0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x09, 0x6d, 0x65, 0x67, 0x61, 0x62,
|
||||
0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x64, 0x61, 0x79, 0x73,
|
||||
0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6d, 0x65, 0x67, 0x61, 0x62, 0x79, 0x74, 0x65, 0x73, 0x22, 0x56,
|
||||
0x0a, 0x04, 0x41, 0x75, 0x74, 0x68, 0x12, 0x17, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12,
|
||||
0x1f, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||
0x09, 0x48, 0x01, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x88, 0x01, 0x01,
|
||||
0x42, 0x07, 0x0a, 0x05, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x61,
|
||||
0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x2a, 0x4b, 0x0a, 0x09, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61,
|
||||
0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00,
|
||||
0x12, 0x08, 0x0a, 0x04, 0x49, 0x44, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x54,
|
||||
0x41, 0x52, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e,
|
||||
0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x49, 0x4e,
|
||||
0x47, 0x10, 0x04, 0x2a, 0x5b, 0x0a, 0x0c, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x4c, 0x65,
|
||||
0x76, 0x65, 0x6c, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00,
|
||||
0x12, 0x09, 0x0a, 0x05, 0x46, 0x41, 0x54, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x45,
|
||||
0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x57, 0x41, 0x52, 0x4e, 0x10, 0x03,
|
||||
0x12, 0x08, 0x0a, 0x04, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x45,
|
||||
0x42, 0x55, 0x47, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x06,
|
||||
0x2a, 0x5d, 0x0a, 0x09, 0x44, 0x75, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x10, 0x0a,
|
||||
0x0c, 0x55, 0x53, 0x45, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x49, 0x50, 0x10, 0x00, 0x12,
|
||||
0x0f, 0x0a, 0x0b, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, 0x5f, 0x49, 0x50, 0x76, 0x34, 0x10, 0x01,
|
||||
0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, 0x5f, 0x49, 0x50, 0x76, 0x36, 0x10,
|
||||
0x02, 0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x4e, 0x4c, 0x59, 0x5f, 0x49, 0x50, 0x76, 0x34, 0x10, 0x03,
|
||||
0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x4e, 0x4c, 0x59, 0x5f, 0x49, 0x50, 0x76, 0x36, 0x10, 0x04, 0x2a,
|
||||
0x45, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f,
|
||||
0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43,
|
||||
0x4f, 0x4c, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x55, 0x44, 0x50, 0x10, 0x01, 0x12, 0x07, 0x0a,
|
||||
0x03, 0x54, 0x43, 0x50, 0x10, 0x02, 0x42, 0x30, 0x5a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62,
|
||||
0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x66, 0x65, 0x69, 0x6e, 0x2f, 0x6d, 0x69, 0x65, 0x72,
|
||||
0x75, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2f,
|
||||
0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_base_proto_rawDescOnce sync.Once
|
||||
file_base_proto_rawDescData = file_base_proto_rawDesc
|
||||
file_appctl_proto_base_proto_rawDescOnce sync.Once
|
||||
file_appctl_proto_base_proto_rawDescData = file_appctl_proto_base_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_base_proto_rawDescGZIP() []byte {
|
||||
file_base_proto_rawDescOnce.Do(func() {
|
||||
file_base_proto_rawDescData = protoimpl.X.CompressGZIP(file_base_proto_rawDescData)
|
||||
func file_appctl_proto_base_proto_rawDescGZIP() []byte {
|
||||
file_appctl_proto_base_proto_rawDescOnce.Do(func() {
|
||||
file_appctl_proto_base_proto_rawDescData = protoimpl.X.CompressGZIP(file_appctl_proto_base_proto_rawDescData)
|
||||
})
|
||||
return file_base_proto_rawDescData
|
||||
return file_appctl_proto_base_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_base_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
|
||||
var file_base_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
|
||||
var file_base_proto_goTypes = []interface{}{
|
||||
var file_appctl_proto_base_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
|
||||
var file_appctl_proto_base_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
|
||||
var file_appctl_proto_base_proto_goTypes = []interface{}{
|
||||
(AppStatus)(0), // 0: appctl.AppStatus
|
||||
(LoggingLevel)(0), // 1: appctl.LoggingLevel
|
||||
(DualStack)(0), // 2: appctl.DualStack
|
||||
@@ -783,7 +783,7 @@ var file_base_proto_goTypes = []interface{}{
|
||||
(*Quota)(nil), // 9: appctl.Quota
|
||||
(*Auth)(nil), // 10: appctl.Auth
|
||||
}
|
||||
var file_base_proto_depIdxs = []int32{
|
||||
var file_appctl_proto_base_proto_depIdxs = []int32{
|
||||
0, // 0: appctl.AppStatusMsg.status:type_name -> appctl.AppStatus
|
||||
7, // 1: appctl.ServerEndpoint.portBindings:type_name -> appctl.PortBinding
|
||||
3, // 2: appctl.PortBinding.protocol:type_name -> appctl.TransportProtocol
|
||||
@@ -795,13 +795,13 @@ var file_base_proto_depIdxs = []int32{
|
||||
0, // [0:4] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_base_proto_init() }
|
||||
func file_base_proto_init() {
|
||||
if File_base_proto != nil {
|
||||
func init() { file_appctl_proto_base_proto_init() }
|
||||
func file_appctl_proto_base_proto_init() {
|
||||
if File_appctl_proto_base_proto != nil {
|
||||
return
|
||||
}
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_base_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
file_appctl_proto_base_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Empty); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -813,7 +813,7 @@ func file_base_proto_init() {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_base_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
file_appctl_proto_base_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*AppStatusMsg); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -825,7 +825,7 @@ func file_base_proto_init() {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_base_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||
file_appctl_proto_base_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ServerEndpoint); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -837,7 +837,7 @@ func file_base_proto_init() {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_base_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||
file_appctl_proto_base_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*PortBinding); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -849,7 +849,7 @@ func file_base_proto_init() {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_base_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
||||
file_appctl_proto_base_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*User); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -861,7 +861,7 @@ func file_base_proto_init() {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_base_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
||||
file_appctl_proto_base_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Quota); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -873,7 +873,7 @@ func file_base_proto_init() {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_base_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
||||
file_appctl_proto_base_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Auth); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -886,29 +886,29 @@ func file_base_proto_init() {
|
||||
}
|
||||
}
|
||||
}
|
||||
file_base_proto_msgTypes[1].OneofWrappers = []interface{}{}
|
||||
file_base_proto_msgTypes[2].OneofWrappers = []interface{}{}
|
||||
file_base_proto_msgTypes[3].OneofWrappers = []interface{}{}
|
||||
file_base_proto_msgTypes[4].OneofWrappers = []interface{}{}
|
||||
file_base_proto_msgTypes[5].OneofWrappers = []interface{}{}
|
||||
file_base_proto_msgTypes[6].OneofWrappers = []interface{}{}
|
||||
file_appctl_proto_base_proto_msgTypes[1].OneofWrappers = []interface{}{}
|
||||
file_appctl_proto_base_proto_msgTypes[2].OneofWrappers = []interface{}{}
|
||||
file_appctl_proto_base_proto_msgTypes[3].OneofWrappers = []interface{}{}
|
||||
file_appctl_proto_base_proto_msgTypes[4].OneofWrappers = []interface{}{}
|
||||
file_appctl_proto_base_proto_msgTypes[5].OneofWrappers = []interface{}{}
|
||||
file_appctl_proto_base_proto_msgTypes[6].OneofWrappers = []interface{}{}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_base_proto_rawDesc,
|
||||
RawDescriptor: file_appctl_proto_base_proto_rawDesc,
|
||||
NumEnums: 4,
|
||||
NumMessages: 7,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
GoTypes: file_base_proto_goTypes,
|
||||
DependencyIndexes: file_base_proto_depIdxs,
|
||||
EnumInfos: file_base_proto_enumTypes,
|
||||
MessageInfos: file_base_proto_msgTypes,
|
||||
GoTypes: file_appctl_proto_base_proto_goTypes,
|
||||
DependencyIndexes: file_appctl_proto_base_proto_depIdxs,
|
||||
EnumInfos: file_appctl_proto_base_proto_enumTypes,
|
||||
MessageInfos: file_appctl_proto_base_proto_msgTypes,
|
||||
}.Build()
|
||||
File_base_proto = out.File
|
||||
file_base_proto_rawDesc = nil
|
||||
file_base_proto_goTypes = nil
|
||||
file_base_proto_depIdxs = nil
|
||||
File_appctl_proto_base_proto = out.File
|
||||
file_appctl_proto_base_proto_rawDesc = nil
|
||||
file_appctl_proto_base_proto_goTypes = nil
|
||||
file_appctl_proto_base_proto_depIdxs = nil
|
||||
}
|
||||
|
@@ -17,7 +17,7 @@
|
||||
// versions:
|
||||
// protoc-gen-go v1.30.0
|
||||
// protoc v4.22.3
|
||||
// source: clientcfg.proto
|
||||
// source: appctl/proto/clientcfg.proto
|
||||
|
||||
package appctlpb
|
||||
|
||||
@@ -74,11 +74,11 @@ func (x MultiplexingLevel) String() string {
|
||||
}
|
||||
|
||||
func (MultiplexingLevel) Descriptor() protoreflect.EnumDescriptor {
|
||||
return file_clientcfg_proto_enumTypes[0].Descriptor()
|
||||
return file_appctl_proto_clientcfg_proto_enumTypes[0].Descriptor()
|
||||
}
|
||||
|
||||
func (MultiplexingLevel) Type() protoreflect.EnumType {
|
||||
return &file_clientcfg_proto_enumTypes[0]
|
||||
return &file_appctl_proto_clientcfg_proto_enumTypes[0]
|
||||
}
|
||||
|
||||
func (x MultiplexingLevel) Number() protoreflect.EnumNumber {
|
||||
@@ -87,7 +87,7 @@ func (x MultiplexingLevel) Number() protoreflect.EnumNumber {
|
||||
|
||||
// Deprecated: Use MultiplexingLevel.Descriptor instead.
|
||||
func (MultiplexingLevel) EnumDescriptor() ([]byte, []int) {
|
||||
return file_clientcfg_proto_rawDescGZIP(), []int{0}
|
||||
return file_appctl_proto_clientcfg_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
type ClientConfig struct {
|
||||
@@ -121,7 +121,7 @@ type ClientConfig struct {
|
||||
func (x *ClientConfig) Reset() {
|
||||
*x = ClientConfig{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_clientcfg_proto_msgTypes[0]
|
||||
mi := &file_appctl_proto_clientcfg_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -134,7 +134,7 @@ func (x *ClientConfig) String() string {
|
||||
func (*ClientConfig) ProtoMessage() {}
|
||||
|
||||
func (x *ClientConfig) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_clientcfg_proto_msgTypes[0]
|
||||
mi := &file_appctl_proto_clientcfg_proto_msgTypes[0]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -147,7 +147,7 @@ func (x *ClientConfig) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use ClientConfig.ProtoReflect.Descriptor instead.
|
||||
func (*ClientConfig) Descriptor() ([]byte, []int) {
|
||||
return file_clientcfg_proto_rawDescGZIP(), []int{0}
|
||||
return file_appctl_proto_clientcfg_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *ClientConfig) GetProfiles() []*ClientProfile {
|
||||
@@ -241,7 +241,7 @@ type ClientProfile struct {
|
||||
func (x *ClientProfile) Reset() {
|
||||
*x = ClientProfile{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_clientcfg_proto_msgTypes[1]
|
||||
mi := &file_appctl_proto_clientcfg_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -254,7 +254,7 @@ func (x *ClientProfile) String() string {
|
||||
func (*ClientProfile) ProtoMessage() {}
|
||||
|
||||
func (x *ClientProfile) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_clientcfg_proto_msgTypes[1]
|
||||
mi := &file_appctl_proto_clientcfg_proto_msgTypes[1]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -267,7 +267,7 @@ func (x *ClientProfile) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use ClientProfile.ProtoReflect.Descriptor instead.
|
||||
func (*ClientProfile) Descriptor() ([]byte, []int) {
|
||||
return file_clientcfg_proto_rawDescGZIP(), []int{1}
|
||||
return file_appctl_proto_clientcfg_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
func (x *ClientProfile) GetProfileName() string {
|
||||
@@ -317,7 +317,7 @@ type MultiplexingConfig struct {
|
||||
func (x *MultiplexingConfig) Reset() {
|
||||
*x = MultiplexingConfig{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_clientcfg_proto_msgTypes[2]
|
||||
mi := &file_appctl_proto_clientcfg_proto_msgTypes[2]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -330,7 +330,7 @@ func (x *MultiplexingConfig) String() string {
|
||||
func (*MultiplexingConfig) ProtoMessage() {}
|
||||
|
||||
func (x *MultiplexingConfig) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_clientcfg_proto_msgTypes[2]
|
||||
mi := &file_appctl_proto_clientcfg_proto_msgTypes[2]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -343,7 +343,7 @@ func (x *MultiplexingConfig) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use MultiplexingConfig.ProtoReflect.Descriptor instead.
|
||||
func (*MultiplexingConfig) Descriptor() ([]byte, []int) {
|
||||
return file_clientcfg_proto_rawDescGZIP(), []int{2}
|
||||
return file_appctl_proto_clientcfg_proto_rawDescGZIP(), []int{2}
|
||||
}
|
||||
|
||||
func (x *MultiplexingConfig) GetLevel() MultiplexingLevel {
|
||||
@@ -365,7 +365,7 @@ type ClientAdvancedSettings struct {
|
||||
func (x *ClientAdvancedSettings) Reset() {
|
||||
*x = ClientAdvancedSettings{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_clientcfg_proto_msgTypes[3]
|
||||
mi := &file_appctl_proto_clientcfg_proto_msgTypes[3]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -378,7 +378,7 @@ func (x *ClientAdvancedSettings) String() string {
|
||||
func (*ClientAdvancedSettings) ProtoMessage() {}
|
||||
|
||||
func (x *ClientAdvancedSettings) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_clientcfg_proto_msgTypes[3]
|
||||
mi := &file_appctl_proto_clientcfg_proto_msgTypes[3]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -391,7 +391,7 @@ func (x *ClientAdvancedSettings) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use ClientAdvancedSettings.ProtoReflect.Descriptor instead.
|
||||
func (*ClientAdvancedSettings) Descriptor() ([]byte, []int) {
|
||||
return file_clientcfg_proto_rawDescGZIP(), []int{3}
|
||||
return file_appctl_proto_clientcfg_proto_rawDescGZIP(), []int{3}
|
||||
}
|
||||
|
||||
func (x *ClientAdvancedSettings) GetNoCheckUpdate() bool {
|
||||
@@ -401,112 +401,114 @@ func (x *ClientAdvancedSettings) GetNoCheckUpdate() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
var File_clientcfg_proto protoreflect.FileDescriptor
|
||||
var File_appctl_proto_clientcfg_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_clientcfg_proto_rawDesc = []byte{
|
||||
0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x63, 0x66, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x12, 0x06, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x1a, 0x0a, 0x62, 0x61, 0x73, 0x65, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa1, 0x05, 0x0a, 0x0c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
|
||||
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x31, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c,
|
||||
0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74,
|
||||
0x6c, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52,
|
||||
0x08, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x0d, 0x61, 0x63, 0x74,
|
||||
0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
|
||||
0x48, 0x00, 0x52, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c,
|
||||
0x65, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x72, 0x70, 0x63, 0x50, 0x6f, 0x72, 0x74, 0x18,
|
||||
0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x07, 0x72, 0x70, 0x63, 0x50, 0x6f, 0x72, 0x74,
|
||||
0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x0a, 0x73, 0x6f, 0x63, 0x6b, 0x73, 0x35, 0x50, 0x6f, 0x72,
|
||||
0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x0a, 0x73, 0x6f, 0x63, 0x6b, 0x73,
|
||||
0x35, 0x50, 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x4f, 0x0a, 0x10, 0x61, 0x64, 0x76, 0x61,
|
||||
0x6e, 0x63, 0x65, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x01,
|
||||
0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x43, 0x6c, 0x69, 0x65,
|
||||
0x6e, 0x74, 0x41, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
|
||||
0x67, 0x73, 0x48, 0x03, 0x52, 0x10, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x53, 0x65,
|
||||
0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x6f, 0x67,
|
||||
0x67, 0x69, 0x6e, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32,
|
||||
0x14, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67,
|
||||
0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x04, 0x52, 0x0c, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67,
|
||||
0x4c, 0x65, 0x76, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0f, 0x73, 0x6f, 0x63, 0x6b,
|
||||
0x73, 0x35, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x4c, 0x41, 0x4e, 0x18, 0x07, 0x20, 0x01, 0x28,
|
||||
0x08, 0x48, 0x05, 0x52, 0x0f, 0x73, 0x6f, 0x63, 0x6b, 0x73, 0x35, 0x4c, 0x69, 0x73, 0x74, 0x65,
|
||||
0x6e, 0x4c, 0x41, 0x4e, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0d, 0x68, 0x74, 0x74, 0x70, 0x50,
|
||||
0x72, 0x6f, 0x78, 0x79, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x48, 0x06,
|
||||
0x52, 0x0d, 0x68, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x6f, 0x72, 0x74, 0x88,
|
||||
0x01, 0x01, 0x12, 0x33, 0x0a, 0x12, 0x68, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4c,
|
||||
0x69, 0x73, 0x74, 0x65, 0x6e, 0x4c, 0x41, 0x4e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x48, 0x07,
|
||||
0x52, 0x12, 0x68, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x65,
|
||||
0x6e, 0x4c, 0x41, 0x4e, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x14, 0x73, 0x6f, 0x63, 0x6b, 0x73,
|
||||
0x35, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
|
||||
0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x41,
|
||||
0x75, 0x74, 0x68, 0x52, 0x14, 0x73, 0x6f, 0x63, 0x6b, 0x73, 0x35, 0x41, 0x75, 0x74, 0x68, 0x65,
|
||||
0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x61, 0x63,
|
||||
0x74, 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f,
|
||||
0x72, 0x70, 0x63, 0x50, 0x6f, 0x72, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x6f, 0x63, 0x6b,
|
||||
0x73, 0x35, 0x50, 0x6f, 0x72, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x61, 0x64, 0x76, 0x61, 0x6e,
|
||||
0x63, 0x65, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x5f,
|
||||
0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x12, 0x0a, 0x10,
|
||||
0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x73, 0x35, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x4c, 0x41, 0x4e,
|
||||
0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x6f,
|
||||
0x72, 0x74, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79,
|
||||
0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x4c, 0x41, 0x4e, 0x22, 0x9d, 0x02, 0x0a, 0x0d, 0x43, 0x6c,
|
||||
0x69, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x70,
|
||||
0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||
0x48, 0x00, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x88,
|
||||
0x01, 0x01, 0x12, 0x25, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
|
||||
0x32, 0x0c, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x48, 0x01,
|
||||
0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x07, 0x73, 0x65, 0x72,
|
||||
0x76, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 0x70,
|
||||
0x63, 0x74, 0x6c, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69,
|
||||
0x6e, 0x74, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x15, 0x0a, 0x03, 0x6d,
|
||||
0x74, 0x75, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x03, 0x6d, 0x74, 0x75, 0x88,
|
||||
0x01, 0x01, 0x12, 0x43, 0x0a, 0x0c, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x78, 0x69,
|
||||
0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74,
|
||||
0x6c, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x6e, 0x67, 0x43, 0x6f,
|
||||
0x6e, 0x66, 0x69, 0x67, 0x48, 0x03, 0x52, 0x0c, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65,
|
||||
0x78, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x70, 0x72, 0x6f, 0x66,
|
||||
0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x75, 0x73, 0x65, 0x72,
|
||||
0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, 0x74, 0x75, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6d, 0x75, 0x6c,
|
||||
0x74, 0x69, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x6e, 0x67, 0x22, 0x54, 0x0a, 0x12, 0x4d, 0x75, 0x6c,
|
||||
0x74, 0x69, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
|
||||
0x34, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19,
|
||||
0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65,
|
||||
0x78, 0x69, 0x6e, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x65, 0x76,
|
||||
0x65, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x22,
|
||||
0x55, 0x0a, 0x16, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65,
|
||||
0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x29, 0x0a, 0x0d, 0x6e, 0x6f, 0x43,
|
||||
0x68, 0x65, 0x63, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
|
||||
0x48, 0x00, 0x52, 0x0d, 0x6e, 0x6f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74,
|
||||
0x65, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6e, 0x6f, 0x43, 0x68, 0x65, 0x63, 0x6b,
|
||||
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2a, 0x89, 0x01, 0x0a, 0x11, 0x4d, 0x75, 0x6c, 0x74, 0x69,
|
||||
0x70, 0x6c, 0x65, 0x78, 0x69, 0x6e, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x14,
|
||||
0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, 0x4c, 0x45, 0x58, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x45, 0x46,
|
||||
0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50,
|
||||
0x4c, 0x45, 0x58, 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x46, 0x46, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10,
|
||||
0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, 0x4c, 0x45, 0x58, 0x49, 0x4e, 0x47, 0x5f, 0x4c, 0x4f, 0x57,
|
||||
0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, 0x4c, 0x45, 0x58, 0x49,
|
||||
0x4e, 0x47, 0x5f, 0x4d, 0x49, 0x44, 0x44, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x4d,
|
||||
0x55, 0x4c, 0x54, 0x49, 0x50, 0x4c, 0x45, 0x58, 0x49, 0x4e, 0x47, 0x5f, 0x48, 0x49, 0x47, 0x48,
|
||||
0x10, 0x04, 0x42, 0x30, 0x5a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d,
|
||||
0x2f, 0x65, 0x6e, 0x66, 0x65, 0x69, 0x6e, 0x2f, 0x6d, 0x69, 0x65, 0x72, 0x75, 0x2f, 0x76, 0x33,
|
||||
0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2f, 0x61, 0x70, 0x70, 0x63,
|
||||
0x74, 0x6c, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
var file_appctl_proto_clientcfg_proto_rawDesc = []byte{
|
||||
0x0a, 0x1c, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63,
|
||||
0x6c, 0x69, 0x65, 0x6e, 0x74, 0x63, 0x66, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06,
|
||||
0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x1a, 0x17, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2f, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
|
||||
0xa1, 0x05, 0x0a, 0x0c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
|
||||
0x12, 0x31, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
|
||||
0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x43, 0x6c, 0x69, 0x65,
|
||||
0x6e, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x66, 0x69,
|
||||
0x6c, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f,
|
||||
0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x63,
|
||||
0x74, 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1d,
|
||||
0x0a, 0x07, 0x72, 0x70, 0x63, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48,
|
||||
0x01, 0x52, 0x07, 0x72, 0x70, 0x63, 0x50, 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a,
|
||||
0x0a, 0x73, 0x6f, 0x63, 0x6b, 0x73, 0x35, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
|
||||
0x05, 0x48, 0x02, 0x52, 0x0a, 0x73, 0x6f, 0x63, 0x6b, 0x73, 0x35, 0x50, 0x6f, 0x72, 0x74, 0x88,
|
||||
0x01, 0x01, 0x12, 0x4f, 0x0a, 0x10, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x53, 0x65,
|
||||
0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61,
|
||||
0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x76, 0x61,
|
||||
0x6e, 0x63, 0x65, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x48, 0x03, 0x52, 0x10,
|
||||
0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73,
|
||||
0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x4c, 0x65,
|
||||
0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x70, 0x63,
|
||||
0x74, 0x6c, 0x2e, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48,
|
||||
0x04, 0x52, 0x0c, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x88,
|
||||
0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0f, 0x73, 0x6f, 0x63, 0x6b, 0x73, 0x35, 0x4c, 0x69, 0x73, 0x74,
|
||||
0x65, 0x6e, 0x4c, 0x41, 0x4e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x0f, 0x73,
|
||||
0x6f, 0x63, 0x6b, 0x73, 0x35, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x4c, 0x41, 0x4e, 0x88, 0x01,
|
||||
0x01, 0x12, 0x29, 0x0a, 0x0d, 0x68, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x6f,
|
||||
0x72, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x48, 0x06, 0x52, 0x0d, 0x68, 0x74, 0x74, 0x70,
|
||||
0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x12,
|
||||
0x68, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x4c,
|
||||
0x41, 0x4e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x48, 0x07, 0x52, 0x12, 0x68, 0x74, 0x74, 0x70,
|
||||
0x50, 0x72, 0x6f, 0x78, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x4c, 0x41, 0x4e, 0x88, 0x01,
|
||||
0x01, 0x12, 0x40, 0x0a, 0x14, 0x73, 0x6f, 0x63, 0x6b, 0x73, 0x35, 0x41, 0x75, 0x74, 0x68, 0x65,
|
||||
0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||
0x0c, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x52, 0x14, 0x73,
|
||||
0x6f, 0x63, 0x6b, 0x73, 0x35, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x50, 0x72,
|
||||
0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x72, 0x70, 0x63, 0x50, 0x6f, 0x72,
|
||||
0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x73, 0x35, 0x50, 0x6f, 0x72, 0x74,
|
||||
0x42, 0x13, 0x0a, 0x11, 0x5f, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x53, 0x65, 0x74,
|
||||
0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e,
|
||||
0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x73,
|
||||
0x35, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x4c, 0x41, 0x4e, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x68,
|
||||
0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x6f, 0x72, 0x74, 0x42, 0x15, 0x0a, 0x13,
|
||||
0x5f, 0x68, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e,
|
||||
0x4c, 0x41, 0x4e, 0x22, 0x9d, 0x02, 0x0a, 0x0d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x72,
|
||||
0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
|
||||
0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x72,
|
||||
0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x04,
|
||||
0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x61, 0x70, 0x70,
|
||||
0x63, 0x74, 0x6c, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x48, 0x01, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72,
|
||||
0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x03,
|
||||
0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x53, 0x65,
|
||||
0x72, 0x76, 0x65, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x07, 0x73, 0x65,
|
||||
0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x15, 0x0a, 0x03, 0x6d, 0x74, 0x75, 0x18, 0x04, 0x20, 0x01,
|
||||
0x28, 0x05, 0x48, 0x02, 0x52, 0x03, 0x6d, 0x74, 0x75, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x0c,
|
||||
0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01,
|
||||
0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x4d, 0x75, 0x6c, 0x74,
|
||||
0x69, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x03,
|
||||
0x52, 0x0c, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x6e, 0x67, 0x88, 0x01,
|
||||
0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d,
|
||||
0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d,
|
||||
0x74, 0x75, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x78,
|
||||
0x69, 0x6e, 0x67, 0x22, 0x54, 0x0a, 0x12, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x78,
|
||||
0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x34, 0x0a, 0x05, 0x6c, 0x65, 0x76,
|
||||
0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74,
|
||||
0x6c, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x6e, 0x67, 0x4c, 0x65,
|
||||
0x76, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x42,
|
||||
0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x55, 0x0a, 0x16, 0x43, 0x6c, 0x69,
|
||||
0x65, 0x6e, 0x74, 0x41, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69,
|
||||
0x6e, 0x67, 0x73, 0x12, 0x29, 0x0a, 0x0d, 0x6e, 0x6f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x70,
|
||||
0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0d, 0x6e, 0x6f,
|
||||
0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x10,
|
||||
0x0a, 0x0e, 0x5f, 0x6e, 0x6f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
|
||||
0x2a, 0x89, 0x01, 0x0a, 0x11, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x6e,
|
||||
0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x14, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50,
|
||||
0x4c, 0x45, 0x58, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00,
|
||||
0x12, 0x14, 0x0a, 0x10, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, 0x4c, 0x45, 0x58, 0x49, 0x4e, 0x47,
|
||||
0x5f, 0x4f, 0x46, 0x46, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50,
|
||||
0x4c, 0x45, 0x58, 0x49, 0x4e, 0x47, 0x5f, 0x4c, 0x4f, 0x57, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13,
|
||||
0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, 0x4c, 0x45, 0x58, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x49, 0x44,
|
||||
0x44, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, 0x4c,
|
||||
0x45, 0x58, 0x49, 0x4e, 0x47, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x04, 0x42, 0x30, 0x5a, 0x2e,
|
||||
0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x66, 0x65, 0x69,
|
||||
0x6e, 0x2f, 0x6d, 0x69, 0x65, 0x72, 0x75, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61,
|
||||
0x70, 0x70, 0x63, 0x74, 0x6c, 0x2f, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x70, 0x62, 0x62, 0x06,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_clientcfg_proto_rawDescOnce sync.Once
|
||||
file_clientcfg_proto_rawDescData = file_clientcfg_proto_rawDesc
|
||||
file_appctl_proto_clientcfg_proto_rawDescOnce sync.Once
|
||||
file_appctl_proto_clientcfg_proto_rawDescData = file_appctl_proto_clientcfg_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_clientcfg_proto_rawDescGZIP() []byte {
|
||||
file_clientcfg_proto_rawDescOnce.Do(func() {
|
||||
file_clientcfg_proto_rawDescData = protoimpl.X.CompressGZIP(file_clientcfg_proto_rawDescData)
|
||||
func file_appctl_proto_clientcfg_proto_rawDescGZIP() []byte {
|
||||
file_appctl_proto_clientcfg_proto_rawDescOnce.Do(func() {
|
||||
file_appctl_proto_clientcfg_proto_rawDescData = protoimpl.X.CompressGZIP(file_appctl_proto_clientcfg_proto_rawDescData)
|
||||
})
|
||||
return file_clientcfg_proto_rawDescData
|
||||
return file_appctl_proto_clientcfg_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_clientcfg_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
|
||||
var file_clientcfg_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
|
||||
var file_clientcfg_proto_goTypes = []interface{}{
|
||||
var file_appctl_proto_clientcfg_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
|
||||
var file_appctl_proto_clientcfg_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
|
||||
var file_appctl_proto_clientcfg_proto_goTypes = []interface{}{
|
||||
(MultiplexingLevel)(0), // 0: appctl.MultiplexingLevel
|
||||
(*ClientConfig)(nil), // 1: appctl.ClientConfig
|
||||
(*ClientProfile)(nil), // 2: appctl.ClientProfile
|
||||
@@ -517,7 +519,7 @@ var file_clientcfg_proto_goTypes = []interface{}{
|
||||
(*User)(nil), // 7: appctl.User
|
||||
(*ServerEndpoint)(nil), // 8: appctl.ServerEndpoint
|
||||
}
|
||||
var file_clientcfg_proto_depIdxs = []int32{
|
||||
var file_appctl_proto_clientcfg_proto_depIdxs = []int32{
|
||||
2, // 0: appctl.ClientConfig.profiles:type_name -> appctl.ClientProfile
|
||||
4, // 1: appctl.ClientConfig.advancedSettings:type_name -> appctl.ClientAdvancedSettings
|
||||
5, // 2: appctl.ClientConfig.loggingLevel:type_name -> appctl.LoggingLevel
|
||||
@@ -533,14 +535,14 @@ var file_clientcfg_proto_depIdxs = []int32{
|
||||
0, // [0:8] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_clientcfg_proto_init() }
|
||||
func file_clientcfg_proto_init() {
|
||||
if File_clientcfg_proto != nil {
|
||||
func init() { file_appctl_proto_clientcfg_proto_init() }
|
||||
func file_appctl_proto_clientcfg_proto_init() {
|
||||
if File_appctl_proto_clientcfg_proto != nil {
|
||||
return
|
||||
}
|
||||
file_base_proto_init()
|
||||
file_appctl_proto_base_proto_init()
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_clientcfg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
file_appctl_proto_clientcfg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ClientConfig); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -552,7 +554,7 @@ func file_clientcfg_proto_init() {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_clientcfg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
file_appctl_proto_clientcfg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ClientProfile); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -564,7 +566,7 @@ func file_clientcfg_proto_init() {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_clientcfg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||
file_appctl_proto_clientcfg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*MultiplexingConfig); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -576,7 +578,7 @@ func file_clientcfg_proto_init() {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_clientcfg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||
file_appctl_proto_clientcfg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ClientAdvancedSettings); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -589,27 +591,27 @@ func file_clientcfg_proto_init() {
|
||||
}
|
||||
}
|
||||
}
|
||||
file_clientcfg_proto_msgTypes[0].OneofWrappers = []interface{}{}
|
||||
file_clientcfg_proto_msgTypes[1].OneofWrappers = []interface{}{}
|
||||
file_clientcfg_proto_msgTypes[2].OneofWrappers = []interface{}{}
|
||||
file_clientcfg_proto_msgTypes[3].OneofWrappers = []interface{}{}
|
||||
file_appctl_proto_clientcfg_proto_msgTypes[0].OneofWrappers = []interface{}{}
|
||||
file_appctl_proto_clientcfg_proto_msgTypes[1].OneofWrappers = []interface{}{}
|
||||
file_appctl_proto_clientcfg_proto_msgTypes[2].OneofWrappers = []interface{}{}
|
||||
file_appctl_proto_clientcfg_proto_msgTypes[3].OneofWrappers = []interface{}{}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_clientcfg_proto_rawDesc,
|
||||
RawDescriptor: file_appctl_proto_clientcfg_proto_rawDesc,
|
||||
NumEnums: 1,
|
||||
NumMessages: 4,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
GoTypes: file_clientcfg_proto_goTypes,
|
||||
DependencyIndexes: file_clientcfg_proto_depIdxs,
|
||||
EnumInfos: file_clientcfg_proto_enumTypes,
|
||||
MessageInfos: file_clientcfg_proto_msgTypes,
|
||||
GoTypes: file_appctl_proto_clientcfg_proto_goTypes,
|
||||
DependencyIndexes: file_appctl_proto_clientcfg_proto_depIdxs,
|
||||
EnumInfos: file_appctl_proto_clientcfg_proto_enumTypes,
|
||||
MessageInfos: file_appctl_proto_clientcfg_proto_msgTypes,
|
||||
}.Build()
|
||||
File_clientcfg_proto = out.File
|
||||
file_clientcfg_proto_rawDesc = nil
|
||||
file_clientcfg_proto_goTypes = nil
|
||||
file_clientcfg_proto_depIdxs = nil
|
||||
File_appctl_proto_clientcfg_proto = out.File
|
||||
file_appctl_proto_clientcfg_proto_rawDesc = nil
|
||||
file_appctl_proto_clientcfg_proto_goTypes = nil
|
||||
file_appctl_proto_clientcfg_proto_depIdxs = nil
|
||||
}
|
||||
|
@@ -17,11 +17,12 @@
|
||||
// versions:
|
||||
// protoc-gen-go v1.30.0
|
||||
// protoc v4.22.3
|
||||
// source: misc.proto
|
||||
// source: appctl/proto/misc.proto
|
||||
|
||||
package appctlpb
|
||||
|
||||
import (
|
||||
metricspb "github.com/enfein/mieru/v3/pkg/metrics/metricspb"
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
|
||||
@@ -48,7 +49,7 @@ type Metrics struct {
|
||||
func (x *Metrics) Reset() {
|
||||
*x = Metrics{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_misc_proto_msgTypes[0]
|
||||
mi := &file_appctl_proto_misc_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -61,7 +62,7 @@ func (x *Metrics) String() string {
|
||||
func (*Metrics) ProtoMessage() {}
|
||||
|
||||
func (x *Metrics) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_misc_proto_msgTypes[0]
|
||||
mi := &file_appctl_proto_misc_proto_msgTypes[0]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -74,7 +75,7 @@ func (x *Metrics) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use Metrics.ProtoReflect.Descriptor instead.
|
||||
func (*Metrics) Descriptor() ([]byte, []int) {
|
||||
return file_misc_proto_rawDescGZIP(), []int{0}
|
||||
return file_appctl_proto_misc_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *Metrics) GetJson() string {
|
||||
@@ -84,6 +85,110 @@ func (x *Metrics) GetJson() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
type UserWithMetrics struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
// User information.
|
||||
User *User `protobuf:"bytes,1,opt,name=user,proto3,oneof" json:"user,omitempty"`
|
||||
// User runtime information.
|
||||
Metrics []*metricspb.Metric `protobuf:"bytes,2,rep,name=metrics,proto3" json:"metrics,omitempty"`
|
||||
}
|
||||
|
||||
func (x *UserWithMetrics) Reset() {
|
||||
*x = UserWithMetrics{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_appctl_proto_misc_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *UserWithMetrics) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*UserWithMetrics) ProtoMessage() {}
|
||||
|
||||
func (x *UserWithMetrics) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_appctl_proto_misc_proto_msgTypes[1]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use UserWithMetrics.ProtoReflect.Descriptor instead.
|
||||
func (*UserWithMetrics) Descriptor() ([]byte, []int) {
|
||||
return file_appctl_proto_misc_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
func (x *UserWithMetrics) GetUser() *User {
|
||||
if x != nil {
|
||||
return x.User
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *UserWithMetrics) GetMetrics() []*metricspb.Metric {
|
||||
if x != nil {
|
||||
return x.Metrics
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type UserWithMetricsList struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Items []*UserWithMetrics `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
|
||||
}
|
||||
|
||||
func (x *UserWithMetricsList) Reset() {
|
||||
*x = UserWithMetricsList{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_appctl_proto_misc_proto_msgTypes[2]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *UserWithMetricsList) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*UserWithMetricsList) ProtoMessage() {}
|
||||
|
||||
func (x *UserWithMetricsList) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_appctl_proto_misc_proto_msgTypes[2]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use UserWithMetricsList.ProtoReflect.Descriptor instead.
|
||||
func (*UserWithMetricsList) Descriptor() ([]byte, []int) {
|
||||
return file_appctl_proto_misc_proto_rawDescGZIP(), []int{2}
|
||||
}
|
||||
|
||||
func (x *UserWithMetricsList) GetItems() []*UserWithMetrics {
|
||||
if x != nil {
|
||||
return x.Items
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type ProfileSavePath struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
@@ -96,7 +201,7 @@ type ProfileSavePath struct {
|
||||
func (x *ProfileSavePath) Reset() {
|
||||
*x = ProfileSavePath{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_misc_proto_msgTypes[1]
|
||||
mi := &file_appctl_proto_misc_proto_msgTypes[3]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -109,7 +214,7 @@ func (x *ProfileSavePath) String() string {
|
||||
func (*ProfileSavePath) ProtoMessage() {}
|
||||
|
||||
func (x *ProfileSavePath) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_misc_proto_msgTypes[1]
|
||||
mi := &file_appctl_proto_misc_proto_msgTypes[3]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -122,7 +227,7 @@ func (x *ProfileSavePath) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use ProfileSavePath.ProtoReflect.Descriptor instead.
|
||||
func (*ProfileSavePath) Descriptor() ([]byte, []int) {
|
||||
return file_misc_proto_rawDescGZIP(), []int{1}
|
||||
return file_appctl_proto_misc_proto_rawDescGZIP(), []int{3}
|
||||
}
|
||||
|
||||
func (x *ProfileSavePath) GetFilePath() string {
|
||||
@@ -155,7 +260,7 @@ type SessionInfo struct {
|
||||
func (x *SessionInfo) Reset() {
|
||||
*x = SessionInfo{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_misc_proto_msgTypes[2]
|
||||
mi := &file_appctl_proto_misc_proto_msgTypes[4]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -168,7 +273,7 @@ func (x *SessionInfo) String() string {
|
||||
func (*SessionInfo) ProtoMessage() {}
|
||||
|
||||
func (x *SessionInfo) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_misc_proto_msgTypes[2]
|
||||
mi := &file_appctl_proto_misc_proto_msgTypes[4]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -181,7 +286,7 @@ func (x *SessionInfo) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use SessionInfo.ProtoReflect.Descriptor instead.
|
||||
func (*SessionInfo) Descriptor() ([]byte, []int) {
|
||||
return file_misc_proto_rawDescGZIP(), []int{2}
|
||||
return file_appctl_proto_misc_proto_rawDescGZIP(), []int{4}
|
||||
}
|
||||
|
||||
func (x *SessionInfo) GetId() string {
|
||||
@@ -286,7 +391,7 @@ type SessionInfoList struct {
|
||||
func (x *SessionInfoList) Reset() {
|
||||
*x = SessionInfoList{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_misc_proto_msgTypes[3]
|
||||
mi := &file_appctl_proto_misc_proto_msgTypes[5]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -299,7 +404,7 @@ func (x *SessionInfoList) String() string {
|
||||
func (*SessionInfoList) ProtoMessage() {}
|
||||
|
||||
func (x *SessionInfoList) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_misc_proto_msgTypes[3]
|
||||
mi := &file_appctl_proto_misc_proto_msgTypes[5]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -312,7 +417,7 @@ func (x *SessionInfoList) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use SessionInfoList.ProtoReflect.Descriptor instead.
|
||||
func (*SessionInfoList) Descriptor() ([]byte, []int) {
|
||||
return file_misc_proto_rawDescGZIP(), []int{3}
|
||||
return file_appctl_proto_misc_proto_rawDescGZIP(), []int{5}
|
||||
}
|
||||
|
||||
func (x *SessionInfoList) GetItems() []*SessionInfo {
|
||||
@@ -334,7 +439,7 @@ type ThreadDump struct {
|
||||
func (x *ThreadDump) Reset() {
|
||||
*x = ThreadDump{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_misc_proto_msgTypes[4]
|
||||
mi := &file_appctl_proto_misc_proto_msgTypes[6]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -347,7 +452,7 @@ func (x *ThreadDump) String() string {
|
||||
func (*ThreadDump) ProtoMessage() {}
|
||||
|
||||
func (x *ThreadDump) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_misc_proto_msgTypes[4]
|
||||
mi := &file_appctl_proto_misc_proto_msgTypes[6]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -360,7 +465,7 @@ func (x *ThreadDump) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use ThreadDump.ProtoReflect.Descriptor instead.
|
||||
func (*ThreadDump) Descriptor() ([]byte, []int) {
|
||||
return file_misc_proto_rawDescGZIP(), []int{4}
|
||||
return file_appctl_proto_misc_proto_rawDescGZIP(), []int{6}
|
||||
}
|
||||
|
||||
func (x *ThreadDump) GetThreadDump() string {
|
||||
@@ -385,7 +490,7 @@ type MemoryStatistics struct {
|
||||
func (x *MemoryStatistics) Reset() {
|
||||
*x = MemoryStatistics{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_misc_proto_msgTypes[5]
|
||||
mi := &file_appctl_proto_misc_proto_msgTypes[7]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -398,7 +503,7 @@ func (x *MemoryStatistics) String() string {
|
||||
func (*MemoryStatistics) ProtoMessage() {}
|
||||
|
||||
func (x *MemoryStatistics) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_misc_proto_msgTypes[5]
|
||||
mi := &file_appctl_proto_misc_proto_msgTypes[7]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -411,7 +516,7 @@ func (x *MemoryStatistics) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use MemoryStatistics.ProtoReflect.Descriptor instead.
|
||||
func (*MemoryStatistics) Descriptor() ([]byte, []int) {
|
||||
return file_misc_proto_rawDescGZIP(), []int{5}
|
||||
return file_appctl_proto_misc_proto_rawDescGZIP(), []int{7}
|
||||
}
|
||||
|
||||
func (x *MemoryStatistics) GetHeapBytes() uint64 {
|
||||
@@ -449,134 +554,159 @@ func (x *MemoryStatistics) GetStackBytes() uint64 {
|
||||
return 0
|
||||
}
|
||||
|
||||
var File_misc_proto protoreflect.FileDescriptor
|
||||
var File_appctl_proto_misc_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_misc_proto_rawDesc = []byte{
|
||||
0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x61, 0x70,
|
||||
0x70, 0x63, 0x74, 0x6c, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e,
|
||||
var file_appctl_proto_misc_proto_rawDesc = []byte{
|
||||
0x0a, 0x17, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6d,
|
||||
0x69, 0x73, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x61, 0x70, 0x70, 0x63, 0x74,
|
||||
0x6c, 0x1a, 0x17, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f,
|
||||
0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x61, 0x70, 0x70, 0x63,
|
||||
0x74, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
|
||||
0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
|
||||
0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2b, 0x0a, 0x07, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
|
||||
0x12, 0x17, 0x0a, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
|
||||
0x52, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6a, 0x73,
|
||||
0x6f, 0x6e, 0x22, 0x3f, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x61, 0x76,
|
||||
0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74,
|
||||
0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x50,
|
||||
0x61, 0x74, 0x68, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x50,
|
||||
0x61, 0x74, 0x68, 0x22, 0x9b, 0x05, 0x0a, 0x0b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49,
|
||||
0x6e, 0x66, 0x6f, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48,
|
||||
0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x6c, 0x6f, 0x63,
|
||||
0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x09,
|
||||
0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x0a,
|
||||
0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
|
||||
0x48, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x88, 0x01,
|
||||
0x01, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
|
||||
0x48, 0x04, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05,
|
||||
0x72, 0x65, 0x63, 0x76, 0x51, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x05, 0x52, 0x05, 0x72,
|
||||
0x65, 0x63, 0x76, 0x51, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x76, 0x42,
|
||||
0x75, 0x66, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x06, 0x52, 0x07, 0x72, 0x65, 0x63, 0x76,
|
||||
0x42, 0x75, 0x66, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x65, 0x6e, 0x64, 0x51, 0x18,
|
||||
0x08, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x07, 0x52, 0x05, 0x73, 0x65, 0x6e, 0x64, 0x51, 0x88, 0x01,
|
||||
0x01, 0x12, 0x1d, 0x0a, 0x07, 0x73, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x66, 0x18, 0x09, 0x20, 0x01,
|
||||
0x28, 0x0d, 0x48, 0x08, 0x52, 0x07, 0x73, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x66, 0x88, 0x01, 0x01,
|
||||
0x12, 0x43, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x63, 0x76, 0x54, 0x69, 0x6d, 0x65,
|
||||
0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
|
||||
0x6f, 0x6e, 0x22, 0x6c, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x65,
|
||||
0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x25, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x55, 0x73, 0x65,
|
||||
0x72, 0x48, 0x00, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x07,
|
||||
0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
|
||||
0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x07,
|
||||
0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x75, 0x73, 0x65, 0x72,
|
||||
0x22, 0x44, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x72,
|
||||
0x69, 0x63, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73,
|
||||
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e,
|
||||
0x55, 0x73, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52,
|
||||
0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x3f, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c,
|
||||
0x65, 0x53, 0x61, 0x76, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x08, 0x66, 0x69, 0x6c,
|
||||
0x65, 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x66,
|
||||
0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x66,
|
||||
0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x22, 0x9b, 0x05, 0x0a, 0x0b, 0x53, 0x65, 0x73, 0x73,
|
||||
0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01,
|
||||
0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a,
|
||||
0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
|
||||
0x48, 0x02, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x88, 0x01, 0x01,
|
||||
0x12, 0x23, 0x0a, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x18, 0x04,
|
||||
0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64,
|
||||
0x64, 0x72, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05,
|
||||
0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01,
|
||||
0x12, 0x19, 0x0a, 0x05, 0x72, 0x65, 0x63, 0x76, 0x51, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x48,
|
||||
0x05, 0x52, 0x05, 0x72, 0x65, 0x63, 0x76, 0x51, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x72,
|
||||
0x65, 0x63, 0x76, 0x42, 0x75, 0x66, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x06, 0x52, 0x07,
|
||||
0x72, 0x65, 0x63, 0x76, 0x42, 0x75, 0x66, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x65,
|
||||
0x6e, 0x64, 0x51, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x07, 0x52, 0x05, 0x73, 0x65, 0x6e,
|
||||
0x64, 0x51, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x73, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x66,
|
||||
0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x08, 0x52, 0x07, 0x73, 0x65, 0x6e, 0x64, 0x42, 0x75,
|
||||
0x66, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x63, 0x76,
|
||||
0x54, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
|
||||
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
|
||||
0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65,
|
||||
0x63, 0x76, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x6c, 0x61, 0x73,
|
||||
0x74, 0x52, 0x65, 0x63, 0x76, 0x53, 0x65, 0x71, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x0a,
|
||||
0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x63, 0x76, 0x53, 0x65, 0x71, 0x88, 0x01, 0x01,
|
||||
0x12, 0x43, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65,
|
||||
0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
|
||||
0x6d, 0x70, 0x48, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x63, 0x76, 0x54, 0x69,
|
||||
0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x63,
|
||||
0x76, 0x53, 0x65, 0x71, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x0a, 0x52, 0x0b, 0x6c, 0x61,
|
||||
0x73, 0x74, 0x52, 0x65, 0x63, 0x76, 0x53, 0x65, 0x71, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x0c,
|
||||
0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01,
|
||||
0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x0b,
|
||||
0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01,
|
||||
0x01, 0x12, 0x25, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x71,
|
||||
0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x0c, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65,
|
||||
0x6e, 0x64, 0x53, 0x65, 0x71, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42,
|
||||
0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, 0x0c, 0x0a, 0x0a,
|
||||
0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72,
|
||||
0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74,
|
||||
0x61, 0x74, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x72, 0x65, 0x63, 0x76, 0x51, 0x42, 0x0a, 0x0a,
|
||||
0x08, 0x5f, 0x72, 0x65, 0x63, 0x76, 0x42, 0x75, 0x66, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x65,
|
||||
0x6e, 0x64, 0x51, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x66, 0x42,
|
||||
0x0f, 0x0a, 0x0d, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x63, 0x76, 0x54, 0x69, 0x6d, 0x65,
|
||||
0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x63, 0x76, 0x53, 0x65, 0x71,
|
||||
0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d,
|
||||
0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x65,
|
||||
0x71, 0x22, 0x3c, 0x0a, 0x0f, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
|
||||
0x4c, 0x69, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20,
|
||||
0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x53, 0x65, 0x73,
|
||||
0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22,
|
||||
0x40, 0x0a, 0x0a, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x23, 0x0a,
|
||||
0x0a, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x44, 0x75, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x09, 0x48, 0x00, 0x52, 0x0a, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x44, 0x75, 0x6d, 0x70, 0x88,
|
||||
0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x44, 0x75, 0x6d,
|
||||
0x70, 0x22, 0xb1, 0x02, 0x0a, 0x10, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74,
|
||||
0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x21, 0x0a, 0x09, 0x68, 0x65, 0x61, 0x70, 0x42, 0x79,
|
||||
0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x09, 0x68, 0x65, 0x61,
|
||||
0x70, 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x68, 0x65, 0x61,
|
||||
0x70, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01,
|
||||
0x52, 0x0b, 0x68, 0x65, 0x61, 0x70, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x88, 0x01, 0x01,
|
||||
0x12, 0x27, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x48, 0x65, 0x61, 0x70, 0x42, 0x79, 0x74, 0x65, 0x73,
|
||||
0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x48, 0x65, 0x61,
|
||||
0x70, 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0f, 0x74, 0x61, 0x72,
|
||||
0x67, 0x65, 0x74, 0x48, 0x65, 0x61, 0x70, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01,
|
||||
0x28, 0x04, 0x48, 0x03, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x65, 0x61, 0x70,
|
||||
0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x63,
|
||||
0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x0a,
|
||||
0x73, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a,
|
||||
0x0a, 0x5f, 0x68, 0x65, 0x61, 0x70, 0x42, 0x79, 0x74, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f,
|
||||
0x68, 0x65, 0x61, 0x70, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x5f,
|
||||
0x6d, 0x61, 0x78, 0x48, 0x65, 0x61, 0x70, 0x42, 0x79, 0x74, 0x65, 0x73, 0x42, 0x12, 0x0a, 0x10,
|
||||
0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x65, 0x61, 0x70, 0x42, 0x79, 0x74, 0x65, 0x73,
|
||||
0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x4a,
|
||||
0x04, 0x08, 0x01, 0x10, 0x02, 0x42, 0x30, 0x5a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e,
|
||||
0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x66, 0x65, 0x69, 0x6e, 0x2f, 0x6d, 0x69, 0x65, 0x72, 0x75,
|
||||
0x2f, 0x76, 0x33, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2f, 0x61,
|
||||
0x70, 0x70, 0x63, 0x74, 0x6c, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x6d, 0x70, 0x48, 0x0b, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x69,
|
||||
0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x6e,
|
||||
0x64, 0x53, 0x65, 0x71, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x0c, 0x52, 0x0b, 0x6c, 0x61,
|
||||
0x73, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x71, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03,
|
||||
0x5f, 0x69, 0x64, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
|
||||
0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x42, 0x0d,
|
||||
0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x42, 0x08, 0x0a,
|
||||
0x06, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x72, 0x65, 0x63, 0x76,
|
||||
0x51, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x72, 0x65, 0x63, 0x76, 0x42, 0x75, 0x66, 0x42, 0x08, 0x0a,
|
||||
0x06, 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x51, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x65, 0x6e, 0x64,
|
||||
0x42, 0x75, 0x66, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x63, 0x76,
|
||||
0x54, 0x69, 0x6d, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x63,
|
||||
0x76, 0x53, 0x65, 0x71, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x6e,
|
||||
0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65,
|
||||
0x6e, 0x64, 0x53, 0x65, 0x71, 0x22, 0x3c, 0x0a, 0x0f, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
|
||||
0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d,
|
||||
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c,
|
||||
0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x69, 0x74,
|
||||
0x65, 0x6d, 0x73, 0x22, 0x40, 0x0a, 0x0a, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x44, 0x75, 0x6d,
|
||||
0x70, 0x12, 0x23, 0x0a, 0x0a, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x44, 0x75, 0x6d, 0x70, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x44,
|
||||
0x75, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61,
|
||||
0x64, 0x44, 0x75, 0x6d, 0x70, 0x22, 0xb1, 0x02, 0x0a, 0x10, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79,
|
||||
0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x21, 0x0a, 0x09, 0x68, 0x65,
|
||||
0x61, 0x70, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52,
|
||||
0x09, 0x68, 0x65, 0x61, 0x70, 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a,
|
||||
0x0b, 0x68, 0x65, 0x61, 0x70, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01,
|
||||
0x28, 0x04, 0x48, 0x01, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x70, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74,
|
||||
0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x48, 0x65, 0x61, 0x70, 0x42,
|
||||
0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x0c, 0x6d, 0x61,
|
||||
0x78, 0x48, 0x65, 0x61, 0x70, 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a,
|
||||
0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x65, 0x61, 0x70, 0x42, 0x79, 0x74, 0x65, 0x73,
|
||||
0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
|
||||
0x48, 0x65, 0x61, 0x70, 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x0a,
|
||||
0x73, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04,
|
||||
0x48, 0x04, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01,
|
||||
0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x68, 0x65, 0x61, 0x70, 0x42, 0x79, 0x74, 0x65, 0x73, 0x42,
|
||||
0x0e, 0x0a, 0x0c, 0x5f, 0x68, 0x65, 0x61, 0x70, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42,
|
||||
0x0f, 0x0a, 0x0d, 0x5f, 0x6d, 0x61, 0x78, 0x48, 0x65, 0x61, 0x70, 0x42, 0x79, 0x74, 0x65, 0x73,
|
||||
0x42, 0x12, 0x0a, 0x10, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x65, 0x61, 0x70, 0x42,
|
||||
0x79, 0x74, 0x65, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79,
|
||||
0x74, 0x65, 0x73, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x42, 0x30, 0x5a, 0x2e, 0x67, 0x69, 0x74,
|
||||
0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x66, 0x65, 0x69, 0x6e, 0x2f, 0x6d,
|
||||
0x69, 0x65, 0x72, 0x75, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x70, 0x63,
|
||||
0x74, 0x6c, 0x2f, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_misc_proto_rawDescOnce sync.Once
|
||||
file_misc_proto_rawDescData = file_misc_proto_rawDesc
|
||||
file_appctl_proto_misc_proto_rawDescOnce sync.Once
|
||||
file_appctl_proto_misc_proto_rawDescData = file_appctl_proto_misc_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_misc_proto_rawDescGZIP() []byte {
|
||||
file_misc_proto_rawDescOnce.Do(func() {
|
||||
file_misc_proto_rawDescData = protoimpl.X.CompressGZIP(file_misc_proto_rawDescData)
|
||||
func file_appctl_proto_misc_proto_rawDescGZIP() []byte {
|
||||
file_appctl_proto_misc_proto_rawDescOnce.Do(func() {
|
||||
file_appctl_proto_misc_proto_rawDescData = protoimpl.X.CompressGZIP(file_appctl_proto_misc_proto_rawDescData)
|
||||
})
|
||||
return file_misc_proto_rawDescData
|
||||
return file_appctl_proto_misc_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_misc_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
|
||||
var file_misc_proto_goTypes = []interface{}{
|
||||
var file_appctl_proto_misc_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
|
||||
var file_appctl_proto_misc_proto_goTypes = []interface{}{
|
||||
(*Metrics)(nil), // 0: appctl.Metrics
|
||||
(*ProfileSavePath)(nil), // 1: appctl.ProfileSavePath
|
||||
(*SessionInfo)(nil), // 2: appctl.SessionInfo
|
||||
(*SessionInfoList)(nil), // 3: appctl.SessionInfoList
|
||||
(*ThreadDump)(nil), // 4: appctl.ThreadDump
|
||||
(*MemoryStatistics)(nil), // 5: appctl.MemoryStatistics
|
||||
(*timestamppb.Timestamp)(nil), // 6: google.protobuf.Timestamp
|
||||
(*UserWithMetrics)(nil), // 1: appctl.UserWithMetrics
|
||||
(*UserWithMetricsList)(nil), // 2: appctl.UserWithMetricsList
|
||||
(*ProfileSavePath)(nil), // 3: appctl.ProfileSavePath
|
||||
(*SessionInfo)(nil), // 4: appctl.SessionInfo
|
||||
(*SessionInfoList)(nil), // 5: appctl.SessionInfoList
|
||||
(*ThreadDump)(nil), // 6: appctl.ThreadDump
|
||||
(*MemoryStatistics)(nil), // 7: appctl.MemoryStatistics
|
||||
(*User)(nil), // 8: appctl.User
|
||||
(*metricspb.Metric)(nil), // 9: metrics.Metric
|
||||
(*timestamppb.Timestamp)(nil), // 10: google.protobuf.Timestamp
|
||||
}
|
||||
var file_misc_proto_depIdxs = []int32{
|
||||
6, // 0: appctl.SessionInfo.lastRecvTime:type_name -> google.protobuf.Timestamp
|
||||
6, // 1: appctl.SessionInfo.lastSendTime:type_name -> google.protobuf.Timestamp
|
||||
2, // 2: appctl.SessionInfoList.items:type_name -> appctl.SessionInfo
|
||||
3, // [3:3] is the sub-list for method output_type
|
||||
3, // [3:3] is the sub-list for method input_type
|
||||
3, // [3:3] is the sub-list for extension type_name
|
||||
3, // [3:3] is the sub-list for extension extendee
|
||||
0, // [0:3] is the sub-list for field type_name
|
||||
var file_appctl_proto_misc_proto_depIdxs = []int32{
|
||||
8, // 0: appctl.UserWithMetrics.user:type_name -> appctl.User
|
||||
9, // 1: appctl.UserWithMetrics.metrics:type_name -> metrics.Metric
|
||||
1, // 2: appctl.UserWithMetricsList.items:type_name -> appctl.UserWithMetrics
|
||||
10, // 3: appctl.SessionInfo.lastRecvTime:type_name -> google.protobuf.Timestamp
|
||||
10, // 4: appctl.SessionInfo.lastSendTime:type_name -> google.protobuf.Timestamp
|
||||
4, // 5: appctl.SessionInfoList.items:type_name -> appctl.SessionInfo
|
||||
6, // [6:6] is the sub-list for method output_type
|
||||
6, // [6:6] is the sub-list for method input_type
|
||||
6, // [6:6] is the sub-list for extension type_name
|
||||
6, // [6:6] is the sub-list for extension extendee
|
||||
0, // [0:6] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_misc_proto_init() }
|
||||
func file_misc_proto_init() {
|
||||
if File_misc_proto != nil {
|
||||
func init() { file_appctl_proto_misc_proto_init() }
|
||||
func file_appctl_proto_misc_proto_init() {
|
||||
if File_appctl_proto_misc_proto != nil {
|
||||
return
|
||||
}
|
||||
file_appctl_proto_base_proto_init()
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_misc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
file_appctl_proto_misc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Metrics); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -588,7 +718,31 @@ func file_misc_proto_init() {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_misc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
file_appctl_proto_misc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*UserWithMetrics); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_appctl_proto_misc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*UserWithMetricsList); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_appctl_proto_misc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ProfileSavePath); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -600,7 +754,7 @@ func file_misc_proto_init() {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_misc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||
file_appctl_proto_misc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*SessionInfo); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -612,7 +766,7 @@ func file_misc_proto_init() {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_misc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||
file_appctl_proto_misc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*SessionInfoList); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -624,7 +778,7 @@ func file_misc_proto_init() {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_misc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
||||
file_appctl_proto_misc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ThreadDump); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -636,7 +790,7 @@ func file_misc_proto_init() {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_misc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
||||
file_appctl_proto_misc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*MemoryStatistics); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -649,27 +803,28 @@ func file_misc_proto_init() {
|
||||
}
|
||||
}
|
||||
}
|
||||
file_misc_proto_msgTypes[0].OneofWrappers = []interface{}{}
|
||||
file_misc_proto_msgTypes[1].OneofWrappers = []interface{}{}
|
||||
file_misc_proto_msgTypes[2].OneofWrappers = []interface{}{}
|
||||
file_misc_proto_msgTypes[4].OneofWrappers = []interface{}{}
|
||||
file_misc_proto_msgTypes[5].OneofWrappers = []interface{}{}
|
||||
file_appctl_proto_misc_proto_msgTypes[0].OneofWrappers = []interface{}{}
|
||||
file_appctl_proto_misc_proto_msgTypes[1].OneofWrappers = []interface{}{}
|
||||
file_appctl_proto_misc_proto_msgTypes[3].OneofWrappers = []interface{}{}
|
||||
file_appctl_proto_misc_proto_msgTypes[4].OneofWrappers = []interface{}{}
|
||||
file_appctl_proto_misc_proto_msgTypes[6].OneofWrappers = []interface{}{}
|
||||
file_appctl_proto_misc_proto_msgTypes[7].OneofWrappers = []interface{}{}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_misc_proto_rawDesc,
|
||||
RawDescriptor: file_appctl_proto_misc_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 6,
|
||||
NumMessages: 8,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
GoTypes: file_misc_proto_goTypes,
|
||||
DependencyIndexes: file_misc_proto_depIdxs,
|
||||
MessageInfos: file_misc_proto_msgTypes,
|
||||
GoTypes: file_appctl_proto_misc_proto_goTypes,
|
||||
DependencyIndexes: file_appctl_proto_misc_proto_depIdxs,
|
||||
MessageInfos: file_appctl_proto_misc_proto_msgTypes,
|
||||
}.Build()
|
||||
File_misc_proto = out.File
|
||||
file_misc_proto_rawDesc = nil
|
||||
file_misc_proto_goTypes = nil
|
||||
file_misc_proto_depIdxs = nil
|
||||
File_appctl_proto_misc_proto = out.File
|
||||
file_appctl_proto_misc_proto_rawDesc = nil
|
||||
file_appctl_proto_misc_proto_goTypes = nil
|
||||
file_appctl_proto_misc_proto_depIdxs = nil
|
||||
}
|
||||
|
@@ -17,7 +17,7 @@
|
||||
// versions:
|
||||
// protoc-gen-go v1.30.0
|
||||
// protoc v4.22.3
|
||||
// source: servercfg.proto
|
||||
// source: appctl/proto/servercfg.proto
|
||||
|
||||
package appctlpb
|
||||
|
||||
@@ -65,11 +65,11 @@ func (x ProxyProtocol) String() string {
|
||||
}
|
||||
|
||||
func (ProxyProtocol) Descriptor() protoreflect.EnumDescriptor {
|
||||
return file_servercfg_proto_enumTypes[0].Descriptor()
|
||||
return file_appctl_proto_servercfg_proto_enumTypes[0].Descriptor()
|
||||
}
|
||||
|
||||
func (ProxyProtocol) Type() protoreflect.EnumType {
|
||||
return &file_servercfg_proto_enumTypes[0]
|
||||
return &file_appctl_proto_servercfg_proto_enumTypes[0]
|
||||
}
|
||||
|
||||
func (x ProxyProtocol) Number() protoreflect.EnumNumber {
|
||||
@@ -78,7 +78,7 @@ func (x ProxyProtocol) Number() protoreflect.EnumNumber {
|
||||
|
||||
// Deprecated: Use ProxyProtocol.Descriptor instead.
|
||||
func (ProxyProtocol) EnumDescriptor() ([]byte, []int) {
|
||||
return file_servercfg_proto_rawDescGZIP(), []int{0}
|
||||
return file_appctl_proto_servercfg_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
type EgressAction int32
|
||||
@@ -117,11 +117,11 @@ func (x EgressAction) String() string {
|
||||
}
|
||||
|
||||
func (EgressAction) Descriptor() protoreflect.EnumDescriptor {
|
||||
return file_servercfg_proto_enumTypes[1].Descriptor()
|
||||
return file_appctl_proto_servercfg_proto_enumTypes[1].Descriptor()
|
||||
}
|
||||
|
||||
func (EgressAction) Type() protoreflect.EnumType {
|
||||
return &file_servercfg_proto_enumTypes[1]
|
||||
return &file_appctl_proto_servercfg_proto_enumTypes[1]
|
||||
}
|
||||
|
||||
func (x EgressAction) Number() protoreflect.EnumNumber {
|
||||
@@ -130,7 +130,7 @@ func (x EgressAction) Number() protoreflect.EnumNumber {
|
||||
|
||||
// Deprecated: Use EgressAction.Descriptor instead.
|
||||
func (EgressAction) EnumDescriptor() ([]byte, []int) {
|
||||
return file_servercfg_proto_rawDescGZIP(), []int{1}
|
||||
return file_appctl_proto_servercfg_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
type ServerConfig struct {
|
||||
@@ -159,7 +159,7 @@ type ServerConfig struct {
|
||||
func (x *ServerConfig) Reset() {
|
||||
*x = ServerConfig{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_servercfg_proto_msgTypes[0]
|
||||
mi := &file_appctl_proto_servercfg_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -172,7 +172,7 @@ func (x *ServerConfig) String() string {
|
||||
func (*ServerConfig) ProtoMessage() {}
|
||||
|
||||
func (x *ServerConfig) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_servercfg_proto_msgTypes[0]
|
||||
mi := &file_appctl_proto_servercfg_proto_msgTypes[0]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -185,7 +185,7 @@ func (x *ServerConfig) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use ServerConfig.ProtoReflect.Descriptor instead.
|
||||
func (*ServerConfig) Descriptor() ([]byte, []int) {
|
||||
return file_servercfg_proto_rawDescGZIP(), []int{0}
|
||||
return file_appctl_proto_servercfg_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *ServerConfig) GetPortBindings() []*PortBinding {
|
||||
@@ -250,7 +250,7 @@ type ServerAdvancedSettings struct {
|
||||
func (x *ServerAdvancedSettings) Reset() {
|
||||
*x = ServerAdvancedSettings{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_servercfg_proto_msgTypes[1]
|
||||
mi := &file_appctl_proto_servercfg_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -263,7 +263,7 @@ func (x *ServerAdvancedSettings) String() string {
|
||||
func (*ServerAdvancedSettings) ProtoMessage() {}
|
||||
|
||||
func (x *ServerAdvancedSettings) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_servercfg_proto_msgTypes[1]
|
||||
mi := &file_appctl_proto_servercfg_proto_msgTypes[1]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -276,7 +276,7 @@ func (x *ServerAdvancedSettings) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use ServerAdvancedSettings.ProtoReflect.Descriptor instead.
|
||||
func (*ServerAdvancedSettings) Descriptor() ([]byte, []int) {
|
||||
return file_servercfg_proto_rawDescGZIP(), []int{1}
|
||||
return file_appctl_proto_servercfg_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
func (x *ServerAdvancedSettings) GetAllowLocalDestination() bool {
|
||||
@@ -301,7 +301,7 @@ type Egress struct {
|
||||
func (x *Egress) Reset() {
|
||||
*x = Egress{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_servercfg_proto_msgTypes[2]
|
||||
mi := &file_appctl_proto_servercfg_proto_msgTypes[2]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -314,7 +314,7 @@ func (x *Egress) String() string {
|
||||
func (*Egress) ProtoMessage() {}
|
||||
|
||||
func (x *Egress) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_servercfg_proto_msgTypes[2]
|
||||
mi := &file_appctl_proto_servercfg_proto_msgTypes[2]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -327,7 +327,7 @@ func (x *Egress) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use Egress.ProtoReflect.Descriptor instead.
|
||||
func (*Egress) Descriptor() ([]byte, []int) {
|
||||
return file_servercfg_proto_rawDescGZIP(), []int{2}
|
||||
return file_appctl_proto_servercfg_proto_rawDescGZIP(), []int{2}
|
||||
}
|
||||
|
||||
func (x *Egress) GetProxies() []*EgressProxy {
|
||||
@@ -363,7 +363,7 @@ type EgressProxy struct {
|
||||
func (x *EgressProxy) Reset() {
|
||||
*x = EgressProxy{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_servercfg_proto_msgTypes[3]
|
||||
mi := &file_appctl_proto_servercfg_proto_msgTypes[3]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -376,7 +376,7 @@ func (x *EgressProxy) String() string {
|
||||
func (*EgressProxy) ProtoMessage() {}
|
||||
|
||||
func (x *EgressProxy) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_servercfg_proto_msgTypes[3]
|
||||
mi := &file_appctl_proto_servercfg_proto_msgTypes[3]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -389,7 +389,7 @@ func (x *EgressProxy) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use EgressProxy.ProtoReflect.Descriptor instead.
|
||||
func (*EgressProxy) Descriptor() ([]byte, []int) {
|
||||
return file_servercfg_proto_rawDescGZIP(), []int{3}
|
||||
return file_appctl_proto_servercfg_proto_rawDescGZIP(), []int{3}
|
||||
}
|
||||
|
||||
func (x *EgressProxy) GetName() string {
|
||||
@@ -448,7 +448,7 @@ type EgressRule struct {
|
||||
func (x *EgressRule) Reset() {
|
||||
*x = EgressRule{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_servercfg_proto_msgTypes[4]
|
||||
mi := &file_appctl_proto_servercfg_proto_msgTypes[4]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -461,7 +461,7 @@ func (x *EgressRule) String() string {
|
||||
func (*EgressRule) ProtoMessage() {}
|
||||
|
||||
func (x *EgressRule) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_servercfg_proto_msgTypes[4]
|
||||
mi := &file_appctl_proto_servercfg_proto_msgTypes[4]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -474,7 +474,7 @@ func (x *EgressRule) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use EgressRule.ProtoReflect.Descriptor instead.
|
||||
func (*EgressRule) Descriptor() ([]byte, []int) {
|
||||
return file_servercfg_proto_rawDescGZIP(), []int{4}
|
||||
return file_appctl_proto_servercfg_proto_rawDescGZIP(), []int{4}
|
||||
}
|
||||
|
||||
func (x *EgressRule) GetIpRanges() []string {
|
||||
@@ -517,7 +517,7 @@ type DNS struct {
|
||||
func (x *DNS) Reset() {
|
||||
*x = DNS{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_servercfg_proto_msgTypes[5]
|
||||
mi := &file_appctl_proto_servercfg_proto_msgTypes[5]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -530,7 +530,7 @@ func (x *DNS) String() string {
|
||||
func (*DNS) ProtoMessage() {}
|
||||
|
||||
func (x *DNS) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_servercfg_proto_msgTypes[5]
|
||||
mi := &file_appctl_proto_servercfg_proto_msgTypes[5]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -543,7 +543,7 @@ func (x *DNS) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use DNS.ProtoReflect.Descriptor instead.
|
||||
func (*DNS) Descriptor() ([]byte, []int) {
|
||||
return file_servercfg_proto_rawDescGZIP(), []int{5}
|
||||
return file_appctl_proto_servercfg_proto_rawDescGZIP(), []int{5}
|
||||
}
|
||||
|
||||
func (x *DNS) GetDualStack() DualStack {
|
||||
@@ -553,114 +553,115 @@ func (x *DNS) GetDualStack() DualStack {
|
||||
return DualStack_USE_FIRST_IP
|
||||
}
|
||||
|
||||
var File_servercfg_proto protoreflect.FileDescriptor
|
||||
var File_appctl_proto_servercfg_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_servercfg_proto_rawDesc = []byte{
|
||||
0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x63, 0x66, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x12, 0x06, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x1a, 0x0a, 0x62, 0x61, 0x73, 0x65, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa4, 0x03, 0x0a, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
|
||||
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, 0x0c, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x69,
|
||||
0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61,
|
||||
0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e,
|
||||
0x67, 0x52, 0x0c, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12,
|
||||
0x22, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c,
|
||||
0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73,
|
||||
0x65, 0x72, 0x73, 0x12, 0x4f, 0x0a, 0x10, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x53,
|
||||
0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
|
||||
0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x64, 0x76,
|
||||
0x61, 0x6e, 0x63, 0x65, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x48, 0x00, 0x52,
|
||||
0x10, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
|
||||
0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x4c,
|
||||
0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x70,
|
||||
0x63, 0x74, 0x6c, 0x2e, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c,
|
||||
0x48, 0x01, 0x52, 0x0c, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c,
|
||||
0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x6d, 0x74, 0x75, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05,
|
||||
0x48, 0x02, 0x52, 0x03, 0x6d, 0x74, 0x75, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x06, 0x65, 0x67,
|
||||
0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x70,
|
||||
0x63, 0x74, 0x6c, 0x2e, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x48, 0x03, 0x52, 0x06, 0x65, 0x67,
|
||||
0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x03, 0x64, 0x6e, 0x73, 0x18, 0x07,
|
||||
0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x44, 0x4e,
|
||||
0x53, 0x48, 0x04, 0x52, 0x03, 0x64, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f,
|
||||
0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73,
|
||||
0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x4c, 0x65, 0x76, 0x65,
|
||||
0x6c, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, 0x74, 0x75, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x67,
|
||||
0x72, 0x65, 0x73, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x64, 0x6e, 0x73, 0x22, 0x6d, 0x0a, 0x16,
|
||||
0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x53, 0x65,
|
||||
0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x39, 0x0a, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4c,
|
||||
0x6f, 0x63, 0x61, 0x6c, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4c, 0x6f,
|
||||
0x63, 0x61, 0x6c, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01,
|
||||
0x01, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4c, 0x6f, 0x63, 0x61, 0x6c,
|
||||
0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x61, 0x0a, 0x06, 0x45,
|
||||
0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73,
|
||||
var file_appctl_proto_servercfg_proto_rawDesc = []byte{
|
||||
0x0a, 0x1c, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x73,
|
||||
0x65, 0x72, 0x76, 0x65, 0x72, 0x63, 0x66, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06,
|
||||
0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x1a, 0x17, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2f, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
|
||||
0xa4, 0x03, 0x0a, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
|
||||
0x12, 0x37, 0x0a, 0x0c, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73,
|
||||
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e,
|
||||
0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x07, 0x70, 0x72, 0x6f,
|
||||
0x78, 0x69, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20,
|
||||
0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x67, 0x72,
|
||||
0x65, 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x98,
|
||||
0x02, 0x0a, 0x0b, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x17,
|
||||
0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04,
|
||||
0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x61, 0x70, 0x70, 0x63,
|
||||
0x74, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
|
||||
0x48, 0x01, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12,
|
||||
0x17, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52,
|
||||
0x04, 0x68, 0x6f, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74,
|
||||
0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x48, 0x03, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x88, 0x01,
|
||||
0x01, 0x12, 0x45, 0x0a, 0x14, 0x73, 0x6f, 0x63, 0x6b, 0x73, 0x35, 0x41, 0x75, 0x74, 0x68, 0x65,
|
||||
0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||
0x0c, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x48, 0x04, 0x52,
|
||||
0x14, 0x73, 0x6f, 0x63, 0x6b, 0x73, 0x35, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63,
|
||||
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d,
|
||||
0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, 0x07,
|
||||
0x0a, 0x05, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x72, 0x74,
|
||||
0x42, 0x17, 0x0a, 0x15, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x73, 0x35, 0x41, 0x75, 0x74, 0x68, 0x65,
|
||||
0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb9, 0x01, 0x0a, 0x0a, 0x45, 0x67,
|
||||
0x72, 0x65, 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x70, 0x52, 0x61,
|
||||
0x6e, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x69, 0x70, 0x52, 0x61,
|
||||
0x6e, 0x67, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61,
|
||||
0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x6f, 0x6d, 0x61, 0x69,
|
||||
0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e,
|
||||
0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x06,
|
||||
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x70, 0x72, 0x6f,
|
||||
0x78, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09,
|
||||
0x70, 0x72, 0x6f, 0x78, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07,
|
||||
0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x72, 0x6f, 0x78,
|
||||
0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x49, 0x0a, 0x03, 0x44, 0x4e, 0x53, 0x12, 0x34, 0x0a, 0x09,
|
||||
0x64, 0x75, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
|
||||
0x11, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x44, 0x75, 0x61, 0x6c, 0x53, 0x74, 0x61,
|
||||
0x63, 0x6b, 0x48, 0x00, 0x52, 0x09, 0x64, 0x75, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x88,
|
||||
0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x64, 0x75, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x63, 0x6b,
|
||||
0x2a, 0x46, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
|
||||
0x6c, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x50, 0x52, 0x4f,
|
||||
0x58, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x10, 0x00, 0x12, 0x19, 0x0a,
|
||||
0x15, 0x53, 0x4f, 0x43, 0x4b, 0x53, 0x35, 0x5f, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x50, 0x52,
|
||||
0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x10, 0x01, 0x2a, 0x31, 0x0a, 0x0c, 0x45, 0x67, 0x72, 0x65,
|
||||
0x73, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x52, 0x4f, 0x58,
|
||||
0x59, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x10, 0x01, 0x12,
|
||||
0x0a, 0x0a, 0x06, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x02, 0x42, 0x30, 0x5a, 0x2e, 0x67,
|
||||
0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x66, 0x65, 0x69, 0x6e,
|
||||
0x2f, 0x6d, 0x69, 0x65, 0x72, 0x75, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70,
|
||||
0x70, 0x63, 0x74, 0x6c, 0x2f, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x70, 0x62, 0x62, 0x06, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x50, 0x6f, 0x72, 0x74, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x0c, 0x70, 0x6f, 0x72,
|
||||
0x74, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x22, 0x0a, 0x05, 0x75, 0x73, 0x65,
|
||||
0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74,
|
||||
0x6c, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x4f, 0x0a,
|
||||
0x10, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
|
||||
0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c,
|
||||
0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x53,
|
||||
0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x48, 0x00, 0x52, 0x10, 0x61, 0x64, 0x76, 0x61, 0x6e,
|
||||
0x63, 0x65, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d,
|
||||
0x0a, 0x0c, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04,
|
||||
0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x4c, 0x6f,
|
||||
0x67, 0x67, 0x69, 0x6e, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x01, 0x52, 0x0c, 0x6c, 0x6f,
|
||||
0x67, 0x67, 0x69, 0x6e, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a,
|
||||
0x03, 0x6d, 0x74, 0x75, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x03, 0x6d, 0x74,
|
||||
0x75, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x06, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06,
|
||||
0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x67,
|
||||
0x72, 0x65, 0x73, 0x73, 0x48, 0x03, 0x52, 0x06, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01,
|
||||
0x01, 0x12, 0x22, 0x0a, 0x03, 0x64, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b,
|
||||
0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x44, 0x4e, 0x53, 0x48, 0x04, 0x52, 0x03, 0x64,
|
||||
0x6e, 0x73, 0x88, 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63,
|
||||
0x65, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6c,
|
||||
0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x06, 0x0a, 0x04, 0x5f,
|
||||
0x6d, 0x74, 0x75, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x42, 0x06,
|
||||
0x0a, 0x04, 0x5f, 0x64, 0x6e, 0x73, 0x22, 0x6d, 0x0a, 0x16, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
|
||||
0x41, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73,
|
||||
0x12, 0x39, 0x0a, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x44, 0x65,
|
||||
0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48,
|
||||
0x00, 0x52, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x44, 0x65, 0x73,
|
||||
0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x18, 0x0a, 0x16, 0x5f,
|
||||
0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e,
|
||||
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x61, 0x0a, 0x06, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12,
|
||||
0x2d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
|
||||
0x32, 0x13, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73,
|
||||
0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x12, 0x28,
|
||||
0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e,
|
||||
0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x75, 0x6c,
|
||||
0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x98, 0x02, 0x0a, 0x0b, 0x45, 0x67, 0x72,
|
||||
0x65, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01,
|
||||
0x01, 0x12, 0x36, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x50, 0x72, 0x6f,
|
||||
0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x01, 0x52, 0x08, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x68, 0x6f, 0x73,
|
||||
0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x88,
|
||||
0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05,
|
||||
0x48, 0x03, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x14, 0x73,
|
||||
0x6f, 0x63, 0x6b, 0x73, 0x35, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x61, 0x70, 0x70, 0x63,
|
||||
0x74, 0x6c, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x48, 0x04, 0x52, 0x14, 0x73, 0x6f, 0x63, 0x6b, 0x73,
|
||||
0x35, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88,
|
||||
0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x68, 0x6f, 0x73,
|
||||
0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x73,
|
||||
0x6f, 0x63, 0x6b, 0x73, 0x35, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x22, 0xb9, 0x01, 0x0a, 0x0a, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x75,
|
||||
0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x01,
|
||||
0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x69, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x20,
|
||||
0x0a, 0x0b, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20,
|
||||
0x03, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73,
|
||||
0x12, 0x31, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e,
|
||||
0x32, 0x14, 0x2e, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2e, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73,
|
||||
0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x4e, 0x61, 0x6d, 0x65,
|
||||
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x4e,
|
||||
0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22,
|
||||
0x49, 0x0a, 0x03, 0x44, 0x4e, 0x53, 0x12, 0x34, 0x0a, 0x09, 0x64, 0x75, 0x61, 0x6c, 0x53, 0x74,
|
||||
0x61, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x70, 0x63,
|
||||
0x74, 0x6c, 0x2e, 0x44, 0x75, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x48, 0x00, 0x52, 0x09,
|
||||
0x64, 0x75, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a,
|
||||
0x5f, 0x64, 0x75, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x2a, 0x46, 0x0a, 0x0d, 0x50, 0x72,
|
||||
0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x1a, 0x0a, 0x16, 0x55,
|
||||
0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x50, 0x52, 0x4f,
|
||||
0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x4f, 0x43, 0x4b, 0x53,
|
||||
0x35, 0x5f, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c,
|
||||
0x10, 0x01, 0x2a, 0x31, 0x0a, 0x0c, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x41, 0x63, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x10, 0x00, 0x12, 0x0a, 0x0a,
|
||||
0x06, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x4a,
|
||||
0x45, 0x43, 0x54, 0x10, 0x02, 0x42, 0x30, 0x5a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e,
|
||||
0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x66, 0x65, 0x69, 0x6e, 0x2f, 0x6d, 0x69, 0x65, 0x72, 0x75,
|
||||
0x2f, 0x76, 0x33, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x70, 0x63, 0x74, 0x6c, 0x2f, 0x61,
|
||||
0x70, 0x70, 0x63, 0x74, 0x6c, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_servercfg_proto_rawDescOnce sync.Once
|
||||
file_servercfg_proto_rawDescData = file_servercfg_proto_rawDesc
|
||||
file_appctl_proto_servercfg_proto_rawDescOnce sync.Once
|
||||
file_appctl_proto_servercfg_proto_rawDescData = file_appctl_proto_servercfg_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_servercfg_proto_rawDescGZIP() []byte {
|
||||
file_servercfg_proto_rawDescOnce.Do(func() {
|
||||
file_servercfg_proto_rawDescData = protoimpl.X.CompressGZIP(file_servercfg_proto_rawDescData)
|
||||
func file_appctl_proto_servercfg_proto_rawDescGZIP() []byte {
|
||||
file_appctl_proto_servercfg_proto_rawDescOnce.Do(func() {
|
||||
file_appctl_proto_servercfg_proto_rawDescData = protoimpl.X.CompressGZIP(file_appctl_proto_servercfg_proto_rawDescData)
|
||||
})
|
||||
return file_servercfg_proto_rawDescData
|
||||
return file_appctl_proto_servercfg_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_servercfg_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
|
||||
var file_servercfg_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
|
||||
var file_servercfg_proto_goTypes = []interface{}{
|
||||
var file_appctl_proto_servercfg_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
|
||||
var file_appctl_proto_servercfg_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
|
||||
var file_appctl_proto_servercfg_proto_goTypes = []interface{}{
|
||||
(ProxyProtocol)(0), // 0: appctl.ProxyProtocol
|
||||
(EgressAction)(0), // 1: appctl.EgressAction
|
||||
(*ServerConfig)(nil), // 2: appctl.ServerConfig
|
||||
@@ -675,7 +676,7 @@ var file_servercfg_proto_goTypes = []interface{}{
|
||||
(*Auth)(nil), // 11: appctl.Auth
|
||||
(DualStack)(0), // 12: appctl.DualStack
|
||||
}
|
||||
var file_servercfg_proto_depIdxs = []int32{
|
||||
var file_appctl_proto_servercfg_proto_depIdxs = []int32{
|
||||
8, // 0: appctl.ServerConfig.portBindings:type_name -> appctl.PortBinding
|
||||
9, // 1: appctl.ServerConfig.users:type_name -> appctl.User
|
||||
3, // 2: appctl.ServerConfig.advancedSettings:type_name -> appctl.ServerAdvancedSettings
|
||||
@@ -695,14 +696,14 @@ var file_servercfg_proto_depIdxs = []int32{
|
||||
0, // [0:12] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_servercfg_proto_init() }
|
||||
func file_servercfg_proto_init() {
|
||||
if File_servercfg_proto != nil {
|
||||
func init() { file_appctl_proto_servercfg_proto_init() }
|
||||
func file_appctl_proto_servercfg_proto_init() {
|
||||
if File_appctl_proto_servercfg_proto != nil {
|
||||
return
|
||||
}
|
||||
file_base_proto_init()
|
||||
file_appctl_proto_base_proto_init()
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_servercfg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
file_appctl_proto_servercfg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ServerConfig); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -714,7 +715,7 @@ func file_servercfg_proto_init() {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_servercfg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
file_appctl_proto_servercfg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ServerAdvancedSettings); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -726,7 +727,7 @@ func file_servercfg_proto_init() {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_servercfg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||
file_appctl_proto_servercfg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Egress); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -738,7 +739,7 @@ func file_servercfg_proto_init() {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_servercfg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||
file_appctl_proto_servercfg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*EgressProxy); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -750,7 +751,7 @@ func file_servercfg_proto_init() {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_servercfg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
||||
file_appctl_proto_servercfg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*EgressRule); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -762,7 +763,7 @@ func file_servercfg_proto_init() {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_servercfg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
||||
file_appctl_proto_servercfg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*DNS); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -775,28 +776,28 @@ func file_servercfg_proto_init() {
|
||||
}
|
||||
}
|
||||
}
|
||||
file_servercfg_proto_msgTypes[0].OneofWrappers = []interface{}{}
|
||||
file_servercfg_proto_msgTypes[1].OneofWrappers = []interface{}{}
|
||||
file_servercfg_proto_msgTypes[3].OneofWrappers = []interface{}{}
|
||||
file_servercfg_proto_msgTypes[4].OneofWrappers = []interface{}{}
|
||||
file_servercfg_proto_msgTypes[5].OneofWrappers = []interface{}{}
|
||||
file_appctl_proto_servercfg_proto_msgTypes[0].OneofWrappers = []interface{}{}
|
||||
file_appctl_proto_servercfg_proto_msgTypes[1].OneofWrappers = []interface{}{}
|
||||
file_appctl_proto_servercfg_proto_msgTypes[3].OneofWrappers = []interface{}{}
|
||||
file_appctl_proto_servercfg_proto_msgTypes[4].OneofWrappers = []interface{}{}
|
||||
file_appctl_proto_servercfg_proto_msgTypes[5].OneofWrappers = []interface{}{}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_servercfg_proto_rawDesc,
|
||||
RawDescriptor: file_appctl_proto_servercfg_proto_rawDesc,
|
||||
NumEnums: 2,
|
||||
NumMessages: 6,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
GoTypes: file_servercfg_proto_goTypes,
|
||||
DependencyIndexes: file_servercfg_proto_depIdxs,
|
||||
EnumInfos: file_servercfg_proto_enumTypes,
|
||||
MessageInfos: file_servercfg_proto_msgTypes,
|
||||
GoTypes: file_appctl_proto_servercfg_proto_goTypes,
|
||||
DependencyIndexes: file_appctl_proto_servercfg_proto_depIdxs,
|
||||
EnumInfos: file_appctl_proto_servercfg_proto_enumTypes,
|
||||
MessageInfos: file_appctl_proto_servercfg_proto_msgTypes,
|
||||
}.Build()
|
||||
File_servercfg_proto = out.File
|
||||
file_servercfg_proto_rawDesc = nil
|
||||
file_servercfg_proto_goTypes = nil
|
||||
file_servercfg_proto_depIdxs = nil
|
||||
File_appctl_proto_servercfg_proto = out.File
|
||||
file_appctl_proto_servercfg_proto_rawDesc = nil
|
||||
file_appctl_proto_servercfg_proto_goTypes = nil
|
||||
file_appctl_proto_servercfg_proto_depIdxs = nil
|
||||
}
|
||||
|
@@ -17,7 +17,7 @@ syntax = "proto3";
|
||||
|
||||
package appctl;
|
||||
|
||||
import "base.proto";
|
||||
import "appctl/proto/base.proto";
|
||||
|
||||
option go_package = "github.com/enfein/mieru/v3/pkg/appctl/appctlpb";
|
||||
|
||||
|
@@ -17,7 +17,9 @@ syntax = "proto3";
|
||||
|
||||
package appctl;
|
||||
|
||||
import "google/protobuf/timestamp.proto";
|
||||
import "appctl/proto/base.proto";
|
||||
import "appctl/proto/google/protobuf/timestamp.proto";
|
||||
import "metrics/proto/metrics.proto";
|
||||
|
||||
option go_package = "github.com/enfein/mieru/v3/pkg/appctl/appctlpb";
|
||||
|
||||
@@ -26,6 +28,18 @@ message Metrics {
|
||||
optional string json = 1;
|
||||
}
|
||||
|
||||
message UserWithMetrics {
|
||||
// User information.
|
||||
optional User user = 1;
|
||||
|
||||
// User runtime information.
|
||||
repeated metrics.Metric metrics = 2;
|
||||
}
|
||||
|
||||
message UserWithMetricsList {
|
||||
repeated UserWithMetrics items = 1;
|
||||
}
|
||||
|
||||
message ProfileSavePath {
|
||||
// Location to save profile results.
|
||||
optional string filePath = 1;
|
||||
|
@@ -17,9 +17,9 @@ syntax = "proto3";
|
||||
|
||||
package appctl;
|
||||
|
||||
import "base.proto";
|
||||
import "misc.proto";
|
||||
import "servercfg.proto";
|
||||
import "appctl/proto/base.proto";
|
||||
import "appctl/proto/misc.proto";
|
||||
import "appctl/proto/servercfg.proto";
|
||||
|
||||
option go_package = "github.com/enfein/mieru/v3/pkg/appctl/appctlgrpc";
|
||||
|
||||
@@ -74,6 +74,9 @@ service ServerLifecycleService {
|
||||
// Get server session information.
|
||||
rpc GetSessionInfoList(Empty) returns (SessionInfoList);
|
||||
|
||||
// Get users setting and runtime information.
|
||||
rpc GetUsers(Empty) returns (UserWithMetricsList);
|
||||
|
||||
// Generate a thread dump of server daemon.
|
||||
rpc GetThreadDump(Empty) returns (ThreadDump);
|
||||
|
||||
|
@@ -17,7 +17,7 @@ syntax = "proto3";
|
||||
|
||||
package appctl;
|
||||
|
||||
import "base.proto";
|
||||
import "appctl/proto/base.proto";
|
||||
|
||||
option go_package = "github.com/enfein/mieru/v3/pkg/appctl/appctlpb";
|
||||
|
||||
|
@@ -260,6 +260,10 @@ func (s *serverLifecycleService) GetSessionInfoList(context.Context, *pb.Empty)
|
||||
return mux.ExportSessionInfoList(), nil
|
||||
}
|
||||
|
||||
func (s *serverLifecycleService) GetUsers(context.Context, *pb.Empty) (*pb.UserWithMetricsList, error) {
|
||||
return &pb.UserWithMetricsList{}, nil
|
||||
}
|
||||
|
||||
func (s *serverLifecycleService) GetThreadDump(ctx context.Context, req *pb.Empty) (*pb.ThreadDump, error) {
|
||||
return &pb.ThreadDump{ThreadDump: proto.String(common.GetAllStackTrace())}, nil
|
||||
}
|
||||
|
@@ -17,7 +17,7 @@
|
||||
// versions:
|
||||
// protoc-gen-go v1.30.0
|
||||
// protoc v4.22.3
|
||||
// source: metrics.proto
|
||||
// source: metrics/proto/metrics.proto
|
||||
|
||||
package metricspb
|
||||
|
||||
@@ -71,11 +71,11 @@ func (x MetricType) String() string {
|
||||
}
|
||||
|
||||
func (MetricType) Descriptor() protoreflect.EnumDescriptor {
|
||||
return file_metrics_proto_enumTypes[0].Descriptor()
|
||||
return file_metrics_proto_metrics_proto_enumTypes[0].Descriptor()
|
||||
}
|
||||
|
||||
func (MetricType) Type() protoreflect.EnumType {
|
||||
return &file_metrics_proto_enumTypes[0]
|
||||
return &file_metrics_proto_metrics_proto_enumTypes[0]
|
||||
}
|
||||
|
||||
func (x MetricType) Number() protoreflect.EnumNumber {
|
||||
@@ -84,7 +84,7 @@ func (x MetricType) Number() protoreflect.EnumNumber {
|
||||
|
||||
// Deprecated: Use MetricType.Descriptor instead.
|
||||
func (MetricType) EnumDescriptor() ([]byte, []int) {
|
||||
return file_metrics_proto_rawDescGZIP(), []int{0}
|
||||
return file_metrics_proto_metrics_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
type RollUpLabel int32
|
||||
@@ -126,11 +126,11 @@ func (x RollUpLabel) String() string {
|
||||
}
|
||||
|
||||
func (RollUpLabel) Descriptor() protoreflect.EnumDescriptor {
|
||||
return file_metrics_proto_enumTypes[1].Descriptor()
|
||||
return file_metrics_proto_metrics_proto_enumTypes[1].Descriptor()
|
||||
}
|
||||
|
||||
func (RollUpLabel) Type() protoreflect.EnumType {
|
||||
return &file_metrics_proto_enumTypes[1]
|
||||
return &file_metrics_proto_metrics_proto_enumTypes[1]
|
||||
}
|
||||
|
||||
func (x RollUpLabel) Number() protoreflect.EnumNumber {
|
||||
@@ -139,7 +139,7 @@ func (x RollUpLabel) Number() protoreflect.EnumNumber {
|
||||
|
||||
// Deprecated: Use RollUpLabel.Descriptor instead.
|
||||
func (RollUpLabel) EnumDescriptor() ([]byte, []int) {
|
||||
return file_metrics_proto_rawDescGZIP(), []int{1}
|
||||
return file_metrics_proto_metrics_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
type AllMetrics struct {
|
||||
@@ -153,7 +153,7 @@ type AllMetrics struct {
|
||||
func (x *AllMetrics) Reset() {
|
||||
*x = AllMetrics{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_metrics_proto_msgTypes[0]
|
||||
mi := &file_metrics_proto_metrics_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -166,7 +166,7 @@ func (x *AllMetrics) String() string {
|
||||
func (*AllMetrics) ProtoMessage() {}
|
||||
|
||||
func (x *AllMetrics) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_metrics_proto_msgTypes[0]
|
||||
mi := &file_metrics_proto_metrics_proto_msgTypes[0]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -179,7 +179,7 @@ func (x *AllMetrics) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use AllMetrics.ProtoReflect.Descriptor instead.
|
||||
func (*AllMetrics) Descriptor() ([]byte, []int) {
|
||||
return file_metrics_proto_rawDescGZIP(), []int{0}
|
||||
return file_metrics_proto_metrics_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *AllMetrics) GetGroups() []*MetricGroup {
|
||||
@@ -201,7 +201,7 @@ type MetricGroup struct {
|
||||
func (x *MetricGroup) Reset() {
|
||||
*x = MetricGroup{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_metrics_proto_msgTypes[1]
|
||||
mi := &file_metrics_proto_metrics_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -214,7 +214,7 @@ func (x *MetricGroup) String() string {
|
||||
func (*MetricGroup) ProtoMessage() {}
|
||||
|
||||
func (x *MetricGroup) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_metrics_proto_msgTypes[1]
|
||||
mi := &file_metrics_proto_metrics_proto_msgTypes[1]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -227,7 +227,7 @@ func (x *MetricGroup) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use MetricGroup.ProtoReflect.Descriptor instead.
|
||||
func (*MetricGroup) Descriptor() ([]byte, []int) {
|
||||
return file_metrics_proto_rawDescGZIP(), []int{1}
|
||||
return file_metrics_proto_metrics_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
func (x *MetricGroup) GetName() string {
|
||||
@@ -258,7 +258,7 @@ type Metric struct {
|
||||
func (x *Metric) Reset() {
|
||||
*x = Metric{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_metrics_proto_msgTypes[2]
|
||||
mi := &file_metrics_proto_metrics_proto_msgTypes[2]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -271,7 +271,7 @@ func (x *Metric) String() string {
|
||||
func (*Metric) ProtoMessage() {}
|
||||
|
||||
func (x *Metric) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_metrics_proto_msgTypes[2]
|
||||
mi := &file_metrics_proto_metrics_proto_msgTypes[2]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -284,7 +284,7 @@ func (x *Metric) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use Metric.ProtoReflect.Descriptor instead.
|
||||
func (*Metric) Descriptor() ([]byte, []int) {
|
||||
return file_metrics_proto_rawDescGZIP(), []int{2}
|
||||
return file_metrics_proto_metrics_proto_rawDescGZIP(), []int{2}
|
||||
}
|
||||
|
||||
func (x *Metric) GetName() string {
|
||||
@@ -328,7 +328,7 @@ type History struct {
|
||||
func (x *History) Reset() {
|
||||
*x = History{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_metrics_proto_msgTypes[3]
|
||||
mi := &file_metrics_proto_metrics_proto_msgTypes[3]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -341,7 +341,7 @@ func (x *History) String() string {
|
||||
func (*History) ProtoMessage() {}
|
||||
|
||||
func (x *History) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_metrics_proto_msgTypes[3]
|
||||
mi := &file_metrics_proto_metrics_proto_msgTypes[3]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -354,7 +354,7 @@ func (x *History) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use History.ProtoReflect.Descriptor instead.
|
||||
func (*History) Descriptor() ([]byte, []int) {
|
||||
return file_metrics_proto_rawDescGZIP(), []int{3}
|
||||
return file_metrics_proto_metrics_proto_rawDescGZIP(), []int{3}
|
||||
}
|
||||
|
||||
func (x *History) GetTimeUnixMilli() int64 {
|
||||
@@ -378,76 +378,77 @@ func (x *History) GetRollUp() RollUpLabel {
|
||||
return RollUpLabel_NO_ROLL_UP
|
||||
}
|
||||
|
||||
var File_metrics_proto protoreflect.FileDescriptor
|
||||
var File_metrics_proto_metrics_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_metrics_proto_rawDesc = []byte{
|
||||
0x0a, 0x0d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
|
||||
0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0x3a, 0x0a, 0x0a, 0x41, 0x6c, 0x6c, 0x4d,
|
||||
0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x2c, 0x0a, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73,
|
||||
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
|
||||
0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x06, 0x67, 0x72,
|
||||
0x6f, 0x75, 0x70, 0x73, 0x22, 0x5a, 0x0a, 0x0b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x47, 0x72,
|
||||
0x6f, 0x75, 0x70, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x07,
|
||||
0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
|
||||
0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x07,
|
||||
0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
|
||||
0x22, 0xb2, 0x01, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x17, 0x0a, 0x04, 0x6e,
|
||||
0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d,
|
||||
0x65, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x0e, 0x32, 0x13, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x4d, 0x65, 0x74,
|
||||
0x72, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x48, 0x01, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88,
|
||||
0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
|
||||
0x03, 0x48, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a,
|
||||
0x07, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10,
|
||||
0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79,
|
||||
0x52, 0x07, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61,
|
||||
0x6d, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f,
|
||||
0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x07, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72,
|
||||
0x79, 0x12, 0x29, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x78, 0x4d, 0x69, 0x6c,
|
||||
0x6c, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65,
|
||||
0x55, 0x6e, 0x69, 0x78, 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05,
|
||||
0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x05, 0x64,
|
||||
0x65, 0x6c, 0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x06, 0x72, 0x6f, 0x6c, 0x6c, 0x55,
|
||||
0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
|
||||
0x73, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x55, 0x70, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x48, 0x02, 0x52,
|
||||
0x06, 0x72, 0x6f, 0x6c, 0x6c, 0x55, 0x70, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x74,
|
||||
0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x78, 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x42, 0x08, 0x0a, 0x06,
|
||||
0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x55,
|
||||
0x70, 0x2a, 0x4e, 0x0a, 0x0a, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12,
|
||||
0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00,
|
||||
0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52, 0x10, 0x01, 0x12, 0x17, 0x0a,
|
||||
0x13, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x53, 0x45,
|
||||
0x52, 0x49, 0x45, 0x53, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x41, 0x55, 0x47, 0x45, 0x10,
|
||||
0x03, 0x2a, 0x74, 0x0a, 0x0b, 0x52, 0x6f, 0x6c, 0x6c, 0x55, 0x70, 0x4c, 0x61, 0x62, 0x65, 0x6c,
|
||||
0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x4f, 0x5f, 0x52, 0x4f, 0x4c, 0x4c, 0x5f, 0x55, 0x50, 0x10, 0x00,
|
||||
0x12, 0x15, 0x0a, 0x11, 0x52, 0x4f, 0x4c, 0x4c, 0x5f, 0x55, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x53,
|
||||
0x45, 0x43, 0x4f, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x4f, 0x4c, 0x4c, 0x5f,
|
||||
0x55, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x4d, 0x49, 0x4e, 0x55, 0x54, 0x45, 0x10, 0x02, 0x12, 0x13,
|
||||
0x0a, 0x0f, 0x52, 0x4f, 0x4c, 0x4c, 0x5f, 0x55, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x48, 0x4f, 0x55,
|
||||
0x52, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x4f, 0x4c, 0x4c, 0x5f, 0x55, 0x50, 0x5f, 0x54,
|
||||
0x4f, 0x5f, 0x44, 0x41, 0x59, 0x10, 0x04, 0x42, 0x32, 0x5a, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75,
|
||||
0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x66, 0x65, 0x69, 0x6e, 0x2f, 0x6d, 0x69, 0x65,
|
||||
0x72, 0x75, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
|
||||
0x73, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x33,
|
||||
var file_metrics_proto_metrics_proto_rawDesc = []byte{
|
||||
0x0a, 0x1b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f,
|
||||
0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x6d,
|
||||
0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0x3a, 0x0a, 0x0a, 0x41, 0x6c, 0x6c, 0x4d, 0x65, 0x74,
|
||||
0x72, 0x69, 0x63, 0x73, 0x12, 0x2c, 0x0a, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01,
|
||||
0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x4d,
|
||||
0x65, 0x74, 0x72, 0x69, 0x63, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x06, 0x67, 0x72, 0x6f, 0x75,
|
||||
0x70, 0x73, 0x22, 0x5a, 0x0a, 0x0b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x47, 0x72, 0x6f, 0x75,
|
||||
0x70, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48,
|
||||
0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x07, 0x6d, 0x65,
|
||||
0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6d, 0x65,
|
||||
0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x07, 0x6d, 0x65,
|
||||
0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xb2,
|
||||
0x01, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
|
||||
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88,
|
||||
0x01, 0x01, 0x12, 0x2c, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e,
|
||||
0x32, 0x13, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69,
|
||||
0x63, 0x54, 0x79, 0x70, 0x65, 0x48, 0x01, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01,
|
||||
0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48,
|
||||
0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x68,
|
||||
0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d,
|
||||
0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x07,
|
||||
0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
|
||||
0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61,
|
||||
0x6c, 0x75, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x07, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12,
|
||||
0x29, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x78, 0x4d, 0x69, 0x6c, 0x6c, 0x69,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x55, 0x6e,
|
||||
0x69, 0x78, 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x64, 0x65,
|
||||
0x6c, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x05, 0x64, 0x65, 0x6c,
|
||||
0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x06, 0x72, 0x6f, 0x6c, 0x6c, 0x55, 0x70, 0x18,
|
||||
0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e,
|
||||
0x52, 0x6f, 0x6c, 0x6c, 0x55, 0x70, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x48, 0x02, 0x52, 0x06, 0x72,
|
||||
0x6f, 0x6c, 0x6c, 0x55, 0x70, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x74, 0x69, 0x6d,
|
||||
0x65, 0x55, 0x6e, 0x69, 0x78, 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x64,
|
||||
0x65, 0x6c, 0x74, 0x61, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x55, 0x70, 0x2a,
|
||||
0x4e, 0x0a, 0x0a, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a,
|
||||
0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b,
|
||||
0x0a, 0x07, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x43,
|
||||
0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x49,
|
||||
0x45, 0x53, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x41, 0x55, 0x47, 0x45, 0x10, 0x03, 0x2a,
|
||||
0x74, 0x0a, 0x0b, 0x52, 0x6f, 0x6c, 0x6c, 0x55, 0x70, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x0e,
|
||||
0x0a, 0x0a, 0x4e, 0x4f, 0x5f, 0x52, 0x4f, 0x4c, 0x4c, 0x5f, 0x55, 0x50, 0x10, 0x00, 0x12, 0x15,
|
||||
0x0a, 0x11, 0x52, 0x4f, 0x4c, 0x4c, 0x5f, 0x55, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x53, 0x45, 0x43,
|
||||
0x4f, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x4f, 0x4c, 0x4c, 0x5f, 0x55, 0x50,
|
||||
0x5f, 0x54, 0x4f, 0x5f, 0x4d, 0x49, 0x4e, 0x55, 0x54, 0x45, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f,
|
||||
0x52, 0x4f, 0x4c, 0x4c, 0x5f, 0x55, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x48, 0x4f, 0x55, 0x52, 0x10,
|
||||
0x03, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x4f, 0x4c, 0x4c, 0x5f, 0x55, 0x50, 0x5f, 0x54, 0x4f, 0x5f,
|
||||
0x44, 0x41, 0x59, 0x10, 0x04, 0x42, 0x32, 0x5a, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e,
|
||||
0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x66, 0x65, 0x69, 0x6e, 0x2f, 0x6d, 0x69, 0x65, 0x72, 0x75,
|
||||
0x2f, 0x76, 0x33, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f,
|
||||
0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_metrics_proto_rawDescOnce sync.Once
|
||||
file_metrics_proto_rawDescData = file_metrics_proto_rawDesc
|
||||
file_metrics_proto_metrics_proto_rawDescOnce sync.Once
|
||||
file_metrics_proto_metrics_proto_rawDescData = file_metrics_proto_metrics_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_metrics_proto_rawDescGZIP() []byte {
|
||||
file_metrics_proto_rawDescOnce.Do(func() {
|
||||
file_metrics_proto_rawDescData = protoimpl.X.CompressGZIP(file_metrics_proto_rawDescData)
|
||||
func file_metrics_proto_metrics_proto_rawDescGZIP() []byte {
|
||||
file_metrics_proto_metrics_proto_rawDescOnce.Do(func() {
|
||||
file_metrics_proto_metrics_proto_rawDescData = protoimpl.X.CompressGZIP(file_metrics_proto_metrics_proto_rawDescData)
|
||||
})
|
||||
return file_metrics_proto_rawDescData
|
||||
return file_metrics_proto_metrics_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_metrics_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
|
||||
var file_metrics_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
|
||||
var file_metrics_proto_goTypes = []interface{}{
|
||||
var file_metrics_proto_metrics_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
|
||||
var file_metrics_proto_metrics_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
|
||||
var file_metrics_proto_metrics_proto_goTypes = []interface{}{
|
||||
(MetricType)(0), // 0: metrics.MetricType
|
||||
(RollUpLabel)(0), // 1: metrics.RollUpLabel
|
||||
(*AllMetrics)(nil), // 2: metrics.AllMetrics
|
||||
@@ -455,7 +456,7 @@ var file_metrics_proto_goTypes = []interface{}{
|
||||
(*Metric)(nil), // 4: metrics.Metric
|
||||
(*History)(nil), // 5: metrics.History
|
||||
}
|
||||
var file_metrics_proto_depIdxs = []int32{
|
||||
var file_metrics_proto_metrics_proto_depIdxs = []int32{
|
||||
3, // 0: metrics.AllMetrics.groups:type_name -> metrics.MetricGroup
|
||||
4, // 1: metrics.MetricGroup.metrics:type_name -> metrics.Metric
|
||||
0, // 2: metrics.Metric.type:type_name -> metrics.MetricType
|
||||
@@ -468,13 +469,13 @@ var file_metrics_proto_depIdxs = []int32{
|
||||
0, // [0:5] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_metrics_proto_init() }
|
||||
func file_metrics_proto_init() {
|
||||
if File_metrics_proto != nil {
|
||||
func init() { file_metrics_proto_metrics_proto_init() }
|
||||
func file_metrics_proto_metrics_proto_init() {
|
||||
if File_metrics_proto_metrics_proto != nil {
|
||||
return
|
||||
}
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_metrics_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
file_metrics_proto_metrics_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*AllMetrics); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -486,7 +487,7 @@ func file_metrics_proto_init() {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_metrics_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
file_metrics_proto_metrics_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*MetricGroup); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -498,7 +499,7 @@ func file_metrics_proto_init() {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_metrics_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||
file_metrics_proto_metrics_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Metric); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -510,7 +511,7 @@ func file_metrics_proto_init() {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_metrics_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||
file_metrics_proto_metrics_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*History); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -523,26 +524,26 @@ func file_metrics_proto_init() {
|
||||
}
|
||||
}
|
||||
}
|
||||
file_metrics_proto_msgTypes[1].OneofWrappers = []interface{}{}
|
||||
file_metrics_proto_msgTypes[2].OneofWrappers = []interface{}{}
|
||||
file_metrics_proto_msgTypes[3].OneofWrappers = []interface{}{}
|
||||
file_metrics_proto_metrics_proto_msgTypes[1].OneofWrappers = []interface{}{}
|
||||
file_metrics_proto_metrics_proto_msgTypes[2].OneofWrappers = []interface{}{}
|
||||
file_metrics_proto_metrics_proto_msgTypes[3].OneofWrappers = []interface{}{}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_metrics_proto_rawDesc,
|
||||
RawDescriptor: file_metrics_proto_metrics_proto_rawDesc,
|
||||
NumEnums: 2,
|
||||
NumMessages: 4,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
GoTypes: file_metrics_proto_goTypes,
|
||||
DependencyIndexes: file_metrics_proto_depIdxs,
|
||||
EnumInfos: file_metrics_proto_enumTypes,
|
||||
MessageInfos: file_metrics_proto_msgTypes,
|
||||
GoTypes: file_metrics_proto_metrics_proto_goTypes,
|
||||
DependencyIndexes: file_metrics_proto_metrics_proto_depIdxs,
|
||||
EnumInfos: file_metrics_proto_metrics_proto_enumTypes,
|
||||
MessageInfos: file_metrics_proto_metrics_proto_msgTypes,
|
||||
}.Build()
|
||||
File_metrics_proto = out.File
|
||||
file_metrics_proto_rawDesc = nil
|
||||
file_metrics_proto_goTypes = nil
|
||||
file_metrics_proto_depIdxs = nil
|
||||
File_metrics_proto_metrics_proto = out.File
|
||||
file_metrics_proto_metrics_proto_rawDesc = nil
|
||||
file_metrics_proto_metrics_proto_goTypes = nil
|
||||
file_metrics_proto_metrics_proto_depIdxs = nil
|
||||
}
|
||||
|
@@ -17,7 +17,7 @@
|
||||
// versions:
|
||||
// protoc-gen-go v1.30.0
|
||||
// protoc v4.22.3
|
||||
// source: history.proto
|
||||
// source: version/updater/proto/history.proto
|
||||
|
||||
package updaterpb
|
||||
|
||||
@@ -46,7 +46,7 @@ type UpdateHistory struct {
|
||||
func (x *UpdateHistory) Reset() {
|
||||
*x = UpdateHistory{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_history_proto_msgTypes[0]
|
||||
mi := &file_version_updater_proto_history_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -59,7 +59,7 @@ func (x *UpdateHistory) String() string {
|
||||
func (*UpdateHistory) ProtoMessage() {}
|
||||
|
||||
func (x *UpdateHistory) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_history_proto_msgTypes[0]
|
||||
mi := &file_version_updater_proto_history_proto_msgTypes[0]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -72,7 +72,7 @@ func (x *UpdateHistory) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use UpdateHistory.ProtoReflect.Descriptor instead.
|
||||
func (*UpdateHistory) Descriptor() ([]byte, []int) {
|
||||
return file_history_proto_rawDescGZIP(), []int{0}
|
||||
return file_version_updater_proto_history_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *UpdateHistory) GetRecords() []*UpdateRecord {
|
||||
@@ -102,7 +102,7 @@ type UpdateRecord struct {
|
||||
func (x *UpdateRecord) Reset() {
|
||||
*x = UpdateRecord{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_history_proto_msgTypes[1]
|
||||
mi := &file_version_updater_proto_history_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -115,7 +115,7 @@ func (x *UpdateRecord) String() string {
|
||||
func (*UpdateRecord) ProtoMessage() {}
|
||||
|
||||
func (x *UpdateRecord) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_history_proto_msgTypes[1]
|
||||
mi := &file_version_updater_proto_history_proto_msgTypes[1]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -128,7 +128,7 @@ func (x *UpdateRecord) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use UpdateRecord.ProtoReflect.Descriptor instead.
|
||||
func (*UpdateRecord) Descriptor() ([]byte, []int) {
|
||||
return file_history_proto_rawDescGZIP(), []int{1}
|
||||
return file_version_updater_proto_history_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
func (x *UpdateRecord) GetTimeUnix() int64 {
|
||||
@@ -166,56 +166,58 @@ func (x *UpdateRecord) GetError() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
var File_history_proto protoreflect.FileDescriptor
|
||||
var File_version_updater_proto_history_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_history_proto_rawDesc = []byte{
|
||||
0x0a, 0x0d, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
|
||||
0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x72, 0x22, 0x40, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61,
|
||||
0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x2f, 0x0a, 0x07, 0x72, 0x65, 0x63,
|
||||
0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x75, 0x70, 0x64,
|
||||
0x61, 0x74, 0x65, 0x72, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72,
|
||||
0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x8c, 0x02, 0x0a, 0x0c, 0x55,
|
||||
0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1f, 0x0a, 0x08, 0x74,
|
||||
0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52,
|
||||
0x08, 0x74, 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x78, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07,
|
||||
0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52,
|
||||
0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0d, 0x6c,
|
||||
0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
|
||||
0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73,
|
||||
0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0f, 0x6e, 0x65, 0x77, 0x52, 0x65, 0x6c,
|
||||
0x65, 0x61, 0x73, 0x65, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48,
|
||||
0x03, 0x52, 0x0f, 0x6e, 0x65, 0x77, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x46, 0x6f, 0x75,
|
||||
0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x05,
|
||||
0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01,
|
||||
0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x78, 0x42, 0x0a, 0x0a,
|
||||
0x08, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6c, 0x61,
|
||||
0x74, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x12, 0x0a, 0x10, 0x5f,
|
||||
0x6e, 0x65, 0x77, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x42,
|
||||
0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x3a, 0x5a, 0x38, 0x67, 0x69, 0x74,
|
||||
0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x66, 0x65, 0x69, 0x6e, 0x2f, 0x6d,
|
||||
0x69, 0x65, 0x72, 0x75, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x76, 0x65, 0x72, 0x73,
|
||||
0x69, 0x6f, 0x6e, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x72, 0x2f, 0x75, 0x70, 0x64, 0x61,
|
||||
0x74, 0x65, 0x72, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
var file_version_updater_proto_history_proto_rawDesc = []byte{
|
||||
0x0a, 0x23, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
|
||||
0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x72, 0x22, 0x40,
|
||||
0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12,
|
||||
0x2f, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
|
||||
0x32, 0x15, 0x2e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x72, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
|
||||
0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73,
|
||||
0x22, 0x8c, 0x02, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72,
|
||||
0x64, 0x12, 0x1f, 0x0a, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x78, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x78, 0x88,
|
||||
0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01,
|
||||
0x01, 0x12, 0x29, 0x0a, 0x0d, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69,
|
||||
0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6c, 0x61, 0x74, 0x65,
|
||||
0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0f,
|
||||
0x6e, 0x65, 0x77, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x18,
|
||||
0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x0f, 0x6e, 0x65, 0x77, 0x52, 0x65, 0x6c, 0x65,
|
||||
0x61, 0x73, 0x65, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x65,
|
||||
0x72, 0x72, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x05, 0x65, 0x72,
|
||||
0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x55,
|
||||
0x6e, 0x69, 0x78, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42,
|
||||
0x10, 0x0a, 0x0e, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
|
||||
0x6e, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x77, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65,
|
||||
0x46, 0x6f, 0x75, 0x6e, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x42,
|
||||
0x3a, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e,
|
||||
0x66, 0x65, 0x69, 0x6e, 0x2f, 0x6d, 0x69, 0x65, 0x72, 0x75, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x6b,
|
||||
0x67, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
|
||||
0x72, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x72, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_history_proto_rawDescOnce sync.Once
|
||||
file_history_proto_rawDescData = file_history_proto_rawDesc
|
||||
file_version_updater_proto_history_proto_rawDescOnce sync.Once
|
||||
file_version_updater_proto_history_proto_rawDescData = file_version_updater_proto_history_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_history_proto_rawDescGZIP() []byte {
|
||||
file_history_proto_rawDescOnce.Do(func() {
|
||||
file_history_proto_rawDescData = protoimpl.X.CompressGZIP(file_history_proto_rawDescData)
|
||||
func file_version_updater_proto_history_proto_rawDescGZIP() []byte {
|
||||
file_version_updater_proto_history_proto_rawDescOnce.Do(func() {
|
||||
file_version_updater_proto_history_proto_rawDescData = protoimpl.X.CompressGZIP(file_version_updater_proto_history_proto_rawDescData)
|
||||
})
|
||||
return file_history_proto_rawDescData
|
||||
return file_version_updater_proto_history_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_history_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
|
||||
var file_history_proto_goTypes = []interface{}{
|
||||
var file_version_updater_proto_history_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
|
||||
var file_version_updater_proto_history_proto_goTypes = []interface{}{
|
||||
(*UpdateHistory)(nil), // 0: updater.UpdateHistory
|
||||
(*UpdateRecord)(nil), // 1: updater.UpdateRecord
|
||||
}
|
||||
var file_history_proto_depIdxs = []int32{
|
||||
var file_version_updater_proto_history_proto_depIdxs = []int32{
|
||||
1, // 0: updater.UpdateHistory.records:type_name -> updater.UpdateRecord
|
||||
1, // [1:1] is the sub-list for method output_type
|
||||
1, // [1:1] is the sub-list for method input_type
|
||||
@@ -224,13 +226,13 @@ var file_history_proto_depIdxs = []int32{
|
||||
0, // [0:1] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_history_proto_init() }
|
||||
func file_history_proto_init() {
|
||||
if File_history_proto != nil {
|
||||
func init() { file_version_updater_proto_history_proto_init() }
|
||||
func file_version_updater_proto_history_proto_init() {
|
||||
if File_version_updater_proto_history_proto != nil {
|
||||
return
|
||||
}
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_history_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
file_version_updater_proto_history_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*UpdateHistory); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -242,7 +244,7 @@ func file_history_proto_init() {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_history_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
file_version_updater_proto_history_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*UpdateRecord); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -255,23 +257,23 @@ func file_history_proto_init() {
|
||||
}
|
||||
}
|
||||
}
|
||||
file_history_proto_msgTypes[1].OneofWrappers = []interface{}{}
|
||||
file_version_updater_proto_history_proto_msgTypes[1].OneofWrappers = []interface{}{}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_history_proto_rawDesc,
|
||||
RawDescriptor: file_version_updater_proto_history_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 2,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
GoTypes: file_history_proto_goTypes,
|
||||
DependencyIndexes: file_history_proto_depIdxs,
|
||||
MessageInfos: file_history_proto_msgTypes,
|
||||
GoTypes: file_version_updater_proto_history_proto_goTypes,
|
||||
DependencyIndexes: file_version_updater_proto_history_proto_depIdxs,
|
||||
MessageInfos: file_version_updater_proto_history_proto_msgTypes,
|
||||
}.Build()
|
||||
File_history_proto = out.File
|
||||
file_history_proto_rawDesc = nil
|
||||
file_history_proto_goTypes = nil
|
||||
file_history_proto_depIdxs = nil
|
||||
File_version_updater_proto_history_proto = out.File
|
||||
file_version_updater_proto_history_proto_rawDesc = nil
|
||||
file_version_updater_proto_history_proto_goTypes = nil
|
||||
file_version_updater_proto_history_proto_depIdxs = nil
|
||||
}
|
||||
|
113
mihomo/.github/workflows/test.yml
vendored
Normal file
113
mihomo/.github/workflows/test.yml
vendored
Normal file
@@ -0,0 +1,113 @@
|
||||
name: Test
|
||||
on:
|
||||
push:
|
||||
paths-ignore:
|
||||
- "docs/**"
|
||||
- "README.md"
|
||||
- ".github/ISSUE_TEMPLATE/**"
|
||||
branches:
|
||||
- Alpha
|
||||
tags:
|
||||
- "v*"
|
||||
pull_request:
|
||||
branches:
|
||||
- Alpha
|
||||
|
||||
jobs:
|
||||
test:
|
||||
strategy:
|
||||
matrix:
|
||||
os:
|
||||
- 'ubuntu-latest' # amd64 linux
|
||||
- 'windows-latest' # amd64 windows
|
||||
- 'macos-latest' # arm64 macos
|
||||
- 'ubuntu-24.04-arm' # arm64 linux
|
||||
- 'macos-13' # amd64 macos
|
||||
go-version:
|
||||
- '1.24'
|
||||
- '1.23'
|
||||
- '1.22'
|
||||
- '1.21'
|
||||
- '1.20'
|
||||
fail-fast: false
|
||||
runs-on: ${{ matrix.os }}
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
env:
|
||||
CGO_ENABLED: 0
|
||||
GOTOOLCHAIN: local
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: ${{ matrix.go-version }}
|
||||
|
||||
# modify from https://github.com/restic/restic/issues/4636#issuecomment-1896455557
|
||||
# this patch file only works on golang1.24.x
|
||||
# that means after golang1.25 release it must be changed
|
||||
# see: https://github.com/MetaCubeX/go/commits/release-branch.go1.24/
|
||||
# revert:
|
||||
# 693def151adff1af707d82d28f55dba81ceb08e1: "crypto/rand,runtime: switch RtlGenRandom for ProcessPrng"
|
||||
# 7c1157f9544922e96945196b47b95664b1e39108: "net: remove sysSocket fallback for Windows 7"
|
||||
# 48042aa09c2f878c4faa576948b07fe625c4707a: "syscall: remove Windows 7 console handle workaround"
|
||||
# a17d959debdb04cd550016a3501dd09d50cd62e7: "runtime: always use LoadLibraryEx to load system libraries"
|
||||
- name: Revert Golang1.24 commit for Windows7/8
|
||||
if: ${{ runner.os == 'Windows' && matrix.go-version == '1.24' }}
|
||||
run: |
|
||||
cd $(go env GOROOT)
|
||||
curl https://github.com/MetaCubeX/go/commit/2a406dc9f1ea7323d6ca9fccb2fe9ddebb6b1cc8.diff | patch --verbose -p 1
|
||||
curl https://github.com/MetaCubeX/go/commit/7b1fd7d39c6be0185fbe1d929578ab372ac5c632.diff | patch --verbose -p 1
|
||||
curl https://github.com/MetaCubeX/go/commit/979d6d8bab3823ff572ace26767fd2ce3cf351ae.diff | patch --verbose -p 1
|
||||
curl https://github.com/MetaCubeX/go/commit/ac3e93c061779dfefc0dd13a5b6e6f764a25621e.diff | patch --verbose -p 1
|
||||
|
||||
# modify from https://github.com/restic/restic/issues/4636#issuecomment-1896455557
|
||||
# this patch file only works on golang1.23.x
|
||||
# that means after golang1.24 release it must be changed
|
||||
# see: https://github.com/MetaCubeX/go/commits/release-branch.go1.23/
|
||||
# revert:
|
||||
# 693def151adff1af707d82d28f55dba81ceb08e1: "crypto/rand,runtime: switch RtlGenRandom for ProcessPrng"
|
||||
# 7c1157f9544922e96945196b47b95664b1e39108: "net: remove sysSocket fallback for Windows 7"
|
||||
# 48042aa09c2f878c4faa576948b07fe625c4707a: "syscall: remove Windows 7 console handle workaround"
|
||||
# a17d959debdb04cd550016a3501dd09d50cd62e7: "runtime: always use LoadLibraryEx to load system libraries"
|
||||
- name: Revert Golang1.23 commit for Windows7/8
|
||||
if: ${{ runner.os == 'Windows' && matrix.go-version == '1.23' }}
|
||||
run: |
|
||||
cd $(go env GOROOT)
|
||||
curl https://github.com/MetaCubeX/go/commit/9ac42137ef6730e8b7daca016ece831297a1d75b.diff | patch --verbose -p 1
|
||||
curl https://github.com/MetaCubeX/go/commit/21290de8a4c91408de7c2b5b68757b1e90af49dd.diff | patch --verbose -p 1
|
||||
curl https://github.com/MetaCubeX/go/commit/6a31d3fa8e47ddabc10bd97bff10d9a85f4cfb76.diff | patch --verbose -p 1
|
||||
curl https://github.com/MetaCubeX/go/commit/69e2eed6dd0f6d815ebf15797761c13f31213dd6.diff | patch --verbose -p 1
|
||||
|
||||
# modify from https://github.com/restic/restic/issues/4636#issuecomment-1896455557
|
||||
# this patch file only works on golang1.22.x
|
||||
# that means after golang1.23 release it must be changed
|
||||
# see: https://github.com/MetaCubeX/go/commits/release-branch.go1.22/
|
||||
# revert:
|
||||
# 693def151adff1af707d82d28f55dba81ceb08e1: "crypto/rand,runtime: switch RtlGenRandom for ProcessPrng"
|
||||
# 7c1157f9544922e96945196b47b95664b1e39108: "net: remove sysSocket fallback for Windows 7"
|
||||
# 48042aa09c2f878c4faa576948b07fe625c4707a: "syscall: remove Windows 7 console handle workaround"
|
||||
# a17d959debdb04cd550016a3501dd09d50cd62e7: "runtime: always use LoadLibraryEx to load system libraries"
|
||||
- name: Revert Golang1.22 commit for Windows7/8
|
||||
if: ${{ runner.os == 'Windows' && matrix.go-version == '1.22' }}
|
||||
run: |
|
||||
cd $(go env GOROOT)
|
||||
curl https://github.com/MetaCubeX/go/commit/9779155f18b6556a034f7bb79fb7fb2aad1e26a9.diff | patch --verbose -p 1
|
||||
curl https://github.com/MetaCubeX/go/commit/ef0606261340e608017860b423ffae5c1ce78239.diff | patch --verbose -p 1
|
||||
curl https://github.com/MetaCubeX/go/commit/7f83badcb925a7e743188041cb6e561fc9b5b642.diff | patch --verbose -p 1
|
||||
curl https://github.com/MetaCubeX/go/commit/83ff9782e024cb328b690cbf0da4e7848a327f4f.diff | patch --verbose -p 1
|
||||
|
||||
# modify from https://github.com/restic/restic/issues/4636#issuecomment-1896455557
|
||||
- name: Revert Golang1.21 commit for Windows7/8
|
||||
if: ${{ runner.os == 'Windows' && matrix.go-version == '1.21' }}
|
||||
run: |
|
||||
cd $(go env GOROOT)
|
||||
curl https://github.com/golang/go/commit/9e43850a3298a9b8b1162ba0033d4c53f8637571.diff | patch --verbose -R -p 1
|
||||
|
||||
- name: Test
|
||||
run: go test ./... -v -count=1
|
||||
|
||||
- name: Test with tag with_gvisor
|
||||
run: go test ./... -v -count=1 -tags "with_gvisor"
|
@@ -22,9 +22,10 @@ func sleepAndSend[T any](ctx context.Context, delay int, input T) func() (T, err
|
||||
}
|
||||
|
||||
func TestPicker_Basic(t *testing.T) {
|
||||
t.Parallel()
|
||||
picker, ctx := WithContext[int](context.Background())
|
||||
picker.Go(sleepAndSend(ctx, 30, 2))
|
||||
picker.Go(sleepAndSend(ctx, 20, 1))
|
||||
picker.Go(sleepAndSend(ctx, 200, 2))
|
||||
picker.Go(sleepAndSend(ctx, 100, 1))
|
||||
|
||||
number := picker.Wait()
|
||||
assert.NotNil(t, number)
|
||||
@@ -32,8 +33,9 @@ func TestPicker_Basic(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestPicker_Timeout(t *testing.T) {
|
||||
t.Parallel()
|
||||
picker, ctx := WithTimeout[int](context.Background(), time.Millisecond*5)
|
||||
picker.Go(sleepAndSend(ctx, 20, 1))
|
||||
picker.Go(sleepAndSend(ctx, 100, 1))
|
||||
|
||||
number := picker.Wait()
|
||||
assert.Equal(t, number, lo.Empty[int]())
|
||||
|
4
shadowsocks-rust/Cargo.lock
generated
4
shadowsocks-rust/Cargo.lock
generated
@@ -2008,9 +2008,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.171"
|
||||
version = "0.2.172"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6"
|
||||
checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa"
|
||||
|
||||
[[package]]
|
||||
name = "libloading"
|
||||
|
@@ -394,6 +394,10 @@ pub enum ServerConfigError {
|
||||
/// Key length mismatch
|
||||
#[error("invalid key length for {0}, expecting {1} bytes, but found {2} bytes")]
|
||||
InvalidKeyLength(CipherKind, usize, usize),
|
||||
|
||||
/// User Key (ipsk) length mismatch
|
||||
#[error("invalid user key length for {0}, expecting {1} bytes, but found {2} bytes")]
|
||||
InvalidUserKeyLength(CipherKind, usize, usize),
|
||||
}
|
||||
|
||||
/// Configuration for a server
|
||||
@@ -538,6 +542,22 @@ where
|
||||
for ipsk in split_iter {
|
||||
match USER_KEY_BASE64_ENGINE.decode(ipsk) {
|
||||
Ok(v) => {
|
||||
// Double check identity key's length
|
||||
match method {
|
||||
CipherKind::AEAD2022_BLAKE3_AES_128_GCM => {
|
||||
// AES-128
|
||||
if v.len() != 16 {
|
||||
return Err(ServerConfigError::InvalidUserKeyLength(method, 16, v.len()));
|
||||
}
|
||||
}
|
||||
CipherKind::AEAD2022_BLAKE3_AES_256_GCM => {
|
||||
// AES-256
|
||||
if v.len() != 32 {
|
||||
return Err(ServerConfigError::InvalidUserKeyLength(method, 32, v.len()));
|
||||
}
|
||||
}
|
||||
_ => unreachable!("{} doesn't support EIH", method),
|
||||
}
|
||||
identity_keys.push(Bytes::from(v));
|
||||
}
|
||||
Err(err) => {
|
||||
|
@@ -160,6 +160,7 @@ if is_finded("dnsproxy") then
|
||||
|
||||
o = s:option(Value, "dnsproxy_shunt_forward", translate("Anti-pollution DNS Server"))
|
||||
o:value("sdns://AgUAAAAAAAAABzguOC40LjQgsKKKE4EwvtIbNjGjagI2607EdKSVHowYZtyvD9iPrkkHOC44LjQuNAovZG5zLXF1ZXJ5", translate("Google DNSCrypt SDNS"))
|
||||
o:value("sdns://AgcAAAAAAAAAACC2vD25TAYM7EnyCH8Xw1-0g5OccnTsGH9vQUUH0njRtAxkbnMudHduaWMudHcKL2Rucy1xdWVyeQ", translate("TWNIC-101 DNSCrypt SDNS"))
|
||||
o:value("sdns://AgcAAAAAAAAADzE4NS4yMjIuMjIyLjIyMiAOp5Svj-oV-Fz-65-8H2VKHLKJ0egmfEgrdPeAQlUFFA8xODUuMjIyLjIyMi4yMjIKL2Rucy1xdWVyeQ", translate("dns.sb DNSCrypt SDNS"))
|
||||
o:value("sdns://AgMAAAAAAAAADTE0OS4xMTIuMTEyLjkgsBkgdEu7dsmrBT4B4Ht-BQ5HPSD3n3vqQ1-v5DydJC8SZG5zOS5xdWFkOS5uZXQ6NDQzCi9kbnMtcXVlcnk", translate("Quad9 DNSCrypt SDNS"))
|
||||
o:value("sdns://AQMAAAAAAAAAETk0LjE0MC4xNC4xNDo1NDQzINErR_JS3PLCu_iZEIbq95zkSV2LFsigxDIuUso_OQhzIjIuZG5zY3J5cHQuZGVmYXVsdC5uczEuYWRndWFyZC5jb20", translate("AdGuard DNSCrypt SDNS"))
|
||||
|
@@ -180,6 +180,7 @@ if is_finded("dnsproxy") then
|
||||
|
||||
o = s:option(Value, "dnsproxy_tunnel_forward", translate("Anti-pollution DNS Server"))
|
||||
o:value("sdns://AgUAAAAAAAAABzguOC40LjQgsKKKE4EwvtIbNjGjagI2607EdKSVHowYZtyvD9iPrkkHOC44LjQuNAovZG5zLXF1ZXJ5", translate("Google DNSCrypt SDNS"))
|
||||
o:value("sdns://AgcAAAAAAAAAACC2vD25TAYM7EnyCH8Xw1-0g5OccnTsGH9vQUUH0njRtAxkbnMudHduaWMudHcKL2Rucy1xdWVyeQ", translate("TWNIC-101 DNSCrypt SDNS"))
|
||||
o:value("sdns://AgcAAAAAAAAADzE4NS4yMjIuMjIyLjIyMiAOp5Svj-oV-Fz-65-8H2VKHLKJ0egmfEgrdPeAQlUFFA8xODUuMjIyLjIyMi4yMjIKL2Rucy1xdWVyeQ", translate("dns.sb DNSCrypt SDNS"))
|
||||
o:value("sdns://AgMAAAAAAAAADTE0OS4xMTIuMTEyLjkgsBkgdEu7dsmrBT4B4Ht-BQ5HPSD3n3vqQ1-v5DydJC8SZG5zOS5xdWFkOS5uZXQ6NDQzCi9kbnMtcXVlcnk", translate("Quad9 DNSCrypt SDNS"))
|
||||
o:value("sdns://AQMAAAAAAAAAETk0LjE0MC4xNC4xNDo1NDQzINErR_JS3PLCu_iZEIbq95zkSV2LFsigxDIuUso_OQhzIjIuZG5zY3J5cHQuZGVmYXVsdC5uczEuYWRndWFyZC5jb20", translate("AdGuard DNSCrypt SDNS"))
|
||||
|
@@ -6,7 +6,12 @@ sdns://AgUAAAAAAAAABzguOC40LjQgsKKKE4EwvtIbNjGjagI2607EdKSVHowYZtyvD9iPrkkHOC44L
|
||||
sdns://AgcAAAAAAAAADzE4NS4yMjIuMjIyLjIyMiAOp5Svj-oV-Fz-65-8H2VKHLKJ0egmfEgrdPeAQlUFFA8xODUuMjIyLjIyMi4yMjIKL2Rucy1xdWVyeQ
|
||||
# Quad9
|
||||
sdns://AgMAAAAAAAAADTE0OS4xMTIuMTEyLjkgsBkgdEu7dsmrBT4B4Ht-BQ5HPSD3n3vqQ1-v5DydJC8SZG5zOS5xdWFkOS5uZXQ6NDQzCi9kbnMtcXVlcnk
|
||||
sdns://AQMAAAAAAAAADDkuOS45Ljk6ODQ0MyBnyEe4yHWM0SAkVUO-dWdG3zTfHYTAC4xHA2jfgh2GPhkyLmRuc2NyeXB0LWNlcnQucXVhZDkubmV0
|
||||
# AdGuard
|
||||
sdns://AQMAAAAAAAAAETk0LjE0MC4xNC4xNDo1NDQzINErR_JS3PLCu_iZEIbq95zkSV2LFsigxDIuUso_OQhzIjIuZG5zY3J5cHQuZGVmYXVsdC5uczEuYWRndWFyZC5jb20
|
||||
# Cloudflare
|
||||
sdns://AgcAAAAAAAAABzEuMC4wLjGgENk8mGSlIfMGXMOlIlCcKvq7AVgcrZxtjon911-ep0cg63Ul-I8NlFj4GplQGb_TTLiczclX57DvMV8Q-JdjgRgSZG5zLmNsb3VkZmxhcmUuY29tCi9kbnMtcXVlcnk
|
||||
# TWNIC-101
|
||||
sdns://AgcAAAAAAAAAACC2vD25TAYM7EnyCH8Xw1-0g5OccnTsGH9vQUUH0njRtAxkbnMudHduaWMudHcKL2Rucy1xdWVyeQ
|
||||
# cs-tx
|
||||
sdns://AQYAAAAAAAAADTIwOS41OC4xNDcuMzYgMTNyrVlWMsJBa4cvCY-FG925ZShMbL6aTxkJZDDbqVoeMi5kbnNjcnlwdC1jZXJ0LmNyeXB0b3N0b3JtLmlz
|
||||
|
@@ -40,25 +40,39 @@ fi
|
||||
## config
|
||||
\`\`\`json
|
||||
`
|
||||
ubus call uci get '{"config": "nikki"}' | yq -M -P -p json -o json '
|
||||
.values | to_entries | group_by(.value[".type"]) | map({"key": .[0].value[".type"], "value": [.[].value]}) | from_entries |
|
||||
. |= (
|
||||
del(.status) |
|
||||
del(.editor) |
|
||||
del(.log)
|
||||
) |
|
||||
.*[] |= (
|
||||
del(.[".type"]) |
|
||||
del(.[".name"]) |
|
||||
del(.[".index"]) |
|
||||
del(.[".anonymous"])
|
||||
) |
|
||||
.subscription[] |= .url = "*" |
|
||||
.lan_access_control[] |= (
|
||||
select(has("ip")) |= .ip[] |= "*" |
|
||||
select(has("ip6")) |= .ip6[] |= "*" |
|
||||
select(has("mac")) |= .mac[] |= "*"
|
||||
)
|
||||
ucode -S -e '
|
||||
import { connect } from "ubus";
|
||||
const ubus = connect();
|
||||
const config = ubus.call("uci", "get", { "config": "nikki" });
|
||||
const result = {};
|
||||
for (let section_id in config.values) {
|
||||
const section = config.values[section_id];
|
||||
const section_type = section[".type"];
|
||||
if (result[section_type] == null) {
|
||||
result[section_type] = [];
|
||||
}
|
||||
push(result[section_type], section);
|
||||
}
|
||||
for (let section_type in result) {
|
||||
for (let section in result[section_type]) {
|
||||
delete section[".anonymous"];
|
||||
delete section[".type"];
|
||||
delete section[".name"];
|
||||
delete section[".index"];
|
||||
}
|
||||
}
|
||||
for (let x in result["subscription"]) {
|
||||
x["url"] = "*";
|
||||
}
|
||||
for (let x in result["lan_access_control"]) {
|
||||
x["ip"] = "*";
|
||||
x["ip6"] = "*";
|
||||
x["mac"] = "*";
|
||||
}
|
||||
delete result["status"];
|
||||
delete result["editor"];
|
||||
delete result["log"];
|
||||
print(result);
|
||||
'
|
||||
`
|
||||
\`\`\`
|
||||
|
@@ -18,7 +18,7 @@ require (
|
||||
github.com/gorilla/websocket v1.5.3
|
||||
github.com/improbable-eng/grpc-web v0.15.0
|
||||
github.com/jhump/protoreflect v1.17.0
|
||||
github.com/miekg/dns v1.1.64
|
||||
github.com/miekg/dns v1.1.65
|
||||
github.com/mustafaturan/bus v1.0.2
|
||||
github.com/pelletier/go-toml v1.9.5
|
||||
github.com/pion/dtls/v2 v2.2.12
|
||||
@@ -37,12 +37,12 @@ require (
|
||||
github.com/xiaokangwang/VLite v0.0.0-20220418190619-cff95160a432
|
||||
go.starlark.net v0.0.0-20230612165344-9532f5667272
|
||||
go4.org/netipx v0.0.0-20230303233057-f1b76eb4bb35
|
||||
golang.org/x/crypto v0.36.0
|
||||
golang.org/x/net v0.38.0
|
||||
golang.org/x/sync v0.12.0
|
||||
golang.org/x/sys v0.31.0
|
||||
golang.org/x/crypto v0.37.0
|
||||
golang.org/x/net v0.39.0
|
||||
golang.org/x/sync v0.13.0
|
||||
golang.org/x/sys v0.32.0
|
||||
google.golang.org/grpc v1.71.1
|
||||
google.golang.org/protobuf v1.36.5
|
||||
google.golang.org/protobuf v1.36.6
|
||||
gopkg.in/yaml.v3 v3.0.1
|
||||
gvisor.dev/gvisor v0.0.0-20231020174304-b8a429915ff1
|
||||
h12.io/socks v1.0.3
|
||||
@@ -89,7 +89,7 @@ require (
|
||||
go.uber.org/mock v0.5.0 // indirect
|
||||
golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect
|
||||
golang.org/x/mod v0.23.0 // indirect
|
||||
golang.org/x/text v0.23.0 // indirect
|
||||
golang.org/x/text v0.24.0 // indirect
|
||||
golang.org/x/time v0.5.0 // indirect
|
||||
golang.org/x/tools v0.30.0 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect
|
||||
|
@@ -319,8 +319,8 @@ github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Ky
|
||||
github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
|
||||
github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
|
||||
github.com/miekg/dns v1.1.64 h1:wuZgD9wwCE6XMT05UU/mlSko71eRSXEAm2EbjQXLKnQ=
|
||||
github.com/miekg/dns v1.1.64/go.mod h1:Dzw9769uoKVaLuODMDZz9M6ynFU6Em65csPuoi8G0ck=
|
||||
github.com/miekg/dns v1.1.65 h1:0+tIPHzUW0GCge7IiK3guGP57VAw7hoPDfApjkMD1Fc=
|
||||
github.com/miekg/dns v1.1.65/go.mod h1:Dzw9769uoKVaLuODMDZz9M6ynFU6Em65csPuoi8G0ck=
|
||||
github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc=
|
||||
github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
|
||||
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
|
||||
@@ -592,8 +592,8 @@ golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm
|
||||
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw=
|
||||
golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg=
|
||||
golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34=
|
||||
golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc=
|
||||
golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE=
|
||||
golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc=
|
||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
|
||||
@@ -655,8 +655,8 @@ golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
|
||||
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
|
||||
golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI=
|
||||
golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY=
|
||||
golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8=
|
||||
golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
|
||||
golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY=
|
||||
golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E=
|
||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||
@@ -670,8 +670,8 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ
|
||||
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw=
|
||||
golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
|
||||
golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
|
||||
golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
|
||||
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
@@ -719,8 +719,8 @@ golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik=
|
||||
golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
|
||||
golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
|
||||
golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||
golang.org/x/term v0.0.0-20220526004731-065cf7ba2467/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||
@@ -740,8 +740,8 @@ golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
|
||||
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
|
||||
golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
|
||||
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
||||
golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY=
|
||||
golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4=
|
||||
golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
|
||||
golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
|
||||
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
@@ -835,8 +835,8 @@ google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2
|
||||
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
|
||||
google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=
|
||||
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
|
||||
google.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM=
|
||||
google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
|
||||
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
|
||||
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
|
||||
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
|
@@ -1,7 +1,7 @@
|
||||
<Project>
|
||||
|
||||
<PropertyGroup>
|
||||
<Version>7.11.1</Version>
|
||||
<Version>7.11.2</Version>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
|
@@ -26,6 +26,7 @@
|
||||
Margin="{StaticResource MarginLeftRight8}"
|
||||
materialDesign:HintAssist.Hint="{x:Static resx:ResUI.MsgFilterTitle}"
|
||||
materialDesign:TextFieldAssist.HasClearButton="True"
|
||||
AutomationProperties.Name="{x:Static resx:ResUI.MsgFilterTitle}"
|
||||
IsEditable="True"
|
||||
Style="{StaticResource DefComboBox}" />
|
||||
<Button
|
||||
@@ -33,6 +34,7 @@
|
||||
Width="24"
|
||||
Height="24"
|
||||
Margin="{StaticResource MarginLeftRight8}"
|
||||
AutomationProperties.Name="{x:Static resx:ResUI.menuMsgViewCopyAll}"
|
||||
Style="{StaticResource MaterialDesignFloatingActionMiniLightButton}"
|
||||
ToolTip="{x:Static resx:ResUI.menuMsgViewCopyAll}">
|
||||
<materialDesign:PackIcon VerticalAlignment="Center" Kind="ContentCopy" />
|
||||
@@ -42,6 +44,7 @@
|
||||
Width="24"
|
||||
Height="24"
|
||||
Margin="{StaticResource MarginLeftRight8}"
|
||||
AutomationProperties.Name="{x:Static resx:ResUI.menuMsgViewClear}"
|
||||
Style="{StaticResource MaterialDesignFloatingActionMiniLightButton}"
|
||||
ToolTip="{x:Static resx:ResUI.menuMsgViewClear}">
|
||||
<materialDesign:PackIcon VerticalAlignment="Center" Kind="Delete" />
|
||||
@@ -55,6 +58,7 @@
|
||||
x:Name="togAutoRefresh"
|
||||
Margin="{StaticResource MarginLeftRight8}"
|
||||
HorizontalAlignment="Left"
|
||||
AutomationProperties.Name="{x:Static resx:ResUI.TbAutoRefresh}"
|
||||
IsChecked="True" />
|
||||
<TextBlock
|
||||
Margin="{StaticResource MarginLeftRight8}"
|
||||
@@ -65,6 +69,7 @@
|
||||
x:Name="togScrollToEnd"
|
||||
Margin="{StaticResource MarginLeftRight8}"
|
||||
HorizontalAlignment="Left"
|
||||
AutomationProperties.Name="{x:Static resx:ResUI.TbAutoScrollToEnd}"
|
||||
IsChecked="True" />
|
||||
</WrapPanel>
|
||||
<TextBox
|
||||
|
@@ -224,7 +224,9 @@ object AppConfig {
|
||||
)
|
||||
|
||||
val PRIVATE_IP_LIST = arrayListOf(
|
||||
"0.0.0.0/8",
|
||||
"10.0.0.0/8",
|
||||
"127.0.0.0/8",
|
||||
"172.16.0.0/12",
|
||||
"192.168.0.0/16",
|
||||
"169.254.0.0/16",
|
||||
|
@@ -303,7 +303,7 @@
|
||||
<string name="connection_test_pending">منپیزن واجۊری کوݩ</string>
|
||||
<string name="connection_test_testing">هونی آزمایش ابۊ…</string>
|
||||
<string name="connection_test_testing_count">%d کانفیگ هونی آزمایش ابۊ...</string>
|
||||
<string name="connection_test_available">مووفق بی: منپیز HTTP %dms تۊل کشی</string>
|
||||
<string name="connection_test_available">مووفق بی: منپیز %dms تۊل کشی</string>
|
||||
<string name="connection_test_error">منپیز و اینترنتن نجوست: %s</string>
|
||||
<string name="connection_test_fail">اینترنت من دسرس نؽ</string>
|
||||
<string name="connection_test_error_status_code">کود ختا: #%d</string>
|
||||
@@ -322,7 +322,7 @@
|
||||
<string name="update_already_latest_version">سکو نوسخه دیندایی پۊرنیڌه هڌ</string>
|
||||
<string name="update_new_version_found">نوسخه نۊ ن جوست: %s</string>
|
||||
<string name="update_now">سکو ورۊ رسۊوی کۊنین</string>
|
||||
<string name="update_check_pre_release">نوسخیل پؽش ز تیجنیڌنن واجۊری کۊنین</string>
|
||||
<string name="update_check_pre_release">واجۊری نوسخه یل پؽش ز تیجنیڌن</string>
|
||||
|
||||
<string-array name="share_method">
|
||||
<item>QRcode</item>
|
||||
|
@@ -300,7 +300,7 @@
|
||||
<string name="connection_test_pending">اتصال را بررسی کنید</string>
|
||||
<string name="connection_test_testing">در حال آزمایش...</string>
|
||||
<string name="connection_test_testing_count">تست کردن %d کانفیگ…</string>
|
||||
<string name="connection_test_available">موفقیت: اتصال HTTP %dms طول کشید</string>
|
||||
<string name="connection_test_available">موفقیت: اتصال %dms طول کشید</string>
|
||||
<string name="connection_test_error">اتصال به اینترنت شناسایی نشد: %s</string>
|
||||
<string name="connection_test_fail">اینترنت در دسترس نیست</string>
|
||||
<string name="connection_test_error_status_code">کد خطا: #%d</string>
|
||||
|
@@ -1,9 +1,9 @@
|
||||
[versions]
|
||||
agp = "8.9.1"
|
||||
desugar_jdk_libs = "2.1.5"
|
||||
desugarJdkLibs = "2.1.5"
|
||||
gradleLicensePlugin = "0.9.8"
|
||||
kotlin = "2.1.20"
|
||||
coreKtx = "1.15.0"
|
||||
coreKtx = "1.16.0"
|
||||
junit = "4.13.2"
|
||||
junitVersion = "1.2.1"
|
||||
espressoCore = "3.6.1"
|
||||
@@ -14,8 +14,8 @@ constraintlayout = "2.2.1"
|
||||
mmkvStatic = "1.3.12"
|
||||
gson = "2.12.1"
|
||||
quickieFoss = "1.14.0"
|
||||
kotlinx-coroutines-android = "1.10.1"
|
||||
kotlinx-coroutines-core = "1.10.1"
|
||||
kotlinxCoroutinesAndroid = "1.10.1"
|
||||
kotlinxCoroutinesCore = "1.10.1"
|
||||
swiperefreshlayout = "1.1.0"
|
||||
toasty = "1.5.2"
|
||||
editorkit = "2.9.0"
|
||||
@@ -30,7 +30,7 @@ recyclerview = "1.4.0"
|
||||
[libraries]
|
||||
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
|
||||
androidx-swiperefreshlayout = { module = "androidx.swiperefreshlayout:swiperefreshlayout", version.ref = "swiperefreshlayout" }
|
||||
desugar_jdk_libs = { module = "com.android.tools:desugar_jdk_libs", version.ref = "desugar_jdk_libs" }
|
||||
desugar-jdk-libs = { module = "com.android.tools:desugar_jdk_libs", version.ref = "desugarJdkLibs" }
|
||||
gradle-license-plugin = { module = "com.jaredsburrows:gradle-license-plugin", version.ref = "gradleLicensePlugin" }
|
||||
junit = { group = "junit", name = "junit", version.ref = "junit" }
|
||||
androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" }
|
||||
@@ -42,8 +42,8 @@ androidx-constraintlayout = { group = "androidx.constraintlayout", name = "const
|
||||
mmkv-static = { module = "com.tencent:mmkv-static", version.ref = "mmkvStatic" }
|
||||
gson = { module = "com.google.code.gson:gson", version.ref = "gson" }
|
||||
quickie-foss = { module = "com.github.T8RIN.QuickieExtended:quickie-foss", version.ref = "quickieFoss" }
|
||||
kotlinx-coroutines-android = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version = "kotlinx-coroutines-android" }
|
||||
kotlinx-coroutines-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version = "kotlinx-coroutines-core" }
|
||||
kotlinx-coroutines-android = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "kotlinxCoroutinesAndroid" }
|
||||
kotlinx-coroutines-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version.ref = "kotlinxCoroutinesCore" }
|
||||
toasty = { module = "com.github.GrenderG:Toasty", version.ref = "toasty" }
|
||||
editorkit = { module = "com.blacksquircle.ui:editorkit", version.ref = "editorkit" }
|
||||
language-base = { module = "com.blacksquircle.ui:language-base", version.ref = "editorkit" }
|
||||
|
Reference in New Issue
Block a user