mirror of
https://github.com/EasyTier/EasyTier.git
synced 2025-09-26 20:51:17 +08:00
releases/v2.4.0 (#1145)
Some checks failed
EasyTier Core / pre_job (push) Has been cancelled
EasyTier Core / build_web (push) Has been cancelled
EasyTier Core / build (freebsd-13.2-x86_64, 13.2, ubuntu-22.04, x86_64-unknown-freebsd) (push) Has been cancelled
EasyTier Core / build (linux-aarch64, ubuntu-22.04, aarch64-unknown-linux-musl) (push) Has been cancelled
EasyTier Core / build (linux-arm, ubuntu-22.04, arm-unknown-linux-musleabi) (push) Has been cancelled
EasyTier Core / build (linux-armhf, ubuntu-22.04, arm-unknown-linux-musleabihf) (push) Has been cancelled
EasyTier Core / build (linux-armv7, ubuntu-22.04, armv7-unknown-linux-musleabi) (push) Has been cancelled
EasyTier Core / build (linux-armv7hf, ubuntu-22.04, armv7-unknown-linux-musleabihf) (push) Has been cancelled
EasyTier Core / build (linux-mips, ubuntu-22.04, mips-unknown-linux-musl) (push) Has been cancelled
EasyTier Core / build (linux-mipsel, ubuntu-22.04, mipsel-unknown-linux-musl) (push) Has been cancelled
EasyTier Core / build (linux-x86_64, ubuntu-22.04, x86_64-unknown-linux-musl) (push) Has been cancelled
EasyTier Core / build (macos-aarch64, macos-latest, aarch64-apple-darwin) (push) Has been cancelled
EasyTier Core / build (macos-x86_64, macos-latest, x86_64-apple-darwin) (push) Has been cancelled
EasyTier Core / build (windows-arm64, windows-latest, aarch64-pc-windows-msvc) (push) Has been cancelled
EasyTier Core / build (windows-i686, windows-latest, i686-pc-windows-msvc) (push) Has been cancelled
EasyTier Core / build (windows-x86_64, windows-latest, x86_64-pc-windows-msvc) (push) Has been cancelled
EasyTier Core / core-result (push) Has been cancelled
EasyTier Core / magisk_build (push) Has been cancelled
EasyTier GUI / pre_job (push) Has been cancelled
EasyTier GUI / build-gui (linux-aarch64, aarch64-unknown-linux-gnu, ubuntu-22.04, aarch64-unknown-linux-musl) (push) Has been cancelled
EasyTier GUI / build-gui (linux-x86_64, x86_64-unknown-linux-gnu, ubuntu-22.04, x86_64-unknown-linux-musl) (push) Has been cancelled
EasyTier GUI / build-gui (macos-aarch64, aarch64-apple-darwin, macos-latest, aarch64-apple-darwin) (push) Has been cancelled
EasyTier GUI / build-gui (macos-x86_64, x86_64-apple-darwin, macos-latest, x86_64-apple-darwin) (push) Has been cancelled
EasyTier GUI / build-gui (windows-arm64, aarch64-pc-windows-msvc, windows-latest, aarch64-pc-windows-msvc) (push) Has been cancelled
EasyTier GUI / build-gui (windows-i686, i686-pc-windows-msvc, windows-latest, i686-pc-windows-msvc) (push) Has been cancelled
EasyTier GUI / build-gui (windows-x86_64, x86_64-pc-windows-msvc, windows-latest, x86_64-pc-windows-msvc) (push) Has been cancelled
EasyTier GUI / gui-result (push) Has been cancelled
EasyTier Mobile / pre_job (push) Has been cancelled
EasyTier Mobile / build-mobile (android, ubuntu-22.04, android) (push) Has been cancelled
EasyTier Mobile / mobile-result (push) Has been cancelled
EasyTier OHOS / pre_job (push) Has been cancelled
EasyTier OHOS / build-ohos (push) Has been cancelled
EasyTier Test / pre_job (push) Has been cancelled
EasyTier Test / test (push) Has been cancelled
Some checks failed
EasyTier Core / pre_job (push) Has been cancelled
EasyTier Core / build_web (push) Has been cancelled
EasyTier Core / build (freebsd-13.2-x86_64, 13.2, ubuntu-22.04, x86_64-unknown-freebsd) (push) Has been cancelled
EasyTier Core / build (linux-aarch64, ubuntu-22.04, aarch64-unknown-linux-musl) (push) Has been cancelled
EasyTier Core / build (linux-arm, ubuntu-22.04, arm-unknown-linux-musleabi) (push) Has been cancelled
EasyTier Core / build (linux-armhf, ubuntu-22.04, arm-unknown-linux-musleabihf) (push) Has been cancelled
EasyTier Core / build (linux-armv7, ubuntu-22.04, armv7-unknown-linux-musleabi) (push) Has been cancelled
EasyTier Core / build (linux-armv7hf, ubuntu-22.04, armv7-unknown-linux-musleabihf) (push) Has been cancelled
EasyTier Core / build (linux-mips, ubuntu-22.04, mips-unknown-linux-musl) (push) Has been cancelled
EasyTier Core / build (linux-mipsel, ubuntu-22.04, mipsel-unknown-linux-musl) (push) Has been cancelled
EasyTier Core / build (linux-x86_64, ubuntu-22.04, x86_64-unknown-linux-musl) (push) Has been cancelled
EasyTier Core / build (macos-aarch64, macos-latest, aarch64-apple-darwin) (push) Has been cancelled
EasyTier Core / build (macos-x86_64, macos-latest, x86_64-apple-darwin) (push) Has been cancelled
EasyTier Core / build (windows-arm64, windows-latest, aarch64-pc-windows-msvc) (push) Has been cancelled
EasyTier Core / build (windows-i686, windows-latest, i686-pc-windows-msvc) (push) Has been cancelled
EasyTier Core / build (windows-x86_64, windows-latest, x86_64-pc-windows-msvc) (push) Has been cancelled
EasyTier Core / core-result (push) Has been cancelled
EasyTier Core / magisk_build (push) Has been cancelled
EasyTier GUI / pre_job (push) Has been cancelled
EasyTier GUI / build-gui (linux-aarch64, aarch64-unknown-linux-gnu, ubuntu-22.04, aarch64-unknown-linux-musl) (push) Has been cancelled
EasyTier GUI / build-gui (linux-x86_64, x86_64-unknown-linux-gnu, ubuntu-22.04, x86_64-unknown-linux-musl) (push) Has been cancelled
EasyTier GUI / build-gui (macos-aarch64, aarch64-apple-darwin, macos-latest, aarch64-apple-darwin) (push) Has been cancelled
EasyTier GUI / build-gui (macos-x86_64, x86_64-apple-darwin, macos-latest, x86_64-apple-darwin) (push) Has been cancelled
EasyTier GUI / build-gui (windows-arm64, aarch64-pc-windows-msvc, windows-latest, aarch64-pc-windows-msvc) (push) Has been cancelled
EasyTier GUI / build-gui (windows-i686, i686-pc-windows-msvc, windows-latest, i686-pc-windows-msvc) (push) Has been cancelled
EasyTier GUI / build-gui (windows-x86_64, x86_64-pc-windows-msvc, windows-latest, x86_64-pc-windows-msvc) (push) Has been cancelled
EasyTier GUI / gui-result (push) Has been cancelled
EasyTier Mobile / pre_job (push) Has been cancelled
EasyTier Mobile / build-mobile (android, ubuntu-22.04, android) (push) Has been cancelled
EasyTier Mobile / mobile-result (push) Has been cancelled
EasyTier OHOS / pre_job (push) Has been cancelled
EasyTier OHOS / build-ohos (push) Has been cancelled
EasyTier Test / pre_job (push) Has been cancelled
EasyTier Test / test (push) Has been cancelled
* bump version to v2.4.0 * update tauri. * allow try direct connect to public server
This commit is contained in:
2
.github/workflows/docker.yml
vendored
2
.github/workflows/docker.yml
vendored
@@ -11,7 +11,7 @@ on:
|
|||||||
image_tag:
|
image_tag:
|
||||||
description: 'Tag for this image build'
|
description: 'Tag for this image build'
|
||||||
type: string
|
type: string
|
||||||
default: 'v2.3.2'
|
default: 'v2.4.0'
|
||||||
required: true
|
required: true
|
||||||
mark_latest:
|
mark_latest:
|
||||||
description: 'Mark this image as latest'
|
description: 'Mark this image as latest'
|
||||||
|
2
.github/workflows/release.yml
vendored
2
.github/workflows/release.yml
vendored
@@ -21,7 +21,7 @@ on:
|
|||||||
version:
|
version:
|
||||||
description: 'Version for this release'
|
description: 'Version for this release'
|
||||||
type: string
|
type: string
|
||||||
default: 'v2.3.2'
|
default: 'v2.4.0'
|
||||||
required: true
|
required: true
|
||||||
make_latest:
|
make_latest:
|
||||||
description: 'Mark this release as latest'
|
description: 'Mark this release as latest'
|
||||||
|
1207
Cargo.lock
generated
1207
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -105,9 +105,9 @@ After successful execution, you can check the network status using `easytier-cli
|
|||||||
```text
|
```text
|
||||||
| ipv4 | hostname | cost | lat_ms | loss_rate | rx_bytes | tx_bytes | tunnel_proto | nat_type | id | version |
|
| ipv4 | hostname | cost | lat_ms | loss_rate | rx_bytes | tx_bytes | tunnel_proto | nat_type | id | version |
|
||||||
| ------------ | -------------- | ----- | ------ | --------- | -------- | -------- | ------------ | -------- | ---------- | --------------- |
|
| ------------ | -------------- | ----- | ------ | --------- | -------- | -------- | ------------ | -------- | ---------- | --------------- |
|
||||||
| 10.126.126.1 | abc-1 | Local | * | * | * | * | udp | FullCone | 439804259 | 2.3.2-70e69a38~ |
|
| 10.126.126.1 | abc-1 | Local | * | * | * | * | udp | FullCone | 439804259 | 2.4.0-70e69a38~ |
|
||||||
| 10.126.126.2 | abc-2 | p2p | 3.452 | 0 | 17.33 kB | 20.42 kB | udp | FullCone | 390879727 | 2.3.2-70e69a38~ |
|
| 10.126.126.2 | abc-2 | p2p | 3.452 | 0 | 17.33 kB | 20.42 kB | udp | FullCone | 390879727 | 2.4.0-70e69a38~ |
|
||||||
| | PublicServer_a | p2p | 27.796 | 0.000 | 50.01 kB | 67.46 kB | tcp | Unknown | 3771642457 | 2.3.2-70e69a38~ |
|
| | PublicServer_a | p2p | 27.796 | 0.000 | 50.01 kB | 67.46 kB | tcp | Unknown | 3771642457 | 2.4.0-70e69a38~ |
|
||||||
```
|
```
|
||||||
|
|
||||||
You can test connectivity between nodes:
|
You can test connectivity between nodes:
|
||||||
|
@@ -106,9 +106,9 @@ sudo easytier-core -d --network-name abc --network-secret abc -p tcp://public.ea
|
|||||||
```text
|
```text
|
||||||
| ipv4 | hostname | cost | lat_ms | loss_rate | rx_bytes | tx_bytes | tunnel_proto | nat_type | id | version |
|
| ipv4 | hostname | cost | lat_ms | loss_rate | rx_bytes | tx_bytes | tunnel_proto | nat_type | id | version |
|
||||||
| ------------ | -------------- | ----- | ------ | --------- | -------- | -------- | ------------ | -------- | ---------- | --------------- |
|
| ------------ | -------------- | ----- | ------ | --------- | -------- | -------- | ------------ | -------- | ---------- | --------------- |
|
||||||
| 10.126.126.1 | abc-1 | Local | * | * | * | * | udp | FullCone | 439804259 | 2.3.2-70e69a38~ |
|
| 10.126.126.1 | abc-1 | Local | * | * | * | * | udp | FullCone | 439804259 | 2.4.0-70e69a38~ |
|
||||||
| 10.126.126.2 | abc-2 | p2p | 3.452 | 0 | 17.33 kB | 20.42 kB | udp | FullCone | 390879727 | 2.3.2-70e69a38~ |
|
| 10.126.126.2 | abc-2 | p2p | 3.452 | 0 | 17.33 kB | 20.42 kB | udp | FullCone | 390879727 | 2.4.0-70e69a38~ |
|
||||||
| | PublicServer_a | p2p | 27.796 | 0.000 | 50.01 kB | 67.46 kB | tcp | Unknown | 3771642457 | 2.3.2-70e69a38~ |
|
| | PublicServer_a | p2p | 27.796 | 0.000 | 50.01 kB | 67.46 kB | tcp | Unknown | 3771642457 | 2.4.0-70e69a38~ |
|
||||||
```
|
```
|
||||||
|
|
||||||
您可以测试节点之间的连通性:
|
您可以测试节点之间的连通性:
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
id=easytier_magisk
|
id=easytier_magisk
|
||||||
name=EasyTier_Magisk
|
name=EasyTier_Magisk
|
||||||
version=v2.3.2
|
version=v2.4.0
|
||||||
versionCode=1
|
versionCode=1
|
||||||
author=EasyTier
|
author=EasyTier
|
||||||
description=easytier magisk module @EasyTier(https://github.com/EasyTier/EasyTier)
|
description=easytier magisk module @EasyTier(https://github.com/EasyTier/EasyTier)
|
||||||
|
2
easytier-contrib/easytier-ohrs/Cargo.lock
generated
2
easytier-contrib/easytier-ohrs/Cargo.lock
generated
@@ -1010,7 +1010,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "easytier"
|
name = "easytier"
|
||||||
version = "2.3.2"
|
version = "2.4.0"
|
||||||
source = "git+https://github.com/EasyTier/EasyTier.git#a4bb555fac1046d0099c44676fa9d0d8cca55c99"
|
source = "git+https://github.com/EasyTier/EasyTier.git#a4bb555fac1046d0099c44676fa9d0d8cca55c99"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "easytier-gui",
|
"name": "easytier-gui",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "2.3.2",
|
"version": "2.4.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"packageManager": "pnpm@9.12.1+sha512.e5a7e52a4183a02d5931057f7a0dbff9d5e9ce3161e33fa68ae392125b79282a8a8a470a51dfc8a0ed86221442eb2fb57019b0990ed24fab519bf0e1bc5ccfc4",
|
"packageManager": "pnpm@9.12.1+sha512.e5a7e52a4183a02d5931057f7a0dbff9d5e9ce3161e33fa68ae392125b79282a8a8a470a51dfc8a0ed86221442eb2fb57019b0990ed24fab519bf0e1bc5ccfc4",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@@ -15,10 +15,10 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@primevue/themes": "4.3.3",
|
"@primevue/themes": "4.3.3",
|
||||||
"@tauri-apps/plugin-autostart": "2.0.0",
|
"@tauri-apps/plugin-autostart": "2.0.0",
|
||||||
"@tauri-apps/plugin-clipboard-manager": "2.0.0",
|
"@tauri-apps/plugin-clipboard-manager": "2.3.0",
|
||||||
"@tauri-apps/plugin-os": "2.0.0",
|
"@tauri-apps/plugin-os": "2.3.0",
|
||||||
"@tauri-apps/plugin-process": "2.0.0",
|
"@tauri-apps/plugin-process": "2.3.0",
|
||||||
"@tauri-apps/plugin-shell": "2.0.1",
|
"@tauri-apps/plugin-shell": "2.3.0",
|
||||||
"@vueuse/core": "^11.2.0",
|
"@vueuse/core": "^11.2.0",
|
||||||
"aura": "link:@primevue\\themes\\aura",
|
"aura": "link:@primevue\\themes\\aura",
|
||||||
"easytier-frontend-lib": "workspace:*",
|
"easytier-frontend-lib": "workspace:*",
|
||||||
@@ -33,8 +33,8 @@
|
|||||||
"@antfu/eslint-config": "^3.7.3",
|
"@antfu/eslint-config": "^3.7.3",
|
||||||
"@intlify/unplugin-vue-i18n": "^5.2.0",
|
"@intlify/unplugin-vue-i18n": "^5.2.0",
|
||||||
"@primevue/auto-import-resolver": "4.3.3",
|
"@primevue/auto-import-resolver": "4.3.3",
|
||||||
"@tauri-apps/api": "2.1.0",
|
"@tauri-apps/api": "2.7.0",
|
||||||
"@tauri-apps/cli": "2.1.0",
|
"@tauri-apps/cli": "2.7.1",
|
||||||
"@types/default-gateway": "^7.2.2",
|
"@types/default-gateway": "^7.2.2",
|
||||||
"@types/node": "^22.7.4",
|
"@types/node": "^22.7.4",
|
||||||
"@types/uuid": "^10.0.0",
|
"@types/uuid": "^10.0.0",
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "easytier-gui"
|
name = "easytier-gui"
|
||||||
version = "2.3.2"
|
version = "2.4.0"
|
||||||
description = "EasyTier GUI"
|
description = "EasyTier GUI"
|
||||||
authors = ["you"]
|
authors = ["you"]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
@@ -23,7 +23,7 @@ thunk-rs = { git = "https://github.com/easytier/thunk.git", default-features = f
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
# wry 0.47 may crash on android, see https://github.com/EasyTier/EasyTier/issues/527
|
# wry 0.47 may crash on android, see https://github.com/EasyTier/EasyTier/issues/527
|
||||||
tauri = { version = "=2.0.6", features = [
|
tauri = { version = "2.7.0", features = [
|
||||||
"tray-icon",
|
"tray-icon",
|
||||||
"image-png",
|
"image-png",
|
||||||
"image-ico",
|
"image-ico",
|
||||||
@@ -41,17 +41,17 @@ chrono = { version = "0.4.37", features = ["serde"] }
|
|||||||
once_cell = "1.18.0"
|
once_cell = "1.18.0"
|
||||||
dashmap = "6.0"
|
dashmap = "6.0"
|
||||||
elevated-command = "1.1.2"
|
elevated-command = "1.1.2"
|
||||||
gethostname = "0.5"
|
gethostname = "1.0.2"
|
||||||
|
|
||||||
dunce = "1.0.4"
|
dunce = "1.0.4"
|
||||||
|
|
||||||
tauri-plugin-shell = "2.0"
|
tauri-plugin-shell = "2.3.0"
|
||||||
tauri-plugin-process = "2.0"
|
tauri-plugin-process = "2.3.0"
|
||||||
tauri-plugin-clipboard-manager = "2.0"
|
tauri-plugin-clipboard-manager = "2.3.0"
|
||||||
tauri-plugin-positioner = { version = "2.0", features = ["tray-icon"] }
|
tauri-plugin-positioner = { version = "2.3.0", features = ["tray-icon"] }
|
||||||
tauri-plugin-vpnservice = { path = "../../tauri-plugin-vpnservice" }
|
tauri-plugin-vpnservice = { path = "../../tauri-plugin-vpnservice" }
|
||||||
tauri-plugin-os = "2.0"
|
tauri-plugin-os = "2.3.0"
|
||||||
tauri-plugin-autostart = "2.0"
|
tauri-plugin-autostart = "2.5.0"
|
||||||
uuid = "1.17.0"
|
uuid = "1.17.0"
|
||||||
|
|
||||||
|
|
||||||
@@ -60,4 +60,4 @@ uuid = "1.17.0"
|
|||||||
custom-protocol = ["tauri/custom-protocol"]
|
custom-protocol = ["tauri/custom-protocol"]
|
||||||
|
|
||||||
[target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies]
|
[target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies]
|
||||||
tauri-plugin-single-instance = "2.2.3"
|
tauri-plugin-single-instance = "2.3.2"
|
||||||
|
@@ -211,7 +211,7 @@ pub fn run() {
|
|||||||
// for tray icon, menu need to be built in js
|
// for tray icon, menu need to be built in js
|
||||||
#[cfg(not(target_os = "android"))]
|
#[cfg(not(target_os = "android"))]
|
||||||
let _tray_menu = TrayIconBuilder::with_id("main")
|
let _tray_menu = TrayIconBuilder::with_id("main")
|
||||||
.menu_on_left_click(false)
|
.show_menu_on_left_click(false)
|
||||||
.on_tray_icon_event(|tray, event| {
|
.on_tray_icon_event(|tray, event| {
|
||||||
if let TrayIconEvent::Click {
|
if let TrayIconEvent::Click {
|
||||||
button: MouseButton::Left,
|
button: MouseButton::Left,
|
||||||
|
@@ -17,7 +17,7 @@
|
|||||||
"createUpdaterArtifacts": false
|
"createUpdaterArtifacts": false
|
||||||
},
|
},
|
||||||
"productName": "easytier-gui",
|
"productName": "easytier-gui",
|
||||||
"version": "2.3.2",
|
"version": "2.4.0",
|
||||||
"identifier": "com.kkrainbow.easytier",
|
"identifier": "com.kkrainbow.easytier",
|
||||||
"plugins": {},
|
"plugins": {},
|
||||||
"app": {
|
"app": {
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "easytier-web"
|
name = "easytier-web"
|
||||||
version = "2.3.2"
|
version = "2.4.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
description = "Config server for easytier. easytier-core gets config from this and web frontend use it as restful api server."
|
description = "Config server for easytier. easytier-core gets config from this and web frontend use it as restful api server."
|
||||||
|
|
||||||
|
@@ -3,7 +3,7 @@ name = "easytier"
|
|||||||
description = "A full meshed p2p VPN, connecting all your devices in one network with one command."
|
description = "A full meshed p2p VPN, connecting all your devices in one network with one command."
|
||||||
homepage = "https://github.com/EasyTier/EasyTier"
|
homepage = "https://github.com/EasyTier/EasyTier"
|
||||||
repository = "https://github.com/EasyTier/EasyTier"
|
repository = "https://github.com/EasyTier/EasyTier"
|
||||||
version = "2.3.2"
|
version = "2.4.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
authors = ["kkrainbow"]
|
authors = ["kkrainbow"]
|
||||||
keywords = ["vpn", "p2p", "network", "easytier"]
|
keywords = ["vpn", "p2p", "network", "easytier"]
|
||||||
|
@@ -27,6 +27,8 @@ define_global_var!(MACHINE_UID, Option<String>, None);
|
|||||||
|
|
||||||
define_global_var!(MAX_DIRECT_CONNS_PER_PEER_IN_FOREIGN_NETWORK, u32, 3);
|
define_global_var!(MAX_DIRECT_CONNS_PER_PEER_IN_FOREIGN_NETWORK, u32, 3);
|
||||||
|
|
||||||
|
define_global_var!(DIRECT_CONNECT_TO_PUBLIC_SERVER, bool, true);
|
||||||
|
|
||||||
pub const UDP_HOLE_PUNCH_CONNECTOR_SERVICE_ID: u32 = 2;
|
pub const UDP_HOLE_PUNCH_CONNECTOR_SERVICE_ID: u32 = 2;
|
||||||
|
|
||||||
pub const WIN_SERVICE_WORK_DIR_REG_KEY: &str = "SOFTWARE\\EasyTier\\Service\\WorkDir";
|
pub const WIN_SERVICE_WORK_DIR_REG_KEY: &str = "SOFTWARE\\EasyTier\\Service\\WorkDir";
|
||||||
|
@@ -31,6 +31,7 @@ use crate::{
|
|||||||
rpc_types::controller::BaseController,
|
rpc_types::controller::BaseController,
|
||||||
},
|
},
|
||||||
tunnel::{udp::UdpTunnelConnector, IpVersion},
|
tunnel::{udp::UdpTunnelConnector, IpVersion},
|
||||||
|
use_global_var,
|
||||||
};
|
};
|
||||||
|
|
||||||
use crate::proto::cli::PeerConnInfo;
|
use crate::proto::cli::PeerConnInfo;
|
||||||
@@ -57,12 +58,14 @@ pub trait PeerManagerForDirectConnector {
|
|||||||
impl PeerManagerForDirectConnector for PeerManager {
|
impl PeerManagerForDirectConnector for PeerManager {
|
||||||
async fn list_peers(&self) -> Vec<PeerId> {
|
async fn list_peers(&self) -> Vec<PeerId> {
|
||||||
let mut ret = vec![];
|
let mut ret = vec![];
|
||||||
|
let allow_public_server = use_global_var!(DIRECT_CONNECT_TO_PUBLIC_SERVER);
|
||||||
|
|
||||||
let routes = self.list_routes().await;
|
let routes = self.list_routes().await;
|
||||||
for r in routes
|
for r in routes.iter().filter(|r| {
|
||||||
.iter()
|
r.feature_flag
|
||||||
.filter(|r| r.feature_flag.map(|r| !r.is_public_server).unwrap_or(true))
|
.map(|r| allow_public_server || !r.is_public_server)
|
||||||
{
|
.unwrap_or(true)
|
||||||
|
}) {
|
||||||
ret.push(r.peer_id);
|
ret.push(r.peer_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -483,10 +486,17 @@ impl DirectConnectorManagerData {
|
|||||||
self.global_ctx.get_network_name(),
|
self.global_ctx.get_network_name(),
|
||||||
);
|
);
|
||||||
|
|
||||||
let ip_list = rpc_stub
|
let ip_list = match rpc_stub
|
||||||
.get_ip_list(BaseController::default(), GetIpListRequest {})
|
.get_ip_list(BaseController::default(), GetIpListRequest {})
|
||||||
.await
|
.await
|
||||||
.with_context(|| format!("get ip list from peer {}", dst_peer_id))?;
|
.with_context(|| format!("get ip list from peer {}", dst_peer_id))
|
||||||
|
{
|
||||||
|
Ok(ip_list) => ip_list,
|
||||||
|
Err(e) => {
|
||||||
|
tracing::error!(?e, "failed to get ip list from peer");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
tracing::info!(ip_list = ?ip_list, dst_peer_id = ?dst_peer_id, "got ip list");
|
tracing::info!(ip_list = ?ip_list, dst_peer_id = ?dst_peer_id, "got ip list");
|
||||||
|
|
||||||
|
@@ -25,7 +25,6 @@ use crate::{
|
|||||||
error::Error,
|
error::Error,
|
||||||
global_ctx::{ArcGlobalCtx, GlobalCtx, GlobalCtxEvent, NetworkIdentity},
|
global_ctx::{ArcGlobalCtx, GlobalCtx, GlobalCtxEvent, NetworkIdentity},
|
||||||
join_joinset_background,
|
join_joinset_background,
|
||||||
stun::MockStunInfoCollector,
|
|
||||||
token_bucket::TokenBucket,
|
token_bucket::TokenBucket,
|
||||||
PeerId,
|
PeerId,
|
||||||
},
|
},
|
||||||
@@ -33,7 +32,7 @@ use crate::{
|
|||||||
peers::route_trait::{Route, RouteInterface},
|
peers::route_trait::{Route, RouteInterface},
|
||||||
proto::{
|
proto::{
|
||||||
cli::{ForeignNetworkEntryPb, ListForeignNetworkResponse, PeerInfo},
|
cli::{ForeignNetworkEntryPb, ListForeignNetworkResponse, PeerInfo},
|
||||||
common::{LimiterConfig, NatType},
|
common::LimiterConfig,
|
||||||
peer_rpc::DirectConnectorRpcServer,
|
peer_rpc::DirectConnectorRpcServer,
|
||||||
},
|
},
|
||||||
tunnel::packet_def::{PacketType, ZCPacket},
|
tunnel::packet_def::{PacketType, ZCPacket},
|
||||||
@@ -159,9 +158,8 @@ impl ForeignNetworkEntry {
|
|||||||
config.set_hostname(Some(format!("PublicServer_{}", global_ctx.get_hostname())));
|
config.set_hostname(Some(format!("PublicServer_{}", global_ctx.get_hostname())));
|
||||||
|
|
||||||
let foreign_global_ctx = Arc::new(GlobalCtx::new(config));
|
let foreign_global_ctx = Arc::new(GlobalCtx::new(config));
|
||||||
foreign_global_ctx.replace_stun_info_collector(Box::new(MockStunInfoCollector {
|
foreign_global_ctx
|
||||||
udp_nat_type: NatType::Unknown,
|
.replace_stun_info_collector(Box::new(global_ctx.get_stun_info_collector().clone()));
|
||||||
}));
|
|
||||||
|
|
||||||
let mut feature_flag = global_ctx.get_feature_flags();
|
let mut feature_flag = global_ctx.get_feature_flags();
|
||||||
feature_flag.is_public_server = true;
|
feature_flag.is_public_server = true;
|
||||||
|
@@ -81,12 +81,13 @@ impl PeerRpcManagerTransport for RpcTransport {
|
|||||||
|
|
||||||
async fn send(&self, mut msg: ZCPacket, dst_peer_id: PeerId) -> Result<(), Error> {
|
async fn send(&self, mut msg: ZCPacket, dst_peer_id: PeerId) -> Result<(), Error> {
|
||||||
let peers = self.peers.upgrade().ok_or(Error::Unknown)?;
|
let peers = self.peers.upgrade().ok_or(Error::Unknown)?;
|
||||||
// NOTE: if route info is not exchanged, this will return error. treat it as need relay
|
// NOTE: if route info is not exchanged, this will return None. treat it as public server.
|
||||||
if !peers
|
let is_dst_peer_public_server = peers
|
||||||
.need_relay_by_foreign_network(dst_peer_id)
|
.get_route_peer_info(dst_peer_id)
|
||||||
.await
|
.await
|
||||||
.unwrap_or(true)
|
.and_then(|x| x.feature_flag.map(|x| x.is_public_server))
|
||||||
{
|
.unwrap_or(true);
|
||||||
|
if !is_dst_peer_public_server {
|
||||||
self.encryptor
|
self.encryptor
|
||||||
.encrypt(&mut msg)
|
.encrypt(&mut msg)
|
||||||
.with_context(|| "encrypt failed")?;
|
.with_context(|| "encrypt failed")?;
|
||||||
|
186
pnpm-lock.yaml
generated
186
pnpm-lock.yaml
generated
@@ -15,17 +15,17 @@ importers:
|
|||||||
specifier: 2.0.0
|
specifier: 2.0.0
|
||||||
version: 2.0.0
|
version: 2.0.0
|
||||||
'@tauri-apps/plugin-clipboard-manager':
|
'@tauri-apps/plugin-clipboard-manager':
|
||||||
specifier: 2.0.0
|
specifier: 2.3.0
|
||||||
version: 2.0.0
|
version: 2.3.0
|
||||||
'@tauri-apps/plugin-os':
|
'@tauri-apps/plugin-os':
|
||||||
specifier: 2.0.0
|
specifier: 2.3.0
|
||||||
version: 2.0.0
|
version: 2.3.0
|
||||||
'@tauri-apps/plugin-process':
|
'@tauri-apps/plugin-process':
|
||||||
specifier: 2.0.0
|
specifier: 2.3.0
|
||||||
version: 2.0.0
|
version: 2.3.0
|
||||||
'@tauri-apps/plugin-shell':
|
'@tauri-apps/plugin-shell':
|
||||||
specifier: 2.0.1
|
specifier: 2.3.0
|
||||||
version: 2.0.1
|
version: 2.3.0
|
||||||
'@vueuse/core':
|
'@vueuse/core':
|
||||||
specifier: ^11.2.0
|
specifier: ^11.2.0
|
||||||
version: 11.2.0(vue@3.5.12(typescript@5.6.3))
|
version: 11.2.0(vue@3.5.12(typescript@5.6.3))
|
||||||
@@ -64,11 +64,11 @@ importers:
|
|||||||
specifier: 4.3.3
|
specifier: 4.3.3
|
||||||
version: 4.3.3
|
version: 4.3.3
|
||||||
'@tauri-apps/api':
|
'@tauri-apps/api':
|
||||||
specifier: 2.1.0
|
specifier: 2.7.0
|
||||||
version: 2.1.0
|
version: 2.7.0
|
||||||
'@tauri-apps/cli':
|
'@tauri-apps/cli':
|
||||||
specifier: 2.1.0
|
specifier: 2.7.1
|
||||||
version: 2.1.0
|
version: 2.7.1
|
||||||
'@types/default-gateway':
|
'@types/default-gateway':
|
||||||
specifier: ^7.2.2
|
specifier: ^7.2.2
|
||||||
version: 7.2.2
|
version: 7.2.2
|
||||||
@@ -921,8 +921,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-AFbhEo10DP095/45EauinQJ5hJ3rJUmuuqltGguvc3WsvezZN+g8qNHLGWKu60FHQVizMrQY7VJ+zVlBXlQQkQ==}
|
resolution: {integrity: sha512-AFbhEo10DP095/45EauinQJ5hJ3rJUmuuqltGguvc3WsvezZN+g8qNHLGWKu60FHQVizMrQY7VJ+zVlBXlQQkQ==}
|
||||||
engines: {node: '>= 16'}
|
engines: {node: '>= 16'}
|
||||||
|
|
||||||
'@intlify/message-compiler@12.0.0-alpha.2':
|
'@intlify/message-compiler@12.0.0-alpha.3':
|
||||||
resolution: {integrity: sha512-PD9C+oQbb7BF52hec0+vLnScaFkvnfX+R7zSbODYuRo/E2niAtGmHd0wPvEMsDhf9Z9b8f/qyDsVeZnD/ya9Ug==}
|
resolution: {integrity: sha512-mDDTN3gfYOHhBnpnlby19UHyvMaOnzdlpsIrxUfs44R/vCATfn8pMOkE8PXD2t410xkocEj3FpDcC9XC/0v4Dg==}
|
||||||
engines: {node: '>= 16'}
|
engines: {node: '>= 16'}
|
||||||
|
|
||||||
'@intlify/message-compiler@9.14.4':
|
'@intlify/message-compiler@9.14.4':
|
||||||
@@ -933,8 +933,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-ukFn0I01HsSgr3VYhYcvkTCLS7rGa0gw4A4AMpcy/A9xx/zRJy7PS2BElMXLwUazVFMAr5zuiTk3MQeoeGXaJg==}
|
resolution: {integrity: sha512-ukFn0I01HsSgr3VYhYcvkTCLS7rGa0gw4A4AMpcy/A9xx/zRJy7PS2BElMXLwUazVFMAr5zuiTk3MQeoeGXaJg==}
|
||||||
engines: {node: '>= 16'}
|
engines: {node: '>= 16'}
|
||||||
|
|
||||||
'@intlify/shared@12.0.0-alpha.2':
|
'@intlify/shared@12.0.0-alpha.3':
|
||||||
resolution: {integrity: sha512-P2DULVX9nz3y8zKNqLw9Es1aAgQ1JGC+kgpx5q7yLmrnAKkPR5MybQWoEhxanefNJgUY5ehsgo+GKif59SrncA==}
|
resolution: {integrity: sha512-ryaNYBvxQjyJUmVuBBg+HHUsmGnfxcEUPR0NCeG4/K9N2qtyFE35C80S15IN6iYFE2MGWLN7HfOSyg0MXZIc9w==}
|
||||||
engines: {node: '>= 16'}
|
engines: {node: '>= 16'}
|
||||||
|
|
||||||
'@intlify/shared@9.14.4':
|
'@intlify/shared@9.14.4':
|
||||||
@@ -1291,88 +1291,94 @@ packages:
|
|||||||
resolution: {integrity: sha512-v454Qs3REHc3Za59U+/eSmBsdmF+3NE5+76+lFDaitVqN4ZglDHENDaMARYKGJVZuxiSkzyqG0SeG7lLQjVkPA==}
|
resolution: {integrity: sha512-v454Qs3REHc3Za59U+/eSmBsdmF+3NE5+76+lFDaitVqN4ZglDHENDaMARYKGJVZuxiSkzyqG0SeG7lLQjVkPA==}
|
||||||
engines: {node: '>= 18.18', npm: '>= 6.6.0', yarn: '>= 1.19.1'}
|
engines: {node: '>= 18.18', npm: '>= 6.6.0', yarn: '>= 1.19.1'}
|
||||||
|
|
||||||
'@tauri-apps/api@2.1.0':
|
'@tauri-apps/api@2.7.0':
|
||||||
resolution: {integrity: sha512-1w/JygZOiUtdOU7qart78MaB4/qayZ2heB793KhbZRS7I9q4sxXcXaB7He6uFlprD8w5TI9P8HCuEByCvWRtfw==}
|
resolution: {integrity: sha512-v7fVE8jqBl8xJFOcBafDzXFc8FnicoH3j8o8DNNs0tHuEBmXUDqrCOAzMRX0UkfpwqZLqvrvK0GNQ45DfnoVDg==}
|
||||||
|
|
||||||
'@tauri-apps/cli-darwin-arm64@2.1.0':
|
'@tauri-apps/cli-darwin-arm64@2.7.1':
|
||||||
resolution: {integrity: sha512-ESc6J6CE8hl1yKH2vJ+ALF+thq4Be+DM1mvmTyUCQObvezNCNhzfS6abIUd3ou4x5RGH51ouiANeT3wekU6dCw==}
|
resolution: {integrity: sha512-j2NXQN6+08G03xYiyKDKqbCV2Txt+hUKg0a8hYr92AmoCU8fgCjHyva/p16lGFGUG3P2Yu0xiNe1hXL9ZuRMzA==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
|
|
||||||
'@tauri-apps/cli-darwin-x64@2.1.0':
|
'@tauri-apps/cli-darwin-x64@2.7.1':
|
||||||
resolution: {integrity: sha512-TasHS442DFs8cSH2eUQzuDBXUST4ECjCd0yyP+zZzvAruiB0Bg+c8A+I/EnqCvBQ2G2yvWLYG8q/LI7c87A5UA==}
|
resolution: {integrity: sha512-CdYAefeM35zKsc91qIyKzbaO7FhzTyWKsE8hj7tEJ1INYpoh1NeNNyL/NSEA3Nebi5ilugioJ5tRK8ZXG8y3gw==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
|
|
||||||
'@tauri-apps/cli-linux-arm-gnueabihf@2.1.0':
|
'@tauri-apps/cli-linux-arm-gnueabihf@2.7.1':
|
||||||
resolution: {integrity: sha512-aP7ZBGNL4ny07Cbb6kKpUOSrmhcIK2KhjviTzYlh+pPhAptxnC78xQGD3zKQkTi2WliJLPmBYbOHWWQa57lQ9w==}
|
resolution: {integrity: sha512-dnvyJrTA1UJxJjQ8q1N/gWomjP8Twij1BUQu2fdcT3OPpqlrbOk5R1yT0oD/721xoKNjroB5BXCsmmlykllxNg==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [arm]
|
cpu: [arm]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@tauri-apps/cli-linux-arm64-gnu@2.1.0':
|
'@tauri-apps/cli-linux-arm64-gnu@2.7.1':
|
||||||
resolution: {integrity: sha512-ZTdgD5gLeMCzndMT2f358EkoYkZ5T+Qy6zPzU+l5vv5M7dHVN9ZmblNAYYXmoOuw7y+BY4X/rZvHV9pcGrcanQ==}
|
resolution: {integrity: sha512-FtBW6LJPNRTws3qyUc294AqCWU91l/H0SsFKq6q4Q45MSS4x6wxLxou8zB53tLDGEPx3JSoPLcDaSfPlSbyujQ==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@tauri-apps/cli-linux-arm64-musl@2.1.0':
|
'@tauri-apps/cli-linux-arm64-musl@2.7.1':
|
||||||
resolution: {integrity: sha512-NzwqjUCilhnhJzusz3d/0i0F1GFrwCQbkwR6yAHUxItESbsGYkZRJk0yMEWkg3PzFnyK4cWTlQJMEU52TjhEzA==}
|
resolution: {integrity: sha512-/HXY0t4FHkpFzjeYS5c16mlA6z0kzn5uKLWptTLTdFSnYpr8FCnOP4Sdkvm2TDQPF2ERxXtNCd+WR/jQugbGnA==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@tauri-apps/cli-linux-x64-gnu@2.1.0':
|
'@tauri-apps/cli-linux-riscv64-gnu@2.7.1':
|
||||||
resolution: {integrity: sha512-TyiIpMEtZxNOQmuFyfJwaaYbg3movSthpBJLIdPlKxSAB2BW0VWLY3/ZfIxm/G2YGHyREkjJvimzYE0i37PnMA==}
|
resolution: {integrity: sha512-GeW5lVI2GhhnaYckiDzstG2j2Jwlud5d2XefRGwlOK+C/bVGLT1le8MNPYK8wgRlpeK8fG1WnJJYD6Ke7YQ8bg==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [riscv64]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
|
'@tauri-apps/cli-linux-x64-gnu@2.7.1':
|
||||||
|
resolution: {integrity: sha512-DprxKQkPxIPYwUgg+cscpv2lcIUhn2nxEPlk0UeaiV9vATxCXyytxr1gLcj3xgjGyNPlM0MlJyYaPy1JmRg1cA==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@tauri-apps/cli-linux-x64-musl@2.1.0':
|
'@tauri-apps/cli-linux-x64-musl@2.7.1':
|
||||||
resolution: {integrity: sha512-/dQd0TlaxBdJACrR72DhynWftzHDaX32eBtS5WBrNJ+nnNb+znM3gON6nJ9tSE9jgDa6n1v2BkI/oIDtypfUXw==}
|
resolution: {integrity: sha512-KLlq3kOK7OUyDR757c0zQjPULpGZpLhNB0lZmZpHXvoOUcqZoCXJHh4dT/mryWZJp5ilrem5l8o9ngrDo0X1AA==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@tauri-apps/cli-win32-arm64-msvc@2.1.0':
|
'@tauri-apps/cli-win32-arm64-msvc@2.7.1':
|
||||||
resolution: {integrity: sha512-NdQJO7SmdYqOcE+JPU7bwg7+odfZMWO6g8xF9SXYCMdUzvM2Gv/AQfikNXz5yS7ralRhNFuW32i5dcHlxh4pDg==}
|
resolution: {integrity: sha512-dH7KUjKkSypCeWPiainHyXoES3obS+JIZVoSwSZfKq2gWgs48FY3oT0hQNYrWveE+VR4VoR3b/F3CPGbgFvksA==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
|
|
||||||
'@tauri-apps/cli-win32-ia32-msvc@2.1.0':
|
'@tauri-apps/cli-win32-ia32-msvc@2.7.1':
|
||||||
resolution: {integrity: sha512-f5h8gKT/cB8s1ticFRUpNmHqkmaLutT62oFDB7N//2YTXnxst7EpMIn1w+QimxTvTk2gcx6EcW6bEk/y2hZGzg==}
|
resolution: {integrity: sha512-1oeibfyWQPVcijOrTg709qhbXArjX3x1MPjrmA5anlygwrbByxLBcLXvotcOeULFcnH2FYUMMLLant8kgvwE5A==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [ia32]
|
cpu: [ia32]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
|
|
||||||
'@tauri-apps/cli-win32-x64-msvc@2.1.0':
|
'@tauri-apps/cli-win32-x64-msvc@2.7.1':
|
||||||
resolution: {integrity: sha512-P/+LrdSSb5Xbho1LRP4haBjFHdyPdjWvGgeopL96OVtrFpYnfC+RctB45z2V2XxqFk3HweDDxk266btjttfjGw==}
|
resolution: {integrity: sha512-D7Q9kDObutuirCNLxYQ7KAg2Xxg99AjcdYz/KuMw5HvyEPbkC9Q7JL0vOrQOrHEHxIQ2lYzFOZvKKoC2yyqXcg==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
|
|
||||||
'@tauri-apps/cli@2.1.0':
|
'@tauri-apps/cli@2.7.1':
|
||||||
resolution: {integrity: sha512-K2VhcKqBhAeS5pNOVdnR/xQRU6jwpgmkSL2ejHXcl0m+kaTggT0WRDQnFtPq6NljA7aE03cvwsbCAoFG7vtkJw==}
|
resolution: {integrity: sha512-RcGWR4jOUEl92w3uvI0h61Llkfj9lwGD1iwvDRD2isMrDhOzjeeeVn9aGzeW1jubQ/kAbMYfydcA4BA0Cy733Q==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
'@tauri-apps/plugin-autostart@2.0.0':
|
'@tauri-apps/plugin-autostart@2.0.0':
|
||||||
resolution: {integrity: sha512-NEwOQWVasZ8RczXkMLNJokRDujneuMH/UFA5t84DLkbNZUmiD3G7HZWhgSd1YQ0BFU9h9w+h2B/py3y6bzWg4Q==}
|
resolution: {integrity: sha512-NEwOQWVasZ8RczXkMLNJokRDujneuMH/UFA5t84DLkbNZUmiD3G7HZWhgSd1YQ0BFU9h9w+h2B/py3y6bzWg4Q==}
|
||||||
|
|
||||||
'@tauri-apps/plugin-clipboard-manager@2.0.0':
|
'@tauri-apps/plugin-clipboard-manager@2.3.0':
|
||||||
resolution: {integrity: sha512-V1sXmbjnwfXt/r48RJMwfUmDMSaP/8/YbH4CLNxt+/sf1eHlIP8PRFdFDQwLN0cNQKu2rqQVbG/Wc/Ps6cDUhw==}
|
resolution: {integrity: sha512-81NOBA2P+OTY8RLkBwyl9ZR/0CeggLub4F6zxcxUIfFOAqtky7J61+K/MkH2SC1FMxNBxrX0swDuKvkjkHadlA==}
|
||||||
|
|
||||||
'@tauri-apps/plugin-os@2.0.0':
|
'@tauri-apps/plugin-os@2.3.0':
|
||||||
resolution: {integrity: sha512-M7hG/nNyQYTJxVG/UhTKhp9mpXriwWzrs9mqDreB8mIgqA3ek5nHLdwRZJWhkKjZrnDT4v9CpA9BhYeplTlAiA==}
|
resolution: {integrity: sha512-dm3bDsMuUngpIQdJ1jaMkMfyQpHyDcaTIKTFaAMHoKeUd+Is3UHO2uzhElr6ZZkfytIIyQtSVnCWdW2Kc58f3g==}
|
||||||
|
|
||||||
'@tauri-apps/plugin-process@2.0.0':
|
'@tauri-apps/plugin-process@2.3.0':
|
||||||
resolution: {integrity: sha512-OYzi0GnkrF4NAnsHZU7U3tjSoP0PbeAlO7T1Z+vJoBUH9sFQ1NSLqWYWQyf8hcb3gVWe7P1JggjiskO+LST1ug==}
|
resolution: {integrity: sha512-0DNj6u+9csODiV4seSxxRbnLpeGYdojlcctCuLOCgpH9X3+ckVZIEj6H7tRQ7zqWr7kSTEWnrxtAdBb0FbtrmQ==}
|
||||||
|
|
||||||
'@tauri-apps/plugin-shell@2.0.1':
|
'@tauri-apps/plugin-shell@2.3.0':
|
||||||
resolution: {integrity: sha512-akU1b77sw3qHiynrK0s930y8zKmcdrSD60htjH+mFZqv5WaakZA/XxHR3/sF1nNv9Mgmt/Shls37HwnOr00aSw==}
|
resolution: {integrity: sha512-6GIRxO2z64uxPX4CCTuhQzefvCC0ew7HjdBhMALiGw74vFBDY95VWueAHOHgNOMV4UOUAFupyidN9YulTe5xlA==}
|
||||||
|
|
||||||
'@tybys/wasm-util@0.9.0':
|
'@tybys/wasm-util@0.9.0':
|
||||||
resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==}
|
resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==}
|
||||||
@@ -4404,8 +4410,8 @@ snapshots:
|
|||||||
|
|
||||||
'@intlify/bundle-utils@9.0.0(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))':
|
'@intlify/bundle-utils@9.0.0(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@intlify/message-compiler': 12.0.0-alpha.2
|
'@intlify/message-compiler': 12.0.0-alpha.3
|
||||||
'@intlify/shared': 12.0.0-alpha.2
|
'@intlify/shared': 12.0.0-alpha.3
|
||||||
acorn: 8.14.0
|
acorn: 8.14.0
|
||||||
escodegen: 2.1.0
|
escodegen: 2.1.0
|
||||||
estree-walker: 2.0.2
|
estree-walker: 2.0.2
|
||||||
@@ -4431,9 +4437,9 @@ snapshots:
|
|||||||
'@intlify/shared': 10.0.4
|
'@intlify/shared': 10.0.4
|
||||||
source-map-js: 1.2.1
|
source-map-js: 1.2.1
|
||||||
|
|
||||||
'@intlify/message-compiler@12.0.0-alpha.2':
|
'@intlify/message-compiler@12.0.0-alpha.3':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@intlify/shared': 12.0.0-alpha.2
|
'@intlify/shared': 12.0.0-alpha.3
|
||||||
source-map-js: 1.2.1
|
source-map-js: 1.2.1
|
||||||
|
|
||||||
'@intlify/message-compiler@9.14.4':
|
'@intlify/message-compiler@9.14.4':
|
||||||
@@ -4443,7 +4449,7 @@ snapshots:
|
|||||||
|
|
||||||
'@intlify/shared@10.0.4': {}
|
'@intlify/shared@10.0.4': {}
|
||||||
|
|
||||||
'@intlify/shared@12.0.0-alpha.2': {}
|
'@intlify/shared@12.0.0-alpha.3': {}
|
||||||
|
|
||||||
'@intlify/shared@9.14.4': {}
|
'@intlify/shared@9.14.4': {}
|
||||||
|
|
||||||
@@ -4451,8 +4457,8 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0(jiti@2.4.0))
|
'@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0(jiti@2.4.0))
|
||||||
'@intlify/bundle-utils': 9.0.0(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))
|
'@intlify/bundle-utils': 9.0.0(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))
|
||||||
'@intlify/shared': 12.0.0-alpha.2
|
'@intlify/shared': 12.0.0-alpha.3
|
||||||
'@intlify/vue-i18n-extensions': 7.0.0(@intlify/shared@12.0.0-alpha.2)(@vue/compiler-dom@3.5.12)(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))
|
'@intlify/vue-i18n-extensions': 7.0.0(@intlify/shared@12.0.0-alpha.3)(@vue/compiler-dom@3.5.12)(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))
|
||||||
'@rollup/pluginutils': 5.1.3(rollup@4.24.3)
|
'@rollup/pluginutils': 5.1.3(rollup@4.24.3)
|
||||||
'@typescript-eslint/scope-manager': 7.18.0
|
'@typescript-eslint/scope-manager': 7.18.0
|
||||||
'@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.3)
|
'@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.3)
|
||||||
@@ -4475,11 +4481,11 @@ snapshots:
|
|||||||
- typescript
|
- typescript
|
||||||
- webpack-sources
|
- webpack-sources
|
||||||
|
|
||||||
'@intlify/vue-i18n-extensions@7.0.0(@intlify/shared@12.0.0-alpha.2)(@vue/compiler-dom@3.5.12)(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))':
|
'@intlify/vue-i18n-extensions@7.0.0(@intlify/shared@12.0.0-alpha.3)(@vue/compiler-dom@3.5.12)(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/parser': 7.26.2
|
'@babel/parser': 7.26.2
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@intlify/shared': 12.0.0-alpha.2
|
'@intlify/shared': 12.0.0-alpha.3
|
||||||
'@vue/compiler-dom': 3.5.12
|
'@vue/compiler-dom': 3.5.12
|
||||||
vue: 3.5.12(typescript@5.6.3)
|
vue: 3.5.12(typescript@5.6.3)
|
||||||
vue-i18n: 10.0.4(vue@3.5.12(typescript@5.6.3))
|
vue-i18n: 10.0.4(vue@3.5.12(typescript@5.6.3))
|
||||||
@@ -4794,70 +4800,74 @@ snapshots:
|
|||||||
|
|
||||||
'@tauri-apps/api@2.0.0-rc.0': {}
|
'@tauri-apps/api@2.0.0-rc.0': {}
|
||||||
|
|
||||||
'@tauri-apps/api@2.1.0': {}
|
'@tauri-apps/api@2.7.0': {}
|
||||||
|
|
||||||
'@tauri-apps/cli-darwin-arm64@2.1.0':
|
'@tauri-apps/cli-darwin-arm64@2.7.1':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@tauri-apps/cli-darwin-x64@2.1.0':
|
'@tauri-apps/cli-darwin-x64@2.7.1':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@tauri-apps/cli-linux-arm-gnueabihf@2.1.0':
|
'@tauri-apps/cli-linux-arm-gnueabihf@2.7.1':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@tauri-apps/cli-linux-arm64-gnu@2.1.0':
|
'@tauri-apps/cli-linux-arm64-gnu@2.7.1':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@tauri-apps/cli-linux-arm64-musl@2.1.0':
|
'@tauri-apps/cli-linux-arm64-musl@2.7.1':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@tauri-apps/cli-linux-x64-gnu@2.1.0':
|
'@tauri-apps/cli-linux-riscv64-gnu@2.7.1':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@tauri-apps/cli-linux-x64-musl@2.1.0':
|
'@tauri-apps/cli-linux-x64-gnu@2.7.1':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@tauri-apps/cli-win32-arm64-msvc@2.1.0':
|
'@tauri-apps/cli-linux-x64-musl@2.7.1':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@tauri-apps/cli-win32-ia32-msvc@2.1.0':
|
'@tauri-apps/cli-win32-arm64-msvc@2.7.1':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@tauri-apps/cli-win32-x64-msvc@2.1.0':
|
'@tauri-apps/cli-win32-ia32-msvc@2.7.1':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@tauri-apps/cli@2.1.0':
|
'@tauri-apps/cli-win32-x64-msvc@2.7.1':
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
'@tauri-apps/cli@2.7.1':
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@tauri-apps/cli-darwin-arm64': 2.1.0
|
'@tauri-apps/cli-darwin-arm64': 2.7.1
|
||||||
'@tauri-apps/cli-darwin-x64': 2.1.0
|
'@tauri-apps/cli-darwin-x64': 2.7.1
|
||||||
'@tauri-apps/cli-linux-arm-gnueabihf': 2.1.0
|
'@tauri-apps/cli-linux-arm-gnueabihf': 2.7.1
|
||||||
'@tauri-apps/cli-linux-arm64-gnu': 2.1.0
|
'@tauri-apps/cli-linux-arm64-gnu': 2.7.1
|
||||||
'@tauri-apps/cli-linux-arm64-musl': 2.1.0
|
'@tauri-apps/cli-linux-arm64-musl': 2.7.1
|
||||||
'@tauri-apps/cli-linux-x64-gnu': 2.1.0
|
'@tauri-apps/cli-linux-riscv64-gnu': 2.7.1
|
||||||
'@tauri-apps/cli-linux-x64-musl': 2.1.0
|
'@tauri-apps/cli-linux-x64-gnu': 2.7.1
|
||||||
'@tauri-apps/cli-win32-arm64-msvc': 2.1.0
|
'@tauri-apps/cli-linux-x64-musl': 2.7.1
|
||||||
'@tauri-apps/cli-win32-ia32-msvc': 2.1.0
|
'@tauri-apps/cli-win32-arm64-msvc': 2.7.1
|
||||||
'@tauri-apps/cli-win32-x64-msvc': 2.1.0
|
'@tauri-apps/cli-win32-ia32-msvc': 2.7.1
|
||||||
|
'@tauri-apps/cli-win32-x64-msvc': 2.7.1
|
||||||
|
|
||||||
'@tauri-apps/plugin-autostart@2.0.0':
|
'@tauri-apps/plugin-autostart@2.0.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tauri-apps/api': 2.1.0
|
'@tauri-apps/api': 2.7.0
|
||||||
|
|
||||||
'@tauri-apps/plugin-clipboard-manager@2.0.0':
|
'@tauri-apps/plugin-clipboard-manager@2.3.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tauri-apps/api': 2.1.0
|
'@tauri-apps/api': 2.7.0
|
||||||
|
|
||||||
'@tauri-apps/plugin-os@2.0.0':
|
'@tauri-apps/plugin-os@2.3.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tauri-apps/api': 2.1.0
|
'@tauri-apps/api': 2.7.0
|
||||||
|
|
||||||
'@tauri-apps/plugin-process@2.0.0':
|
'@tauri-apps/plugin-process@2.3.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tauri-apps/api': 2.1.0
|
'@tauri-apps/api': 2.7.0
|
||||||
|
|
||||||
'@tauri-apps/plugin-shell@2.0.1':
|
'@tauri-apps/plugin-shell@2.3.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tauri-apps/api': 2.1.0
|
'@tauri-apps/api': 2.7.0
|
||||||
|
|
||||||
'@tybys/wasm-util@0.9.0':
|
'@tybys/wasm-util@0.9.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
Default permissions for the plugin
|
Default permissions for the plugin
|
||||||
|
|
||||||
|
#### This default permission set includes the following:
|
||||||
|
|
||||||
- `allow-ping`
|
- `allow-ping`
|
||||||
- `allow-start-vpn`
|
- `allow-start-vpn`
|
||||||
|
|
||||||
|
@@ -49,7 +49,7 @@
|
|||||||
"minimum": 1.0
|
"minimum": 1.0
|
||||||
},
|
},
|
||||||
"description": {
|
"description": {
|
||||||
"description": "Human-readable description of what the permission does. Tauri convention is to use <h4> headings in markdown content for Tauri documentation generation purposes.",
|
"description": "Human-readable description of what the permission does. Tauri convention is to use `<h4>` headings in markdown content for Tauri documentation generation purposes.",
|
||||||
"type": [
|
"type": [
|
||||||
"string",
|
"string",
|
||||||
"null"
|
"null"
|
||||||
@@ -111,7 +111,7 @@
|
|||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
"description": {
|
"description": {
|
||||||
"description": "Human-readable description of what the permission does. Tauri internal convention is to use <h4> headings in markdown content for Tauri documentation generation purposes.",
|
"description": "Human-readable description of what the permission does. Tauri internal convention is to use `<h4>` headings in markdown content for Tauri documentation generation purposes.",
|
||||||
"type": [
|
"type": [
|
||||||
"string",
|
"string",
|
||||||
"null"
|
"null"
|
||||||
@@ -297,67 +297,80 @@
|
|||||||
{
|
{
|
||||||
"description": "Enables the ping command without any pre-configured scope.",
|
"description": "Enables the ping command without any pre-configured scope.",
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"const": "allow-ping"
|
"const": "allow-ping",
|
||||||
|
"markdownDescription": "Enables the ping command without any pre-configured scope."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"description": "Denies the ping command without any pre-configured scope.",
|
"description": "Denies the ping command without any pre-configured scope.",
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"const": "deny-ping"
|
"const": "deny-ping",
|
||||||
|
"markdownDescription": "Denies the ping command without any pre-configured scope."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"description": "Enables the prepare_vpn command without any pre-configured scope.",
|
"description": "Enables the prepare_vpn command without any pre-configured scope.",
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"const": "allow-prepare-vpn"
|
"const": "allow-prepare-vpn",
|
||||||
|
"markdownDescription": "Enables the prepare_vpn command without any pre-configured scope."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"description": "Denies the prepare_vpn command without any pre-configured scope.",
|
"description": "Denies the prepare_vpn command without any pre-configured scope.",
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"const": "deny-prepare-vpn"
|
"const": "deny-prepare-vpn",
|
||||||
|
"markdownDescription": "Denies the prepare_vpn command without any pre-configured scope."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"description": "Enables the registerListener command without any pre-configured scope.",
|
"description": "Enables the registerListener command without any pre-configured scope.",
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"const": "allow-registerListener"
|
"const": "allow-registerListener",
|
||||||
|
"markdownDescription": "Enables the registerListener command without any pre-configured scope."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"description": "Denies the registerListener command without any pre-configured scope.",
|
"description": "Denies the registerListener command without any pre-configured scope.",
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"const": "deny-registerListener"
|
"const": "deny-registerListener",
|
||||||
|
"markdownDescription": "Denies the registerListener command without any pre-configured scope."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"description": "Enables the register_listener command without any pre-configured scope.",
|
"description": "Enables the register_listener command without any pre-configured scope.",
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"const": "allow-register-listener"
|
"const": "allow-register-listener",
|
||||||
|
"markdownDescription": "Enables the register_listener command without any pre-configured scope."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"description": "Denies the register_listener command without any pre-configured scope.",
|
"description": "Denies the register_listener command without any pre-configured scope.",
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"const": "deny-register-listener"
|
"const": "deny-register-listener",
|
||||||
|
"markdownDescription": "Denies the register_listener command without any pre-configured scope."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"description": "Enables the start_vpn command without any pre-configured scope.",
|
"description": "Enables the start_vpn command without any pre-configured scope.",
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"const": "allow-start-vpn"
|
"const": "allow-start-vpn",
|
||||||
|
"markdownDescription": "Enables the start_vpn command without any pre-configured scope."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"description": "Denies the start_vpn command without any pre-configured scope.",
|
"description": "Denies the start_vpn command without any pre-configured scope.",
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"const": "deny-start-vpn"
|
"const": "deny-start-vpn",
|
||||||
|
"markdownDescription": "Denies the start_vpn command without any pre-configured scope."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"description": "Enables the stop_vpn command without any pre-configured scope.",
|
"description": "Enables the stop_vpn command without any pre-configured scope.",
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"const": "allow-stop-vpn"
|
"const": "allow-stop-vpn",
|
||||||
|
"markdownDescription": "Enables the stop_vpn command without any pre-configured scope."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"description": "Denies the stop_vpn command without any pre-configured scope.",
|
"description": "Denies the stop_vpn command without any pre-configured scope.",
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"const": "deny-stop-vpn"
|
"const": "deny-stop-vpn",
|
||||||
|
"markdownDescription": "Denies the stop_vpn command without any pre-configured scope."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"description": "Default permissions for the plugin",
|
"description": "Default permissions for the plugin\n#### This default permission set includes:\n\n- `allow-ping`\n- `allow-start-vpn`",
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"const": "default"
|
"const": "default",
|
||||||
|
"markdownDescription": "Default permissions for the plugin\n#### This default permission set includes:\n\n- `allow-ping`\n- `allow-start-vpn`"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user