From 509ec96228f7321f9483d1f0e84b9c05e10ed5fc Mon Sep 17 00:00:00 2001 From: "github-action[bot]" Date: Thu, 24 Oct 2024 20:36:26 +0200 Subject: [PATCH] Update On Thu Oct 24 20:36:26 CEST 2024 --- .github/update.log | 1 + clash-nyanpasu/backend/Cargo.lock | 156 ++-- clash-nyanpasu/frontend/nyanpasu/package.json | 12 +- clash-nyanpasu/frontend/ui/package.json | 2 +- clash-nyanpasu/package.json | 2 +- clash-nyanpasu/pnpm-lock.yaml | 688 +++++++++--------- clash-nyanpasu/scripts/package.json | 2 +- clash-verge-rev/UPDATELOG.md | 2 + clash-verge-rev/package.json | 2 +- clash-verge-rev/src-tauri/src/core/tray.rs | 15 +- clash-verge-rev/src-tauri/tauri.conf.json | 2 +- .../src/components/proxy/proxy-render.tsx | 10 +- .../src/components/proxy/use-render-list.ts | 2 +- clash-verge-rev/src/pages/profiles.tsx | 58 +- geoip/README.md | 8 +- geoip/config.json | 19 + geoip/configuration.md | 146 +++- geoip/go.mod | 5 +- geoip/go.sum | 2 + geoip/lib/instance.go | 8 + geoip/plugin/maxmind/mmdb_out.go | 32 +- geoip/plugin/mihomo/mrs_out.go | 89 +-- geoip/plugin/plaintext/common_out.go | 14 +- geoip/plugin/plaintext/text_out.go | 87 ++- geoip/plugin/singbox/srs_out.go | 95 +-- geoip/plugin/special/stdout.go | 58 +- geoip/plugin/v2ray/dat_out.go | 120 ++- lede/include/kernel-6.6 | 4 +- ...tia-allow-forcing-order-of-MDI-pairs.patch | 6 +- ...-fix-return-value-check-in-aqr107_co.patch | 2 +- ...hy-aquantia-enable-AQR112-and-AQR412.patch | 8 +- ...ntia-add-PHY_IDs-for-AQR112-variants.patch | 6 +- .../780-usb-net-MeigLink_modem_support.patch | 4 +- ...-applying-active_low-bit-after-reset.patch | 4 +- .../901-usb-add-more-modem-support.patch | 2 +- ...gic-v3-add-hackaround-for-rk3568-its.patch | 24 +- shadowsocks-rust/Cargo.lock | 70 +- shadowsocks-rust/Cargo.toml | 4 +- .../crates/shadowsocks-service/Cargo.toml | 2 +- .../src/local/http/http_client.rs | 98 ++- .../src/local/http/http_service.rs | 4 + .../src/local/redir/sys/mod.rs | 2 +- .../src/server/udprelay.rs | 2 - .../crates/shadowsocks/src/net/sys/mod.rs | 2 +- shadowsocks-rust/debian/changelog | 16 + shadowsocks-rust/src/service/local.rs | 5 +- small/docker/Makefile | 75 ++ small/mihomo/Makefile | 1 - small/mihomo/files/mihomo.upgrade | 5 +- small/v2ray-geodata/Makefile | 4 +- v2rayn/v2rayN/AmazTool/AmazTool.csproj | 4 +- v2rayn/v2rayN/PacLib/PacHandler.cs | 3 +- v2rayn/v2rayN/ProtosLib/ProtosLib.csproj | 2 +- v2rayn/v2rayN/ServiceLib/Common/Utils.cs | 45 +- .../v2rayN/ServiceLib/Handler/AppHandler.cs | 33 +- .../ServiceLib/Handler/ClashApiHandler.cs | 2 +- .../ServiceLib/Handler/ConfigHandler.cs | 50 +- .../v2rayN/ServiceLib/Handler/CoreHandler.cs | 28 +- .../ServiceLib/Handler/CoreInfoHandler.cs | 4 - .../ServiceLib/Handler/Fmt/Hysteria2Fmt.cs | 3 +- .../ServiceLib/Handler/Fmt/ShadowsocksFmt.cs | 12 +- .../v2rayN/ServiceLib/Handler/Fmt/SocksFmt.cs | 12 +- .../ServiceLib/Handler/Fmt/TrojanFmt.cs | 3 +- .../v2rayN/ServiceLib/Handler/Fmt/TuicFmt.cs | 3 +- .../v2rayN/ServiceLib/Handler/Fmt/VLESSFmt.cs | 3 +- .../v2rayN/ServiceLib/Handler/Fmt/VmessFmt.cs | 3 +- .../ServiceLib/Handler/Fmt/WireguardFmt.cs | 3 +- v2rayn/v2rayN/ServiceLib/Models/CoreInfo.cs | 1 - .../v2rayN/ServiceLib/Models/RoutingItem.cs | 1 + v2rayn/v2rayN/ServiceLib/ServiceLib.csproj | 2 +- .../ServiceLib/Services/UpdateService.cs | 1 - .../ViewModels/CheckUpdateViewModel.cs | 51 +- .../ViewModels/ClashProxiesViewModel.cs | 4 +- .../ViewModels/MainWindowViewModel.cs | 6 +- .../ViewModels/RoutingSettingViewModel.cs | 2 +- .../ViewModels/StatusBarViewModel.cs | 3 +- .../ServiceLib/ViewModels/SubEditViewModel.cs | 17 + .../v2rayN.Desktop/Views/MainWindow.axaml.cs | 5 +- .../v2rayN.Desktop/v2rayN.Desktop.csproj | 1 + v2rayn/v2rayN/v2rayN/App.xaml | 2 +- v2rayn/v2rayN/v2rayN/Common/QRCodeHelper.cs | 1 - .../v2rayN/Views/ClashConnectionsView.xaml | 6 +- .../v2rayN/v2rayN/Views/ClashProxiesView.xaml | 8 +- .../Views/GlobalHotkeySettingWindow.xaml.cs | 2 +- .../v2rayN/Views/OptionSettingWindow.xaml | 1 - .../Views/RoutingRuleDetailsWindow.xaml | 8 +- .../Views/RoutingRuleSettingWindow.xaml | 8 +- .../v2rayN/Views/RoutingSettingWindow.xaml | 4 +- .../v2rayN/Views/RoutingSettingWindow.xaml.cs | 2 +- v2rayn/v2rayN/v2rayN/Views/SubEditWindow.xaml | 8 +- v2rayn/v2rayN/v2rayN/v2rayN.csproj | 2 +- v2rayng/.github/dependabot.yml | 10 - v2rayng/.github/workflows/build.yml | 4 +- v2rayu/V2rayU/Preference/PreferencePac.swift | 2 +- xray-core/README.md | 8 +- .../workflows/releases-android-binary.yml | 2 +- yass/README.md | 60 +- yass/debian/changelog | 14 + yass/src/ios/Base.lproj/Main.storyboard | 67 +- yass/src/ios/YassAppDelegate.mm | 6 +- yass/src/ios/YassViewController.h | 1 + yass/src/ios/YassViewController.mm | 15 + yass/src/ios/en.lproj/Main.strings | 3 + .../extensions/YassPacketTunnelProvider.mm | 6 +- yass/src/ios/utils.h | 1 + yass/src/ios/zh-Hans.lproj/Main.strings | 3 + yass/yass.spec.in | 8 + yt-dlp/README.md | 4 +- yt-dlp/devscripts/changelog_override.json | 5 + yt-dlp/pyproject.toml | 2 +- yt-dlp/yt_dlp/__init__.py | 3 +- yt-dlp/yt_dlp/extractor/facebook.py | 10 +- yt-dlp/yt_dlp/extractor/lbry.py | 3 + 113 files changed, 1506 insertions(+), 1077 deletions(-) create mode 100644 small/docker/Makefile delete mode 100644 v2rayng/.github/dependabot.yml diff --git a/.github/update.log b/.github/update.log index 7ef745a2af..08c0be31e9 100644 --- a/.github/update.log +++ b/.github/update.log @@ -803,3 +803,4 @@ Update On Sun Oct 20 20:32:12 CEST 2024 Update On Mon Oct 21 20:36:16 CEST 2024 Update On Tue Oct 22 20:35:01 CEST 2024 Update On Wed Oct 23 20:36:27 CEST 2024 +Update On Thu Oct 24 20:36:15 CEST 2024 diff --git a/clash-nyanpasu/backend/Cargo.lock b/clash-nyanpasu/backend/Cargo.lock index 53f9e5d2d0..c4d93c8303 100644 --- a/clash-nyanpasu/backend/Cargo.lock +++ b/clash-nyanpasu/backend/Cargo.lock @@ -313,9 +313,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.90" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37bf3594c4c988a53154954629820791dde498571819ae4ca50ca811e060cc95" +checksum = "c042108f3ed77fd83760a5fd79b53be043192bb3b9dba91d8c574c0ada7850c8" [[package]] name = "arbitrary" @@ -358,7 +358,7 @@ checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -548,7 +548,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -583,7 +583,7 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -623,7 +623,7 @@ checksum = "99e1aca718ea7b89985790c94aad72d77533063fe00bc497bb79a7c2dae6a661" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -858,7 +858,7 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.82", + "syn 2.0.85", "which 4.4.2", ] @@ -1046,7 +1046,7 @@ checksum = "240f4126219a83519bad05c9a40bfc0303921eeb571fc2d7e44c17ffac99d3f1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", "synstructure", ] @@ -1167,7 +1167,7 @@ checksum = "bcfcc3cd946cb52f0bbfdbbcfa2f4e24f75ebb6c0e1002f7c25904fada18b9ec" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -1461,7 +1461,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -1729,7 +1729,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f76990911f2267d837d9d0ad060aa63aaad170af40904b29461734c339030d4d" dependencies = [ "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -1984,7 +1984,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" dependencies = [ "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -1994,7 +1994,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "edb49164822f3ee45b17acd4a208cfc1251410cf0cad9a833234c9890774dd9f" dependencies = [ "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -2065,7 +2065,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -2076,7 +2076,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -2180,7 +2180,7 @@ checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -2201,7 +2201,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -2211,7 +2211,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" dependencies = [ "derive_builder_core", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -2224,7 +2224,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -2356,7 +2356,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -2388,7 +2388,7 @@ checksum = "f2b99bf03862d7f545ebc28ddd33a665b50865f4dfd84031a393823879bd4c54" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -2659,7 +2659,7 @@ checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -2680,7 +2680,7 @@ checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -2982,7 +2982,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -3106,7 +3106,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -3394,7 +3394,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -3668,7 +3668,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -4122,7 +4122,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -4306,7 +4306,7 @@ checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -5035,7 +5035,7 @@ checksum = "dcf09caffaac8068c346b6df2a7fc27a177fd20b39421a39ce0a211bde679a6c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -5411,7 +5411,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -5471,7 +5471,7 @@ dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -5528,7 +5528,7 @@ version = "0.1.0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -5857,7 +5857,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -6008,7 +6008,7 @@ checksum = "0a4b29106d9f2bbcca4f5ee7a9325c99844ff9721d10103625cd5278795507fe" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -6248,7 +6248,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -6386,7 +6386,7 @@ dependencies = [ "phf_shared 0.11.2", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -6439,7 +6439,7 @@ checksum = "a4502d8515ca9f32f1fb543d987f63d95a14934883db45bdb48060b6b69257f8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -6590,7 +6590,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "479cf940fbbb3426c32c5d5176f62ad57549a0bb84773423ba8be9d089f5faba" dependencies = [ "proc-macro2", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -6653,9 +6653,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.88" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c3a7fc5db1e57d5a779a352c8cdb57b29aa4c40cc69c3a68a7fedc815fbf2f9" +checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" dependencies = [ "unicode-ident", ] @@ -6676,7 +6676,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8021cf59c8ec9c432cfc2526ac6b8aa508ecaf29cd415f271b8406c1b851c3fd" dependencies = [ "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -7011,7 +7011,7 @@ checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -7259,7 +7259,7 @@ dependencies = [ "serde", "serde_json", "serde_yml", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -7444,7 +7444,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -7586,7 +7586,7 @@ checksum = "7e85ad2009c50b58e87caa8cd6dac16bdf511bbfb7af6c33df902396aa480fa5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -7597,7 +7597,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -7630,7 +7630,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -7681,7 +7681,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -8184,7 +8184,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -8237,9 +8237,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.82" +version = "2.0.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83540f837a8afc019423a8edb95b52a8effe46957ee402287f4292fae35be021" +checksum = "5023162dfcd14ef8f32034d8bcd4cc5ddc61ef7a247c024a33e24e1f24d21b56" dependencies = [ "proc-macro2", "quote", @@ -8269,7 +8269,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -8390,7 +8390,7 @@ checksum = "f4e16beb8b2ac17db28eab8bca40e62dbfbb34c0fcdc6d9826b11b7b5d047dfd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -8507,7 +8507,7 @@ dependencies = [ "serde", "serde_json", "sha2 0.10.8", - "syn 2.0.82", + "syn 2.0.85", "tauri-utils", "thiserror", "time", @@ -8525,7 +8525,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", "tauri-codegen", "tauri-utils", ] @@ -8938,7 +8938,7 @@ checksum = "5999e24eaa32083191ba4e425deb75cdf25efefabe5aaccb7446dd0d4122a3f5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -8981,7 +8981,7 @@ checksum = "ae71770322cbd277e69d762a16c444af02aa0575ac0d174f0b9562d3b37f8602" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -9137,7 +9137,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -9317,7 +9317,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -9958,7 +9958,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", "wasm-bindgen-shared", ] @@ -9992,7 +9992,7 @@ checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -10263,7 +10263,7 @@ checksum = "1d228f15bba3b9d56dde8bddbee66fa24545bd17b48d5128ccf4a8742b18e431" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -10570,7 +10570,7 @@ checksum = "f6fc35f58ecd95a9b71c4f2329b911016e6bec66b3f2e6a4aad86bd2e99e2f9b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -10581,7 +10581,7 @@ checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -10592,7 +10592,7 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -10603,7 +10603,7 @@ checksum = "08990546bf4edef8f431fa6326e032865f27138718c587dc21bc0265bbcb57cc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -10614,7 +10614,7 @@ checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -10625,7 +10625,7 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -11192,7 +11192,7 @@ checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", "synstructure", ] @@ -11253,7 +11253,7 @@ checksum = "709ab20fc57cb22af85be7b360239563209258430bccf38d8b979c5a2ae3ecce" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", "zbus-lockstep", "zbus_xml", "zvariant", @@ -11268,7 +11268,7 @@ dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", "zvariant_utils", ] @@ -11314,7 +11314,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -11334,7 +11334,7 @@ checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", "synstructure", ] @@ -11355,7 +11355,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -11377,7 +11377,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -11507,7 +11507,7 @@ dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", "zvariant_utils", ] @@ -11519,5 +11519,5 @@ checksum = "c51bcff7cc3dbb5055396bcf774748c3dab426b4b8659046963523cee4808340" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] diff --git a/clash-nyanpasu/frontend/nyanpasu/package.json b/clash-nyanpasu/frontend/nyanpasu/package.json index 146454cecd..10a84c83df 100644 --- a/clash-nyanpasu/frontend/nyanpasu/package.json +++ b/clash-nyanpasu/frontend/nyanpasu/package.json @@ -21,7 +21,7 @@ "@mui/material": "6.1.5", "@nyanpasu/interface": "workspace:^", "@nyanpasu/ui": "workspace:^", - "@tanstack/router-zod-adapter": "1.74.6", + "@tanstack/router-zod-adapter": "1.76.1", "@tauri-apps/api": "2.0.3", "@types/json-schema": "7.0.15", "ahooks": "3.8.1", @@ -29,7 +29,7 @@ "country-code-emoji": "2.3.0", "dayjs": "1.11.13", "framer-motion": "12.0.0-alpha.1", - "i18next": "23.16.2", + "i18next": "23.16.3", "jotai": "2.10.1", "json-schema": "0.4.0", "material-react-table": "3.0.1", @@ -54,9 +54,9 @@ "@emotion/react": "11.13.3", "@iconify/json": "2.2.263", "@monaco-editor/react": "4.6.0", - "@tanstack/react-router": "1.74.6", - "@tanstack/router-devtools": "1.74.6", - "@tanstack/router-plugin": "1.74.2", + "@tanstack/react-router": "1.76.1", + "@tanstack/router-devtools": "1.76.1", + "@tanstack/router-plugin": "1.76.0", "@tauri-apps/plugin-clipboard-manager": "2.0.0", "@tauri-apps/plugin-dialog": "2.0.1", "@tauri-apps/plugin-fs": "2.0.1", @@ -76,7 +76,7 @@ "meta-json-schema": "1.18.9", "monaco-yaml": "5.2.2", "nanoid": "5.0.7", - "sass": "1.80.3", + "sass": "1.80.4", "shiki": "1.22.0", "tailwindcss-textshadow": "2.1.3", "unplugin-auto-import": "0.18.3", diff --git a/clash-nyanpasu/frontend/ui/package.json b/clash-nyanpasu/frontend/ui/package.json index ada0a6ecec..e74609936a 100644 --- a/clash-nyanpasu/frontend/ui/package.json +++ b/clash-nyanpasu/frontend/ui/package.json @@ -42,7 +42,7 @@ "@types/d3-interpolate-path": "2.0.3", "clsx": "2.1.1", "d3-interpolate-path": "2.3.0", - "sass": "1.80.3", + "sass": "1.80.4", "tailwind-merge": "2.5.4", "typescript-plugin-css-modules": "5.1.0", "vite-plugin-dts": "4.3.0" diff --git a/clash-nyanpasu/package.json b/clash-nyanpasu/package.json index 3894dde1af..4095449216 100644 --- a/clash-nyanpasu/package.json +++ b/clash-nyanpasu/package.json @@ -82,7 +82,7 @@ "eslint-plugin-react": "7.37.2", "eslint-plugin-react-compiler": "0.0.0-experimental-fa06e2c-20241016", "eslint-plugin-react-hooks": "4.6.2", - "knip": "5.33.3", + "knip": "5.34.0", "lint-staged": "15.2.10", "npm-run-all2": "6.2.6", "postcss": "8.4.47", diff --git a/clash-nyanpasu/pnpm-lock.yaml b/clash-nyanpasu/pnpm-lock.yaml index 8f50eed59f..f812693348 100644 --- a/clash-nyanpasu/pnpm-lock.yaml +++ b/clash-nyanpasu/pnpm-lock.yaml @@ -96,8 +96,8 @@ importers: specifier: 4.6.2 version: 4.6.2(eslint@8.57.1) knip: - specifier: 5.33.3 - version: 5.33.3(@types/node@22.7.9)(typescript@5.6.3) + specifier: 5.34.0 + version: 5.34.0(@types/node@22.7.9)(typescript@5.6.3) lint-staged: specifier: 15.2.10 version: 15.2.10 @@ -166,16 +166,16 @@ importers: version: 2.0.3 ahooks: specifier: 3.8.1 - version: 3.8.1(react@19.0.0-rc-45804af1-20241021) + version: 3.8.1(react@19.0.0-rc-1631855f-20241023) ofetch: specifier: 1.4.1 version: 1.4.1 react: specifier: rc - version: 19.0.0-rc-45804af1-20241021 + version: 19.0.0-rc-1631855f-20241023 swr: specifier: 2.2.5 - version: 2.2.5(react@19.0.0-rc-45804af1-20241021) + version: 2.2.5(react@19.0.0-rc-1631855f-20241023) devDependencies: '@types/react': specifier: npm:types-react@rc @@ -185,16 +185,16 @@ importers: dependencies: '@dnd-kit/core': specifier: 6.1.0 - version: 6.1.0(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021) + version: 6.1.0(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023) '@dnd-kit/sortable': specifier: 8.0.0 - version: 8.0.0(@dnd-kit/core@6.1.0(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021) + version: 8.0.0(@dnd-kit/core@6.1.0(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023) '@dnd-kit/utilities': specifier: 3.2.2 - version: 3.2.2(react@19.0.0-rc-45804af1-20241021) + version: 3.2.2(react@19.0.0-rc-1631855f-20241023) '@emotion/styled': specifier: 11.13.0 - version: 11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + version: 11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) '@juggle/resize-observer': specifier: 3.4.0 version: 3.4.0 @@ -203,13 +203,13 @@ importers: version: 0.3.0 '@mui/icons-material': specifier: 6.1.5 - version: 6.1.5(@mui/material@6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + version: 6.1.5(@mui/material@6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) '@mui/lab': specifier: 6.0.0-beta.13 - version: 6.0.0-beta.13(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@mui/material@6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + version: 6.0.0-beta.13(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@mui/material@6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) '@mui/material': specifier: 6.1.5 - version: 6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + version: 6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) '@nyanpasu/interface': specifier: workspace:^ version: link:../interface @@ -217,8 +217,8 @@ importers: specifier: workspace:^ version: link:../ui '@tanstack/router-zod-adapter': - specifier: 1.74.6 - version: 1.74.6(@tanstack/react-router@1.74.6(@tanstack/router-generator@1.74.2)(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021))(zod@3.23.8) + specifier: 1.76.1 + version: 1.76.1(@tanstack/react-router@1.76.1(@tanstack/router-generator@1.74.2)(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023))(zod@3.23.8) '@tauri-apps/api': specifier: 2.0.3 version: 2.0.3 @@ -227,10 +227,10 @@ importers: version: 7.0.15 ahooks: specifier: 3.8.1 - version: 3.8.1(react@19.0.0-rc-45804af1-20241021) + version: 3.8.1(react@19.0.0-rc-1631855f-20241023) allotment: specifier: 1.20.2 - version: 1.20.2(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021) + version: 1.20.2(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023) country-code-emoji: specifier: 2.3.0 version: 2.3.0 @@ -239,58 +239,58 @@ importers: version: 1.11.13 framer-motion: specifier: 12.0.0-alpha.1 - version: 12.0.0-alpha.1(@emotion/is-prop-valid@1.3.0)(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021) + version: 12.0.0-alpha.1(@emotion/is-prop-valid@1.3.0)(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023) i18next: - specifier: 23.16.2 - version: 23.16.2 + specifier: 23.16.3 + version: 23.16.3 jotai: specifier: 2.10.1 - version: 2.10.1(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + version: 2.10.1(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) json-schema: specifier: 0.4.0 version: 0.4.0 material-react-table: specifier: 3.0.1 - version: 3.0.1(m2schmc4gymzzz5warsjdfkznu) + version: 3.0.1(ssp4w3hwtozkjqzhgdupzt3ocq) monaco-editor: specifier: 0.52.0 version: 0.52.0 mui-color-input: specifier: 4.0.2 - version: 4.0.2(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@mui/material@6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + version: 4.0.2(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@mui/material@6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) react: specifier: rc - version: 19.0.0-rc-45804af1-20241021 + version: 19.0.0-rc-1631855f-20241023 react-dom: specifier: rc - version: 19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021) + version: 19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023) react-error-boundary: specifier: 4.1.2 - version: 4.1.2(react@19.0.0-rc-45804af1-20241021) + version: 4.1.2(react@19.0.0-rc-1631855f-20241023) react-fast-marquee: specifier: 1.6.5 - version: 1.6.5(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021) + version: 1.6.5(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023) react-hook-form-mui: specifier: 7.4.0 - version: 7.4.0(zjsn56ntcojf65vyh5b7fnjyce) + version: 7.4.0(ir3pm7rxqjrasaubsqt6khinqy) react-i18next: specifier: 15.0.3 - version: 15.0.3(i18next@23.16.2)(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021) + version: 15.0.3(i18next@23.16.3)(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023) react-markdown: specifier: 9.0.1 - version: 9.0.1(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + version: 9.0.1(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) react-split-grid: specifier: 1.0.4 - version: 1.0.4(react@19.0.0-rc-45804af1-20241021) + version: 1.0.4(react@19.0.0-rc-1631855f-20241023) react-use: specifier: 17.5.1 - version: 17.5.1(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021) + version: 17.5.1(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023) swr: specifier: 2.2.5 - version: 2.2.5(react@19.0.0-rc-45804af1-20241021) + version: 2.2.5(react@19.0.0-rc-1631855f-20241023) virtua: specifier: 0.35.1 - version: 0.35.1(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021) + version: 0.35.1(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023) vite-bundle-visualizer: specifier: 1.2.1 version: 1.2.1(rollup@4.21.0) @@ -303,22 +303,22 @@ importers: version: 11.12.0 '@emotion/react': specifier: 11.13.3 - version: 11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + version: 11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) '@iconify/json': specifier: 2.2.263 version: 2.2.263 '@monaco-editor/react': specifier: 4.6.0 - version: 4.6.0(monaco-editor@0.52.0)(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021) + version: 4.6.0(monaco-editor@0.52.0)(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023) '@tanstack/react-router': - specifier: 1.74.6 - version: 1.74.6(@tanstack/router-generator@1.74.2)(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021) + specifier: 1.76.1 + version: 1.76.1(@tanstack/router-generator@1.74.2)(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023) '@tanstack/router-devtools': - specifier: 1.74.6 - version: 1.74.6(@tanstack/react-router@1.74.6(@tanstack/router-generator@1.74.2)(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021))(csstype@3.1.3)(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021) + specifier: 1.76.1 + version: 1.76.1(@tanstack/react-router@1.76.1(@tanstack/router-generator@1.74.2)(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023))(csstype@3.1.3)(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023) '@tanstack/router-plugin': - specifier: 1.74.2 - version: 1.74.2(vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.3)(stylus@0.62.0))(webpack-sources@3.2.3) + specifier: 1.76.0 + version: 1.76.0(vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.4)(stylus@0.62.0))(webpack-sources@3.2.3) '@tauri-apps/plugin-clipboard-manager': specifier: 2.0.0 version: 2.0.0 @@ -354,10 +354,10 @@ importers: version: 13.12.2 '@vitejs/plugin-react': specifier: 4.3.3 - version: 4.3.3(vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.3)(stylus@0.62.0)) + version: 4.3.3(vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.4)(stylus@0.62.0)) '@vitejs/plugin-react-swc': specifier: 3.7.1 - version: 3.7.1(vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.3)(stylus@0.62.0)) + version: 3.7.1(vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.4)(stylus@0.62.0)) change-case: specifier: 5.4.4 version: 5.4.4 @@ -377,8 +377,8 @@ importers: specifier: 5.0.7 version: 5.0.7 sass: - specifier: 1.80.3 - version: 1.80.3 + specifier: 1.80.4 + version: 1.80.4 shiki: specifier: 1.22.0 version: 1.22.0 @@ -396,16 +396,16 @@ importers: version: 13.12.0 vite: specifier: 5.4.10 - version: 5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.3)(stylus@0.62.0) + version: 5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.4)(stylus@0.62.0) vite-plugin-sass-dts: specifier: 1.3.29 - version: 1.3.29(postcss@8.4.47)(prettier@3.3.3)(sass-embedded@1.78.0)(vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.3)(stylus@0.62.0)) + version: 1.3.29(postcss@8.4.47)(prettier@3.3.3)(sass-embedded@1.78.0)(vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.4)(stylus@0.62.0)) vite-plugin-svgr: specifier: 4.2.0 - version: 4.2.0(rollup@4.21.0)(typescript@5.6.3)(vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.3)(stylus@0.62.0)) + version: 4.2.0(rollup@4.21.0)(typescript@5.6.3)(vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.4)(stylus@0.62.0)) vite-tsconfig-paths: specifier: 5.0.1 - version: 5.0.1(typescript@5.6.3)(vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.3)(stylus@0.62.0)) + version: 5.0.1(typescript@5.6.3)(vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.4)(stylus@0.62.0)) zod: specifier: 3.23.8 version: 3.23.8 @@ -417,19 +417,19 @@ importers: version: 0.3.0 '@mui/icons-material': specifier: 6.1.5 - version: 6.1.5(@mui/material@6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + version: 6.1.5(@mui/material@6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) '@mui/lab': specifier: 6.0.0-beta.13 - version: 6.0.0-beta.13(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@mui/material@6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + version: 6.0.0-beta.13(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@mui/material@6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) '@mui/material': specifier: 6.1.5 - version: 6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + version: 6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) '@radix-ui/react-portal': specifier: 1.1.2 - version: 1.1.2(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + version: 1.1.2(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) '@radix-ui/react-scroll-area': specifier: 1.2.0 - version: 1.2.0(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + version: 1.2.0(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) '@tauri-apps/api': specifier: 2.0.3 version: 2.0.3 @@ -441,41 +441,41 @@ importers: version: types-react@19.0.0-rc.1 '@vitejs/plugin-react': specifier: 4.3.3 - version: 4.3.3(vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.3)(stylus@0.62.0)) + version: 4.3.3(vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.4)(stylus@0.62.0)) ahooks: specifier: 3.8.1 - version: 3.8.1(react@19.0.0-rc-45804af1-20241021) + version: 3.8.1(react@19.0.0-rc-1631855f-20241023) d3: specifier: 7.9.0 version: 7.9.0 framer-motion: specifier: 12.0.0-alpha.1 - version: 12.0.0-alpha.1(@emotion/is-prop-valid@1.3.0)(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021) + version: 12.0.0-alpha.1(@emotion/is-prop-valid@1.3.0)(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023) react: specifier: rc - version: 19.0.0-rc-45804af1-20241021 + version: 19.0.0-rc-1631855f-20241023 react-dom: specifier: rc - version: 19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021) + version: 19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023) react-error-boundary: specifier: 4.1.2 - version: 4.1.2(react@19.0.0-rc-45804af1-20241021) + version: 4.1.2(react@19.0.0-rc-1631855f-20241023) react-i18next: specifier: 15.0.3 - version: 15.0.3(i18next@23.16.2)(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021) + version: 15.0.3(i18next@23.16.3)(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023) react-use: specifier: 17.5.1 - version: 17.5.1(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021) + version: 17.5.1(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023) vite: specifier: 5.4.10 - version: 5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.3)(stylus@0.62.0) + version: 5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.4)(stylus@0.62.0) vite-tsconfig-paths: specifier: 5.0.1 - version: 5.0.1(typescript@5.6.3)(vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.3)(stylus@0.62.0)) + version: 5.0.1(typescript@5.6.3)(vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.4)(stylus@0.62.0)) devDependencies: '@emotion/react': specifier: 11.13.3 - version: 11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + version: 11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) '@types/d3-interpolate-path': specifier: 2.0.3 version: 2.0.3 @@ -486,8 +486,8 @@ importers: specifier: 2.3.0 version: 2.3.0 sass: - specifier: 1.80.3 - version: 1.80.3 + specifier: 1.80.4 + version: 1.80.4 tailwind-merge: specifier: 2.5.4 version: 2.5.4 @@ -496,7 +496,7 @@ importers: version: 5.1.0(typescript@5.6.3) vite-plugin-dts: specifier: 4.3.0 - version: 4.3.0(@types/node@22.7.9)(rollup@4.21.0)(typescript@5.6.3)(vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.3)(stylus@0.62.0)) + version: 4.3.0(@types/node@22.7.9)(rollup@4.21.0)(typescript@5.6.3)(vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.4)(stylus@0.62.0)) scripts: dependencies: @@ -550,8 +550,8 @@ importers: specifier: 7.4.3 version: 7.4.3 telegram: - specifier: 2.25.15 - version: 2.25.15 + specifier: 2.26.2 + version: 2.26.2 undici: specifier: 6.20.1 version: 6.20.1 @@ -2303,8 +2303,8 @@ packages: resolution: {integrity: sha512-Wo1iKt2b9OT7d+YGhvEPD3DXvPv2etTusIMhMUoG7fbhmxcXCtIjJDEygy91Y2JFlwGyjqiBPRozme7UD8hoqg==} engines: {node: '>=12'} - '@tanstack/react-router@1.74.6': - resolution: {integrity: sha512-mC5TMzzEAiVRvfUEHyOHhvYvt+ORrKfOSA5Tf+R/eoM0pyWo/RHCPlNSAzSfOcWU5S4LZONj8rtAvwU1fHFmFQ==} + '@tanstack/react-router@1.76.1': + resolution: {integrity: sha512-d8W1Uszni3kecOSseg2CSm+8X4RuhIzoJ14YYtJ6KtjQRkM/t44GSzt8DglVldo3v3xeh4FiVRvtCQ41hZ1MZw==} engines: {node: '>=12'} peerDependencies: '@tanstack/router-generator': 1.74.2 @@ -2333,11 +2333,11 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - '@tanstack/router-devtools@1.74.6': - resolution: {integrity: sha512-myaoE6j3/kCfxJ6f69BwRWqJy65DO6//9TI06041PBWMsuFyfs64xPVrLGvnY48pWwHePFTvrb8ryxF4bMXAlA==} + '@tanstack/router-devtools@1.76.1': + resolution: {integrity: sha512-baN1DzE6sVaYivOIBNHxmPEUvGm57RZ6T/5VR9tx19A3K7n3rnmybnpuUsdzqJzWWT2WAO7J8NIH6wvHuWZLgA==} engines: {node: '>=12'} peerDependencies: - '@tanstack/react-router': ^1.74.6 + '@tanstack/react-router': ^1.76.1 react: '>=18' react-dom: '>=18' @@ -2345,8 +2345,8 @@ packages: resolution: {integrity: sha512-S69fXvYcL+tQsO5Fe9ju/XVa/hZvk4pCaWbtoR2MNjIgR2RmjiFKOgXYeLRMNom/IpP/HAQmQ3m1DwU9jjSUKA==} engines: {node: '>=12'} - '@tanstack/router-plugin@1.74.2': - resolution: {integrity: sha512-HcG0FwSZ77g0QH9Ev2I1QYeXS+WWjdThO5Whgm/9abkyJq5GfsiLm2Ey2cw2Va+iHgD2nQdkraP9xL/z9/s6BQ==} + '@tanstack/router-plugin@1.76.0': + resolution: {integrity: sha512-5JY1NeNbxi7jamTKTAWLyyC9t4Y9Ol+vFZB84h6F1K1BkxqeWQTCJuXMYCY3KawSd7xy2mVT/BgDyZ0AS5hKAA==} engines: {node: '>=12'} peerDependencies: '@rsbuild/core': '>=1.0.2' @@ -2360,8 +2360,8 @@ packages: webpack: optional: true - '@tanstack/router-zod-adapter@1.74.6': - resolution: {integrity: sha512-TtWgqdp5IJeRmtpsNWxScIbbkzRYx3wGdRSJh9fDJO9CQNDiR0cMD3LZq7ASdBjeaCA0A99lMHtLgt9tQksacw==} + '@tanstack/router-zod-adapter@1.76.1': + resolution: {integrity: sha512-+PYKW7kV91ZATJcMaaCSR5tZUKlBmiVo1cRA7taAJfn/aDmUqzUCp5PVCtlOu0Myp+txmO78oKJyULLH36ovWw==} engines: {node: '>=12'} peerDependencies: '@tanstack/react-router': '>=1.43.2' @@ -4418,8 +4418,8 @@ packages: hyphenate-style-name@1.1.0: resolution: {integrity: sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw==} - i18next@23.16.2: - resolution: {integrity: sha512-dFyxwLXxEQK32f6tITBMaRht25mZPJhQ0WbC0p3bO2mWBal9lABTMqSka5k+GLSRWLzeJBKDpH7BeIA9TZI7Jg==} + i18next@23.16.3: + resolution: {integrity: sha512-e8q9gFyjrou5v/hBXgRwtWVK7Gp5So19Kf42spJlijGDfkin5abYFHlblonmD2GFYcsf9XIT7MpVuveJq/VCcA==} iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} @@ -4873,8 +4873,8 @@ packages: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} - knip@5.33.3: - resolution: {integrity: sha512-saUxedVDCa/8p3w445at66vLmYKretzYsX7+elMJ5ROWGzU+1aTRm3EmKELTaho1ue7BlwJB5BxLJROy43+LtQ==} + knip@5.34.0: + resolution: {integrity: sha512-TuPl8Tfrqoc1LWlR5S1RZwwN2Vk+CUCAGUbji6VAAUFv/nS5S6pzNwBYwDP0tCCN/iAPf9/NhbAni7s135vrQQ==} engines: {node: '>=18.6.0'} hasBin: true peerDependencies: @@ -5884,10 +5884,10 @@ packages: resolution: {integrity: sha512-B5XGOnOfwH4B7m0chzE1Cv5jlnfbbxF0LoBI+lacQuNj9PMvZ6JS5NCFnDw3zzy7zpOo6leyJNAED8sN3CgLVA==} hasBin: true - react-dom@19.0.0-rc-45804af1-20241021: - resolution: {integrity: sha512-8hOckEFO7Vxo+nH/EEddIGdencOFT0/3iJqF3mKrqv71n1xxhYcp0595JbT/DP31G8bHfDcBSMWVhIvyCGWy/A==} + react-dom@19.0.0-rc-1631855f-20241023: + resolution: {integrity: sha512-9L3iceg5wGF9QZCjYKgPrar5mjPtPJ/R4yZa7w/E06utqJRO48EWhFrqs71tFWCeM4ehmitQCxkuDk7IW47xUA==} peerDependencies: - react: 19.0.0-rc-45804af1-20241021 + react: 19.0.0-rc-1631855f-20241023 react-error-boundary@4.1.2: resolution: {integrity: sha512-GQDxZ5Jd+Aq/qUxbCm1UtzmL/s++V7zKgE8yMktJiCQXCCFZnMZh9ng+6/Ne6PjNSXH0L9CjeOEREfRnq6Duag==} @@ -5976,8 +5976,8 @@ packages: react: '*' react-dom: '*' - react@19.0.0-rc-45804af1-20241021: - resolution: {integrity: sha512-RYkYXmX7Iia56DQJaNK0Ribh5uF/sDBNirtNNHNNqqa3wpIlcFOkRvPTW3RSwAXmBVnEZlKbeaMhlBT9p52lqA==} + react@19.0.0-rc-1631855f-20241023: + resolution: {integrity: sha512-2kP1KI+/cI4WQ8taRm4572pnyY7FbdQqAJgtPNl/Uiiq+lIGZjloEeX5IcShWP/wBmlhm91/NCCeWs7rtm3jFw==} engines: {node: '>=0.10.0'} read-cache@1.0.0: @@ -6268,16 +6268,16 @@ packages: engines: {node: '>=16.0.0'} hasBin: true - sass@1.80.3: - resolution: {integrity: sha512-ptDWyVmDMVielpz/oWy3YP3nfs7LpJTHIJZboMVs8GEC9eUmtZTZhMHlTW98wY4aEorDfjN38+Wr/XjskFWcfA==} + sass@1.80.4: + resolution: {integrity: sha512-rhMQ2tSF5CsuuspvC94nPM9rToiAFw2h3JTrLlgmNw1MH79v8Cr3DH6KF6o6r+8oofY3iYVPUf66KzC8yuVN1w==} engines: {node: '>=14.0.0'} hasBin: true sax@1.3.0: resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} - scheduler@0.25.0-rc-45804af1-20241021: - resolution: {integrity: sha512-8jyu/iy3tGFNakMMCWnKw/vsiTcapDyl0LKlZ3fUKBcBicZAkrrCC1bdqVFx0Ioxgry1SzOrCGcZLM7vtWK00A==} + scheduler@0.25.0-rc-1631855f-20241023: + resolution: {integrity: sha512-2s9EC24hDG8cuGleyCZRpmzt7aiPMjr54Z7dvE0iSTowzzy33pyySHY/CofKbRX1I/wQMKD0I8i/gPgcc3dUxA==} screenfull@5.2.0: resolution: {integrity: sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==} @@ -6673,8 +6673,8 @@ packages: resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==} engines: {node: '>=18'} - telegram@2.25.15: - resolution: {integrity: sha512-kB6yNtrodeCrkM/ei/1Ksq8eOMUIlhZ/zWSAjFsJes1PCcYt6qblME7IPJI3re4FKLw0V+ptt4GH6/DGIu/OqA==} + telegram@2.26.2: + resolution: {integrity: sha512-KKXt4pVanB6xusgsyCZXAhFOWiUVVfoXZsFzXDrcWoWNbN67d42XIN25JLJ51Tnbe3MzNVUNk6jUeE6X0AYasQ==} term-size@1.2.0: resolution: {integrity: sha512-7dPUZQGy/+m3/wjVz3ZW5dobSoD/02NxJpoXUX0WIyjfVS3l0c+b/+9phIDFA7FHzkYtwtMFgeGZ/Y8jVTeqQQ==} @@ -7803,29 +7803,29 @@ snapshots: '@ctrl/tinycolor@4.1.0': {} - '@dnd-kit/accessibility@3.1.0(react@19.0.0-rc-45804af1-20241021)': + '@dnd-kit/accessibility@3.1.0(react@19.0.0-rc-1631855f-20241023)': dependencies: - react: 19.0.0-rc-45804af1-20241021 + react: 19.0.0-rc-1631855f-20241023 tslib: 2.7.0 - '@dnd-kit/core@6.1.0(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)': + '@dnd-kit/core@6.1.0(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)': dependencies: - '@dnd-kit/accessibility': 3.1.0(react@19.0.0-rc-45804af1-20241021) - '@dnd-kit/utilities': 3.2.2(react@19.0.0-rc-45804af1-20241021) - react: 19.0.0-rc-45804af1-20241021 - react-dom: 19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021) + '@dnd-kit/accessibility': 3.1.0(react@19.0.0-rc-1631855f-20241023) + '@dnd-kit/utilities': 3.2.2(react@19.0.0-rc-1631855f-20241023) + react: 19.0.0-rc-1631855f-20241023 + react-dom: 19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023) tslib: 2.7.0 - '@dnd-kit/sortable@8.0.0(@dnd-kit/core@6.1.0(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)': + '@dnd-kit/sortable@8.0.0(@dnd-kit/core@6.1.0(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)': dependencies: - '@dnd-kit/core': 6.1.0(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021) - '@dnd-kit/utilities': 3.2.2(react@19.0.0-rc-45804af1-20241021) - react: 19.0.0-rc-45804af1-20241021 + '@dnd-kit/core': 6.1.0(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023) + '@dnd-kit/utilities': 3.2.2(react@19.0.0-rc-1631855f-20241023) + react: 19.0.0-rc-1631855f-20241023 tslib: 2.7.0 - '@dnd-kit/utilities@3.2.2(react@19.0.0-rc-45804af1-20241021)': + '@dnd-kit/utilities@3.2.2(react@19.0.0-rc-1631855f-20241023)': dependencies: - react: 19.0.0-rc-45804af1-20241021 + react: 19.0.0-rc-1631855f-20241023 tslib: 2.7.0 '@dual-bundle/import-meta-resolve@4.1.0': {} @@ -7874,17 +7874,17 @@ snapshots: '@emotion/memoize@0.9.0': {} - '@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1)': + '@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1)': dependencies: '@babel/runtime': 7.25.6 '@emotion/babel-plugin': 11.12.0 '@emotion/cache': 11.13.1 '@emotion/serialize': 1.3.1 - '@emotion/use-insertion-effect-with-fallbacks': 1.1.0(react@19.0.0-rc-45804af1-20241021) + '@emotion/use-insertion-effect-with-fallbacks': 1.1.0(react@19.0.0-rc-1631855f-20241023) '@emotion/utils': 1.4.0 '@emotion/weak-memoize': 0.4.0 hoist-non-react-statics: 3.3.2 - react: 19.0.0-rc-45804af1-20241021 + react: 19.0.0-rc-1631855f-20241023 optionalDependencies: '@types/react': types-react@19.0.0-rc.1 @@ -7914,16 +7914,16 @@ snapshots: '@emotion/sheet@1.4.0': {} - '@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1)': + '@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1)': dependencies: '@babel/runtime': 7.25.6 '@emotion/babel-plugin': 11.12.0 '@emotion/is-prop-valid': 1.3.0 - '@emotion/react': 11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + '@emotion/react': 11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) '@emotion/serialize': 1.3.1 - '@emotion/use-insertion-effect-with-fallbacks': 1.1.0(react@19.0.0-rc-45804af1-20241021) + '@emotion/use-insertion-effect-with-fallbacks': 1.1.0(react@19.0.0-rc-1631855f-20241023) '@emotion/utils': 1.4.0 - react: 19.0.0-rc-45804af1-20241021 + react: 19.0.0-rc-1631855f-20241023 optionalDependencies: '@types/react': types-react@19.0.0-rc.1 @@ -7931,9 +7931,9 @@ snapshots: '@emotion/unitless@0.9.0': {} - '@emotion/use-insertion-effect-with-fallbacks@1.1.0(react@19.0.0-rc-45804af1-20241021)': + '@emotion/use-insertion-effect-with-fallbacks@1.1.0(react@19.0.0-rc-1631855f-20241023)': dependencies: - react: 19.0.0-rc-45804af1-20241021 + react: 19.0.0-rc-1631855f-20241023 '@emotion/utils@1.4.0': {} @@ -8116,11 +8116,11 @@ snapshots: '@floating-ui/core': 1.6.1 '@floating-ui/utils': 0.2.2 - '@floating-ui/react-dom@2.1.2(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)': + '@floating-ui/react-dom@2.1.2(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)': dependencies: '@floating-ui/dom': 1.6.5 - react: 19.0.0-rc-45804af1-20241021 - react-dom: 19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021) + react: 19.0.0-rc-1631855f-20241023 + react-dom: 19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023) '@floating-ui/utils@0.2.2': {} @@ -8246,105 +8246,105 @@ snapshots: monaco-editor: 0.52.0 state-local: 1.0.7 - '@monaco-editor/react@4.6.0(monaco-editor@0.52.0)(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)': + '@monaco-editor/react@4.6.0(monaco-editor@0.52.0)(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)': dependencies: '@monaco-editor/loader': 1.4.0(monaco-editor@0.52.0) monaco-editor: 0.52.0 - react: 19.0.0-rc-45804af1-20241021 - react-dom: 19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021) + react: 19.0.0-rc-1631855f-20241023 + react-dom: 19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023) - '@mui/base@5.0.0-beta.60(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1)': + '@mui/base@5.0.0-beta.60(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1)': dependencies: '@babel/runtime': 7.25.7 - '@floating-ui/react-dom': 2.1.2(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021) + '@floating-ui/react-dom': 2.1.2(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023) '@mui/types': 7.2.18(types-react@19.0.0-rc.1) - '@mui/utils': 6.1.5(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + '@mui/utils': 6.1.5(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) '@popperjs/core': 2.11.8 clsx: 2.1.1 prop-types: 15.8.1 - react: 19.0.0-rc-45804af1-20241021 - react-dom: 19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021) + react: 19.0.0-rc-1631855f-20241023 + react-dom: 19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023) optionalDependencies: '@types/react': types-react@19.0.0-rc.1 '@mui/core-downloads-tracker@6.1.5': {} - '@mui/icons-material@6.1.5(@mui/material@6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1)': + '@mui/icons-material@6.1.5(@mui/material@6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1)': dependencies: '@babel/runtime': 7.25.7 - '@mui/material': 6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - react: 19.0.0-rc-45804af1-20241021 + '@mui/material': 6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + react: 19.0.0-rc-1631855f-20241023 optionalDependencies: '@types/react': types-react@19.0.0-rc.1 - '@mui/lab@6.0.0-beta.13(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@mui/material@6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1)': + '@mui/lab@6.0.0-beta.13(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@mui/material@6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1)': dependencies: '@babel/runtime': 7.25.7 - '@mui/base': 5.0.0-beta.60(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - '@mui/material': 6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - '@mui/system': 6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + '@mui/base': 5.0.0-beta.60(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + '@mui/material': 6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + '@mui/system': 6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) '@mui/types': 7.2.18(types-react@19.0.0-rc.1) - '@mui/utils': 6.1.5(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + '@mui/utils': 6.1.5(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) clsx: 2.1.1 prop-types: 15.8.1 - react: 19.0.0-rc-45804af1-20241021 - react-dom: 19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021) + react: 19.0.0-rc-1631855f-20241023 + react-dom: 19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023) optionalDependencies: - '@emotion/react': 11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + '@emotion/react': 11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) '@types/react': types-react@19.0.0-rc.1 - '@mui/material@6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1)': + '@mui/material@6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1)': dependencies: '@babel/runtime': 7.25.7 '@mui/core-downloads-tracker': 6.1.5 - '@mui/system': 6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + '@mui/system': 6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) '@mui/types': 7.2.18(types-react@19.0.0-rc.1) - '@mui/utils': 6.1.5(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + '@mui/utils': 6.1.5(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) '@popperjs/core': 2.11.8 '@types/react-transition-group': 4.4.11 clsx: 2.1.1 csstype: 3.1.3 prop-types: 15.8.1 - react: 19.0.0-rc-45804af1-20241021 - react-dom: 19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021) + react: 19.0.0-rc-1631855f-20241023 + react-dom: 19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023) react-is: 18.3.1 - react-transition-group: 4.4.5(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021) + react-transition-group: 4.4.5(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023) optionalDependencies: - '@emotion/react': 11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + '@emotion/react': 11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) '@types/react': types-react@19.0.0-rc.1 - '@mui/private-theming@5.16.6(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1)': + '@mui/private-theming@5.16.6(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1)': dependencies: '@babel/runtime': 7.25.7 - '@mui/utils': 5.16.6(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + '@mui/utils': 5.16.6(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) prop-types: 15.8.1 - react: 19.0.0-rc-45804af1-20241021 + react: 19.0.0-rc-1631855f-20241023 optionalDependencies: '@types/react': types-react@19.0.0-rc.1 - '@mui/private-theming@6.1.5(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1)': + '@mui/private-theming@6.1.5(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1)': dependencies: '@babel/runtime': 7.25.7 - '@mui/utils': 6.1.5(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + '@mui/utils': 6.1.5(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) prop-types: 15.8.1 - react: 19.0.0-rc-45804af1-20241021 + react: 19.0.0-rc-1631855f-20241023 optionalDependencies: '@types/react': types-react@19.0.0-rc.1 - '@mui/styled-engine@5.16.6(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)': + '@mui/styled-engine@5.16.6(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)': dependencies: '@babel/runtime': 7.25.7 '@emotion/cache': 11.13.1 csstype: 3.1.3 prop-types: 15.8.1 - react: 19.0.0-rc-45804af1-20241021 + react: 19.0.0-rc-1631855f-20241023 optionalDependencies: - '@emotion/react': 11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + '@emotion/react': 11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) - '@mui/styled-engine@6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)': + '@mui/styled-engine@6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)': dependencies: '@babel/runtime': 7.25.7 '@emotion/cache': 11.13.1 @@ -8352,87 +8352,87 @@ snapshots: '@emotion/sheet': 1.4.0 csstype: 3.1.3 prop-types: 15.8.1 - react: 19.0.0-rc-45804af1-20241021 + react: 19.0.0-rc-1631855f-20241023 optionalDependencies: - '@emotion/react': 11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + '@emotion/react': 11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) - '@mui/system@5.16.7(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1)': + '@mui/system@5.16.7(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1)': dependencies: '@babel/runtime': 7.25.7 - '@mui/private-theming': 5.16.6(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - '@mui/styled-engine': 5.16.6(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021) + '@mui/private-theming': 5.16.6(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + '@mui/styled-engine': 5.16.6(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023) '@mui/types': 7.2.18(types-react@19.0.0-rc.1) - '@mui/utils': 5.16.6(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + '@mui/utils': 5.16.6(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) clsx: 2.1.1 csstype: 3.1.3 prop-types: 15.8.1 - react: 19.0.0-rc-45804af1-20241021 + react: 19.0.0-rc-1631855f-20241023 optionalDependencies: - '@emotion/react': 11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + '@emotion/react': 11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) '@types/react': types-react@19.0.0-rc.1 - '@mui/system@6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1)': + '@mui/system@6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1)': dependencies: '@babel/runtime': 7.25.7 - '@mui/private-theming': 6.1.5(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - '@mui/styled-engine': 6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021) + '@mui/private-theming': 6.1.5(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + '@mui/styled-engine': 6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023) '@mui/types': 7.2.18(types-react@19.0.0-rc.1) - '@mui/utils': 6.1.5(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + '@mui/utils': 6.1.5(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) clsx: 2.1.1 csstype: 3.1.3 prop-types: 15.8.1 - react: 19.0.0-rc-45804af1-20241021 + react: 19.0.0-rc-1631855f-20241023 optionalDependencies: - '@emotion/react': 11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + '@emotion/react': 11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) '@types/react': types-react@19.0.0-rc.1 '@mui/types@7.2.18(types-react@19.0.0-rc.1)': optionalDependencies: '@types/react': types-react@19.0.0-rc.1 - '@mui/utils@5.16.6(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1)': + '@mui/utils@5.16.6(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1)': dependencies: '@babel/runtime': 7.25.7 '@mui/types': 7.2.18(types-react@19.0.0-rc.1) '@types/prop-types': 15.7.13 clsx: 2.1.1 prop-types: 15.8.1 - react: 19.0.0-rc-45804af1-20241021 + react: 19.0.0-rc-1631855f-20241023 react-is: 18.3.1 optionalDependencies: '@types/react': types-react@19.0.0-rc.1 - '@mui/utils@6.1.5(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1)': + '@mui/utils@6.1.5(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1)': dependencies: '@babel/runtime': 7.25.7 '@mui/types': 7.2.18(types-react@19.0.0-rc.1) '@types/prop-types': 15.7.13 clsx: 2.1.1 prop-types: 15.8.1 - react: 19.0.0-rc-45804af1-20241021 + react: 19.0.0-rc-1631855f-20241023 react-is: 18.3.1 optionalDependencies: '@types/react': types-react@19.0.0-rc.1 - '@mui/x-date-pickers@7.9.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@mui/material@6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(dayjs@1.11.13)(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1)': + '@mui/x-date-pickers@7.9.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@mui/material@6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(dayjs@1.11.13)(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1)': dependencies: '@babel/runtime': 7.25.7 - '@mui/base': 5.0.0-beta.60(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - '@mui/material': 6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - '@mui/system': 5.16.7(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - '@mui/utils': 5.16.6(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + '@mui/base': 5.0.0-beta.60(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + '@mui/material': 6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + '@mui/system': 5.16.7(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + '@mui/utils': 5.16.6(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) '@types/react-transition-group': 4.4.11 clsx: 2.1.1 prop-types: 15.8.1 - react: 19.0.0-rc-45804af1-20241021 - react-dom: 19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021) - react-transition-group: 4.4.5(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021) + react: 19.0.0-rc-1631855f-20241023 + react-dom: 19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023) + react-transition-group: 4.4.5(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023) optionalDependencies: - '@emotion/react': 11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + '@emotion/react': 11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) dayjs: 1.11.13 transitivePeerDependencies: - '@types/react' @@ -8719,82 +8719,82 @@ snapshots: '@radix-ui/primitive@1.1.0': {} - '@radix-ui/react-compose-refs@1.1.0(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1)': + '@radix-ui/react-compose-refs@1.1.0(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1)': dependencies: - react: 19.0.0-rc-45804af1-20241021 + react: 19.0.0-rc-1631855f-20241023 optionalDependencies: '@types/react': types-react@19.0.0-rc.1 - '@radix-ui/react-context@1.1.1(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1)': + '@radix-ui/react-context@1.1.1(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1)': dependencies: - react: 19.0.0-rc-45804af1-20241021 + react: 19.0.0-rc-1631855f-20241023 optionalDependencies: '@types/react': types-react@19.0.0-rc.1 - '@radix-ui/react-direction@1.1.0(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1)': + '@radix-ui/react-direction@1.1.0(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1)': dependencies: - react: 19.0.0-rc-45804af1-20241021 + react: 19.0.0-rc-1631855f-20241023 optionalDependencies: '@types/react': types-react@19.0.0-rc.1 - '@radix-ui/react-portal@1.1.2(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1)': + '@radix-ui/react-portal@1.1.2(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1)': dependencies: - '@radix-ui/react-primitive': 2.0.0(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - '@radix-ui/react-use-layout-effect': 1.1.0(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - react: 19.0.0-rc-45804af1-20241021 - react-dom: 19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021) + '@radix-ui/react-primitive': 2.0.0(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + '@radix-ui/react-use-layout-effect': 1.1.0(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + react: 19.0.0-rc-1631855f-20241023 + react-dom: 19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023) optionalDependencies: '@types/react': types-react@19.0.0-rc.1 - '@radix-ui/react-presence@1.1.1(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1)': + '@radix-ui/react-presence@1.1.1(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1)': dependencies: - '@radix-ui/react-compose-refs': 1.1.0(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - '@radix-ui/react-use-layout-effect': 1.1.0(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - react: 19.0.0-rc-45804af1-20241021 - react-dom: 19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021) + '@radix-ui/react-compose-refs': 1.1.0(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + '@radix-ui/react-use-layout-effect': 1.1.0(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + react: 19.0.0-rc-1631855f-20241023 + react-dom: 19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023) optionalDependencies: '@types/react': types-react@19.0.0-rc.1 - '@radix-ui/react-primitive@2.0.0(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1)': + '@radix-ui/react-primitive@2.0.0(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1)': dependencies: - '@radix-ui/react-slot': 1.1.0(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - react: 19.0.0-rc-45804af1-20241021 - react-dom: 19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021) + '@radix-ui/react-slot': 1.1.0(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + react: 19.0.0-rc-1631855f-20241023 + react-dom: 19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023) optionalDependencies: '@types/react': types-react@19.0.0-rc.1 - '@radix-ui/react-scroll-area@1.2.0(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1)': + '@radix-ui/react-scroll-area@1.2.0(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1)': dependencies: '@radix-ui/number': 1.1.0 '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-compose-refs': 1.1.0(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - '@radix-ui/react-context': 1.1.1(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - '@radix-ui/react-direction': 1.1.0(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - '@radix-ui/react-presence': 1.1.1(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - '@radix-ui/react-primitive': 2.0.0(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - '@radix-ui/react-use-callback-ref': 1.1.0(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - '@radix-ui/react-use-layout-effect': 1.1.0(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - react: 19.0.0-rc-45804af1-20241021 - react-dom: 19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021) + '@radix-ui/react-compose-refs': 1.1.0(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + '@radix-ui/react-context': 1.1.1(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + '@radix-ui/react-direction': 1.1.0(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + '@radix-ui/react-presence': 1.1.1(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + '@radix-ui/react-primitive': 2.0.0(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + '@radix-ui/react-use-callback-ref': 1.1.0(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + '@radix-ui/react-use-layout-effect': 1.1.0(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + react: 19.0.0-rc-1631855f-20241023 + react-dom: 19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023) optionalDependencies: '@types/react': types-react@19.0.0-rc.1 - '@radix-ui/react-slot@1.1.0(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1)': + '@radix-ui/react-slot@1.1.0(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1)': dependencies: - '@radix-ui/react-compose-refs': 1.1.0(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - react: 19.0.0-rc-45804af1-20241021 + '@radix-ui/react-compose-refs': 1.1.0(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + react: 19.0.0-rc-1631855f-20241023 optionalDependencies: '@types/react': types-react@19.0.0-rc.1 - '@radix-ui/react-use-callback-ref@1.1.0(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1)': + '@radix-ui/react-use-callback-ref@1.1.0(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1)': dependencies: - react: 19.0.0-rc-45804af1-20241021 + react: 19.0.0-rc-1631855f-20241023 optionalDependencies: '@types/react': types-react@19.0.0-rc.1 - '@radix-ui/react-use-layout-effect@1.1.0(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1)': + '@radix-ui/react-use-layout-effect@1.1.0(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1)': dependencies: - react: 19.0.0-rc-45804af1-20241021 + react: 19.0.0-rc-1631855f-20241023 optionalDependencies: '@types/react': types-react@19.0.0-rc.1 @@ -9057,43 +9057,43 @@ snapshots: dependencies: remove-accents: 0.5.0 - '@tanstack/react-router@1.74.6(@tanstack/router-generator@1.74.2)(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)': + '@tanstack/react-router@1.76.1(@tanstack/router-generator@1.74.2)(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)': dependencies: '@tanstack/history': 1.61.1 - '@tanstack/react-store': 0.5.6(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021) - react: 19.0.0-rc-45804af1-20241021 - react-dom: 19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021) + '@tanstack/react-store': 0.5.6(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023) + react: 19.0.0-rc-1631855f-20241023 + react-dom: 19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023) tiny-invariant: 1.3.3 tiny-warning: 1.0.3 optionalDependencies: '@tanstack/router-generator': 1.74.2 - '@tanstack/react-store@0.5.6(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)': + '@tanstack/react-store@0.5.6(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)': dependencies: '@tanstack/store': 0.5.5 - react: 19.0.0-rc-45804af1-20241021 - react-dom: 19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021) - use-sync-external-store: 1.2.2(react@19.0.0-rc-45804af1-20241021) + react: 19.0.0-rc-1631855f-20241023 + react-dom: 19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023) + use-sync-external-store: 1.2.2(react@19.0.0-rc-1631855f-20241023) - '@tanstack/react-table@8.20.5(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)': + '@tanstack/react-table@8.20.5(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)': dependencies: '@tanstack/table-core': 8.20.5 - react: 19.0.0-rc-45804af1-20241021 - react-dom: 19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021) + react: 19.0.0-rc-1631855f-20241023 + react-dom: 19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023) - '@tanstack/react-virtual@3.10.6(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)': + '@tanstack/react-virtual@3.10.6(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)': dependencies: '@tanstack/virtual-core': 3.10.6 - react: 19.0.0-rc-45804af1-20241021 - react-dom: 19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021) + react: 19.0.0-rc-1631855f-20241023 + react-dom: 19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023) - '@tanstack/router-devtools@1.74.6(@tanstack/react-router@1.74.6(@tanstack/router-generator@1.74.2)(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021))(csstype@3.1.3)(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)': + '@tanstack/router-devtools@1.76.1(@tanstack/react-router@1.76.1(@tanstack/router-generator@1.74.2)(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023))(csstype@3.1.3)(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)': dependencies: - '@tanstack/react-router': 1.74.6(@tanstack/router-generator@1.74.2)(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021) + '@tanstack/react-router': 1.76.1(@tanstack/router-generator@1.74.2)(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023) clsx: 2.1.1 goober: 2.1.16(csstype@3.1.3) - react: 19.0.0-rc-45804af1-20241021 - react-dom: 19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021) + react: 19.0.0-rc-1631855f-20241023 + react-dom: 19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023) transitivePeerDependencies: - csstype @@ -9104,7 +9104,7 @@ snapshots: tsx: 4.19.1 zod: 3.23.8 - '@tanstack/router-plugin@1.74.2(vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.3)(stylus@0.62.0))(webpack-sources@3.2.3)': + '@tanstack/router-plugin@1.76.0(vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.4)(stylus@0.62.0))(webpack-sources@3.2.3)': dependencies: '@babel/core': 7.25.8 '@babel/generator': 7.25.7 @@ -9125,14 +9125,14 @@ snapshots: unplugin: 1.14.1(webpack-sources@3.2.3) zod: 3.23.8 optionalDependencies: - vite: 5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.3)(stylus@0.62.0) + vite: 5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.4)(stylus@0.62.0) transitivePeerDependencies: - supports-color - webpack-sources - '@tanstack/router-zod-adapter@1.74.6(@tanstack/react-router@1.74.6(@tanstack/router-generator@1.74.2)(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021))(zod@3.23.8)': + '@tanstack/router-zod-adapter@1.76.1(@tanstack/react-router@1.76.1(@tanstack/router-generator@1.74.2)(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023))(zod@3.23.8)': dependencies: - '@tanstack/react-router': 1.74.6(@tanstack/router-generator@1.74.2)(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021) + '@tanstack/react-router': 1.76.1(@tanstack/router-generator@1.74.2)(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023) zod: 3.23.8 '@tanstack/store@0.5.5': {} @@ -9575,21 +9575,21 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@vitejs/plugin-react-swc@3.7.1(vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.3)(stylus@0.62.0))': + '@vitejs/plugin-react-swc@3.7.1(vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.4)(stylus@0.62.0))': dependencies: '@swc/core': 1.7.26 - vite: 5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.3)(stylus@0.62.0) + vite: 5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.4)(stylus@0.62.0) transitivePeerDependencies: - '@swc/helpers' - '@vitejs/plugin-react@4.3.3(vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.3)(stylus@0.62.0))': + '@vitejs/plugin-react@4.3.3(vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.4)(stylus@0.62.0))': dependencies: '@babel/core': 7.25.8 '@babel/plugin-transform-react-jsx-self': 7.25.7(@babel/core@7.25.8) '@babel/plugin-transform-react-jsx-source': 7.25.7(@babel/core@7.25.8) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.3)(stylus@0.62.0) + vite: 5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.4)(stylus@0.62.0) transitivePeerDependencies: - supports-color @@ -9679,14 +9679,14 @@ snapshots: clean-stack: 5.2.0 indent-string: 5.0.0 - ahooks@3.8.1(react@19.0.0-rc-45804af1-20241021): + ahooks@3.8.1(react@19.0.0-rc-1631855f-20241023): dependencies: '@babel/runtime': 7.25.6 dayjs: 1.11.13 intersection-observer: 0.12.2 js-cookie: 3.0.5 lodash: 4.17.21 - react: 19.0.0-rc-45804af1-20241021 + react: 19.0.0-rc-1631855f-20241023 react-fast-compare: 3.2.2 resize-observer-polyfill: 1.5.1 screenfull: 5.2.0 @@ -9728,16 +9728,16 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - allotment@1.20.2(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021): + allotment@1.20.2(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023): dependencies: classnames: 2.5.1 eventemitter3: 5.0.1 lodash.clamp: 4.0.3 lodash.debounce: 4.0.8 lodash.isequal: 4.5.0 - react: 19.0.0-rc-45804af1-20241021 - react-dom: 19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021) - use-resize-observer: 9.1.0(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021) + react: 19.0.0-rc-1631855f-20241023 + react-dom: 19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023) + use-resize-observer: 9.1.0(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023) ansi-align@2.0.0: dependencies: @@ -11209,13 +11209,13 @@ snapshots: fraction.js@4.3.7: {} - framer-motion@12.0.0-alpha.1(@emotion/is-prop-valid@1.3.0)(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021): + framer-motion@12.0.0-alpha.1(@emotion/is-prop-valid@1.3.0)(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023): dependencies: tslib: 2.7.0 optionalDependencies: '@emotion/is-prop-valid': 1.3.0 - react: 19.0.0-rc-45804af1-20241021 - react-dom: 19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021) + react: 19.0.0-rc-1631855f-20241023 + react-dom: 19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023) fs-extra@11.2.0: dependencies: @@ -11540,7 +11540,7 @@ snapshots: hyphenate-style-name@1.1.0: {} - i18next@23.16.2: + i18next@23.16.3: dependencies: '@babel/runtime': 7.25.7 @@ -11831,10 +11831,10 @@ snapshots: jju@1.4.0: {} - jotai@2.10.1(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1): + jotai@2.10.1(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1): optionalDependencies: '@types/react': types-react@19.0.0-rc.1 - react: 19.0.0-rc-45804af1-20241021 + react: 19.0.0-rc-1631855f-20241023 js-cookie@2.2.1: {} @@ -11904,7 +11904,7 @@ snapshots: kind-of@6.0.3: {} - knip@5.33.3(@types/node@22.7.9)(typescript@5.6.3): + knip@5.34.0(@types/node@22.7.9)(typescript@5.6.3): dependencies: '@nodelib/fs.walk': 1.2.8 '@snyk/github-codeowners': 1.1.0 @@ -12083,19 +12083,19 @@ snapshots: escape-string-regexp: 4.0.0 optional: true - material-react-table@3.0.1(m2schmc4gymzzz5warsjdfkznu): + material-react-table@3.0.1(ssp4w3hwtozkjqzhgdupzt3ocq): dependencies: - '@emotion/react': 11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - '@mui/icons-material': 6.1.5(@mui/material@6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - '@mui/material': 6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - '@mui/x-date-pickers': 7.9.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@mui/material@6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(dayjs@1.11.13)(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + '@emotion/react': 11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + '@mui/icons-material': 6.1.5(@mui/material@6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + '@mui/material': 6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + '@mui/x-date-pickers': 7.9.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@mui/material@6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(dayjs@1.11.13)(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) '@tanstack/match-sorter-utils': 8.19.4 - '@tanstack/react-table': 8.20.5(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021) - '@tanstack/react-virtual': 3.10.6(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021) + '@tanstack/react-table': 8.20.5(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023) + '@tanstack/react-virtual': 3.10.6(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023) highlight-words: 1.2.2 - react: 19.0.0-rc-45804af1-20241021 - react-dom: 19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021) + react: 19.0.0-rc-1631855f-20241023 + react-dom: 19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023) mathml-tag-names@2.1.3: {} @@ -12430,14 +12430,14 @@ snapshots: muggle-string@0.4.1: {} - mui-color-input@4.0.2(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@mui/material@6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1): + mui-color-input@4.0.2(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@mui/material@6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1): dependencies: '@ctrl/tinycolor': 4.1.0 - '@emotion/react': 11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - '@mui/material': 6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - react: 19.0.0-rc-45804af1-20241021 - react-dom: 19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021) + '@emotion/react': 11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + '@mui/material': 6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + react: 19.0.0-rc-1631855f-20241023 + react-dom: 19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023) optionalDependencies: '@types/react': types-react@19.0.0-rc.1 @@ -12447,15 +12447,15 @@ snapshots: object-assign: 4.1.1 thenify-all: 1.6.0 - nano-css@5.6.2(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021): + nano-css@5.6.2(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023): dependencies: '@jridgewell/sourcemap-codec': 1.5.0 css-tree: 1.1.3 csstype: 3.1.3 fastest-stable-stringify: 2.0.2 inline-style-prefixer: 7.0.1 - react: 19.0.0-rc-45804af1-20241021 - react-dom: 19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021) + react: 19.0.0-rc-1631855f-20241023 + react-dom: 19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023) rtl-css-js: 1.16.1 stacktrace-js: 2.0.2 stylis: 4.3.2 @@ -12996,50 +12996,50 @@ snapshots: - supports-color - utf-8-validate - react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021): + react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023): dependencies: - react: 19.0.0-rc-45804af1-20241021 - scheduler: 0.25.0-rc-45804af1-20241021 + react: 19.0.0-rc-1631855f-20241023 + scheduler: 0.25.0-rc-1631855f-20241023 - react-error-boundary@4.1.2(react@19.0.0-rc-45804af1-20241021): + react-error-boundary@4.1.2(react@19.0.0-rc-1631855f-20241023): dependencies: '@babel/runtime': 7.25.7 - react: 19.0.0-rc-45804af1-20241021 + react: 19.0.0-rc-1631855f-20241023 react-fast-compare@3.2.2: {} - react-fast-marquee@1.6.5(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021): + react-fast-marquee@1.6.5(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023): dependencies: - react: 19.0.0-rc-45804af1-20241021 - react-dom: 19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021) + react: 19.0.0-rc-1631855f-20241023 + react-dom: 19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023) - react-hook-form-mui@7.4.0(zjsn56ntcojf65vyh5b7fnjyce): + react-hook-form-mui@7.4.0(ir3pm7rxqjrasaubsqt6khinqy): dependencies: - '@mui/material': 6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - react: 19.0.0-rc-45804af1-20241021 - react-hook-form: 7.52.1(react@19.0.0-rc-45804af1-20241021) + '@mui/material': 6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + react: 19.0.0-rc-1631855f-20241023 + react-hook-form: 7.52.1(react@19.0.0-rc-1631855f-20241023) optionalDependencies: - '@mui/icons-material': 6.1.5(@mui/material@6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) - '@mui/x-date-pickers': 7.9.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@mui/material@6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1))(dayjs@1.11.13)(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1) + '@mui/icons-material': 6.1.5(@mui/material@6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) + '@mui/x-date-pickers': 7.9.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@mui/material@6.1.5(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1))(dayjs@1.11.13)(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1) - react-hook-form@7.52.1(react@19.0.0-rc-45804af1-20241021): + react-hook-form@7.52.1(react@19.0.0-rc-1631855f-20241023): dependencies: - react: 19.0.0-rc-45804af1-20241021 + react: 19.0.0-rc-1631855f-20241023 - react-i18next@15.0.3(i18next@23.16.2)(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021): + react-i18next@15.0.3(i18next@23.16.3)(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023): dependencies: '@babel/runtime': 7.25.6 html-parse-stringify: 3.0.1 - i18next: 23.16.2 - react: 19.0.0-rc-45804af1-20241021 + i18next: 23.16.3 + react: 19.0.0-rc-1631855f-20241023 optionalDependencies: - react-dom: 19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021) + react-dom: 19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023) react-is@16.13.1: {} react-is@18.3.1: {} - react-markdown@9.0.1(react@19.0.0-rc-45804af1-20241021)(types-react@19.0.0-rc.1): + react-markdown@9.0.1(react@19.0.0-rc-1631855f-20241023)(types-react@19.0.0-rc.1): dependencies: '@types/hast': 3.0.4 '@types/react': types-react@19.0.0-rc.1 @@ -13047,7 +13047,7 @@ snapshots: hast-util-to-jsx-runtime: 2.3.0 html-url-attributes: 3.0.0 mdast-util-to-hast: 13.1.0 - react: 19.0.0-rc-45804af1-20241021 + react: 19.0.0-rc-1631855f-20241023 remark-parse: 11.0.0 remark-rehype: 11.1.0 unified: 11.0.4 @@ -13058,27 +13058,27 @@ snapshots: react-refresh@0.14.2: {} - react-split-grid@1.0.4(react@19.0.0-rc-45804af1-20241021): + react-split-grid@1.0.4(react@19.0.0-rc-1631855f-20241023): dependencies: prop-types: 15.8.1 - react: 19.0.0-rc-45804af1-20241021 + react: 19.0.0-rc-1631855f-20241023 split-grid: 1.0.11 - react-transition-group@4.4.5(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021): + react-transition-group@4.4.5(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023): dependencies: '@babel/runtime': 7.25.7 dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.8.1 - react: 19.0.0-rc-45804af1-20241021 - react-dom: 19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021) + react: 19.0.0-rc-1631855f-20241023 + react-dom: 19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023) - react-universal-interface@0.6.2(react@19.0.0-rc-45804af1-20241021)(tslib@2.7.0): + react-universal-interface@0.6.2(react@19.0.0-rc-1631855f-20241023)(tslib@2.7.0): dependencies: - react: 19.0.0-rc-45804af1-20241021 + react: 19.0.0-rc-1631855f-20241023 tslib: 2.7.0 - react-use@17.5.1(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021): + react-use@17.5.1(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023): dependencies: '@types/js-cookie': 2.2.7 '@xobotyi/scrollbar-width': 1.9.5 @@ -13086,10 +13086,10 @@ snapshots: fast-deep-equal: 3.1.3 fast-shallow-equal: 1.0.0 js-cookie: 2.2.1 - nano-css: 5.6.2(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021) - react: 19.0.0-rc-45804af1-20241021 - react-dom: 19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021) - react-universal-interface: 0.6.2(react@19.0.0-rc-45804af1-20241021)(tslib@2.7.0) + nano-css: 5.6.2(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023) + react: 19.0.0-rc-1631855f-20241023 + react-dom: 19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023) + react-universal-interface: 0.6.2(react@19.0.0-rc-1631855f-20241023)(tslib@2.7.0) resize-observer-polyfill: 1.5.1 screenfull: 5.2.0 set-harmonic-interval: 1.0.1 @@ -13097,7 +13097,7 @@ snapshots: ts-easing: 0.2.0 tslib: 2.7.0 - react@19.0.0-rc-45804af1-20241021: {} + react@19.0.0-rc-1631855f-20241023: {} read-cache@1.0.0: dependencies: @@ -13385,7 +13385,7 @@ snapshots: sass-embedded-win32-ia32: 1.78.0 sass-embedded-win32-x64: 1.78.0 - sass@1.80.3: + sass@1.80.4: dependencies: '@parcel/watcher': 2.4.1 chokidar: 4.0.0 @@ -13394,7 +13394,7 @@ snapshots: sax@1.3.0: {} - scheduler@0.25.0-rc-45804af1-20241021: {} + scheduler@0.25.0-rc-1631855f-20241023: {} screenfull@5.2.0: {} @@ -13800,11 +13800,11 @@ snapshots: svg-tags@1.0.0: {} - swr@2.2.5(react@19.0.0-rc-45804af1-20241021): + swr@2.2.5(react@19.0.0-rc-1631855f-20241023): dependencies: client-only: 0.0.1 - react: 19.0.0-rc-45804af1-20241021 - use-sync-external-store: 1.2.2(react@19.0.0-rc-45804af1-20241021) + react: 19.0.0-rc-1631855f-20241023 + use-sync-external-store: 1.2.2(react@19.0.0-rc-1631855f-20241023) synckit@0.9.1: dependencies: @@ -13888,7 +13888,7 @@ snapshots: mkdirp: 3.0.1 yallist: 5.0.0 - telegram@2.25.15: + telegram@2.26.2: dependencies: '@cryptography/aes': 0.1.1 async-mutex: 0.3.2 @@ -14059,7 +14059,7 @@ snapshots: postcss-modules-local-by-default: 4.0.5(postcss@8.4.47) postcss-modules-scope: 3.2.0(postcss@8.4.47) reserved-words: 0.1.2 - sass: 1.80.3 + sass: 1.80.4 source-map-js: 1.2.1 stylus: 0.62.0 tsconfig-paths: 4.2.0 @@ -14241,15 +14241,15 @@ snapshots: dependencies: prepend-http: 1.0.4 - use-resize-observer@9.1.0(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021): + use-resize-observer@9.1.0(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023): dependencies: '@juggle/resize-observer': 3.4.0 - react: 19.0.0-rc-45804af1-20241021 - react-dom: 19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021) + react: 19.0.0-rc-1631855f-20241023 + react-dom: 19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023) - use-sync-external-store@1.2.2(react@19.0.0-rc-45804af1-20241021): + use-sync-external-store@1.2.2(react@19.0.0-rc-1631855f-20241023): dependencies: - react: 19.0.0-rc-45804af1-20241021 + react: 19.0.0-rc-1631855f-20241023 utf-8-validate@5.0.10: dependencies: @@ -14272,10 +14272,10 @@ snapshots: unist-util-stringify-position: 4.0.0 vfile-message: 4.0.2 - virtua@0.35.1(react-dom@19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021))(react@19.0.0-rc-45804af1-20241021): + virtua@0.35.1(react-dom@19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023))(react@19.0.0-rc-1631855f-20241023): optionalDependencies: - react: 19.0.0-rc-45804af1-20241021 - react-dom: 19.0.0-rc-45804af1-20241021(react@19.0.0-rc-45804af1-20241021) + react: 19.0.0-rc-1631855f-20241023 + react-dom: 19.0.0-rc-1631855f-20241023(react@19.0.0-rc-1631855f-20241023) vite-bundle-visualizer@1.2.1(rollup@4.21.0): dependencies: @@ -14287,7 +14287,7 @@ snapshots: - rollup - supports-color - vite-plugin-dts@4.3.0(@types/node@22.7.9)(rollup@4.21.0)(typescript@5.6.3)(vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.3)(stylus@0.62.0)): + vite-plugin-dts@4.3.0(@types/node@22.7.9)(rollup@4.21.0)(typescript@5.6.3)(vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.4)(stylus@0.62.0)): dependencies: '@microsoft/api-extractor': 7.47.11(@types/node@22.7.9) '@rollup/pluginutils': 5.1.0(rollup@4.21.0) @@ -14300,43 +14300,43 @@ snapshots: magic-string: 0.30.11 typescript: 5.6.3 optionalDependencies: - vite: 5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.3)(stylus@0.62.0) + vite: 5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.4)(stylus@0.62.0) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite-plugin-sass-dts@1.3.29(postcss@8.4.47)(prettier@3.3.3)(sass-embedded@1.78.0)(vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.3)(stylus@0.62.0)): + vite-plugin-sass-dts@1.3.29(postcss@8.4.47)(prettier@3.3.3)(sass-embedded@1.78.0)(vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.4)(stylus@0.62.0)): dependencies: postcss: 8.4.47 postcss-js: 4.0.1(postcss@8.4.47) prettier: 3.3.3 sass-embedded: 1.78.0 - vite: 5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.3)(stylus@0.62.0) + vite: 5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.4)(stylus@0.62.0) - vite-plugin-svgr@4.2.0(rollup@4.21.0)(typescript@5.6.3)(vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.3)(stylus@0.62.0)): + vite-plugin-svgr@4.2.0(rollup@4.21.0)(typescript@5.6.3)(vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.4)(stylus@0.62.0)): dependencies: '@rollup/pluginutils': 5.1.0(rollup@4.21.0) '@svgr/core': 8.1.0(typescript@5.6.3) '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.6.3)) - vite: 5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.3)(stylus@0.62.0) + vite: 5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.4)(stylus@0.62.0) transitivePeerDependencies: - rollup - supports-color - typescript - vite-tsconfig-paths@5.0.1(typescript@5.6.3)(vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.3)(stylus@0.62.0)): + vite-tsconfig-paths@5.0.1(typescript@5.6.3)(vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.4)(stylus@0.62.0)): dependencies: debug: 4.3.7 globrex: 0.1.2 tsconfck: 3.0.3(typescript@5.6.3) optionalDependencies: - vite: 5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.3)(stylus@0.62.0) + vite: 5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.4)(stylus@0.62.0) transitivePeerDependencies: - supports-color - typescript - vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.3)(stylus@0.62.0): + vite@5.4.10(@types/node@22.7.9)(less@4.2.0)(sass-embedded@1.78.0)(sass@1.80.4)(stylus@0.62.0): dependencies: esbuild: 0.21.5 postcss: 8.4.47 @@ -14345,7 +14345,7 @@ snapshots: '@types/node': 22.7.9 fsevents: 2.3.3 less: 4.2.0 - sass: 1.80.3 + sass: 1.80.4 sass-embedded: 1.78.0 stylus: 0.62.0 diff --git a/clash-nyanpasu/scripts/package.json b/clash-nyanpasu/scripts/package.json index e25f579251..267c684acd 100644 --- a/clash-nyanpasu/scripts/package.json +++ b/clash-nyanpasu/scripts/package.json @@ -21,7 +21,7 @@ "octokit": "4.0.2", "picocolors": "1.1.1", "tar": "7.4.3", - "telegram": "2.25.15", + "telegram": "2.26.2", "undici": "6.20.1" } } diff --git a/clash-verge-rev/UPDATELOG.md b/clash-verge-rev/UPDATELOG.md index b8ea2b40c3..2b8e84008d 100644 --- a/clash-verge-rev/UPDATELOG.md +++ b/clash-verge-rev/UPDATELOG.md @@ -38,6 +38,8 @@ - 修复多个 Linux 下的 bug, Tun 模式在 Linux 下目前工作正常 - 修复 Linux wayland 下任务栏图标缺失的问题 - 移除多余退出变量和钩子 +- 修复 MacOS 下 tray 菜单重启 app 失效的问题 +- 修复某些特定配置文件载入失败的问题 --- diff --git a/clash-verge-rev/package.json b/clash-verge-rev/package.json index 9cc1024fa6..26e4b9e343 100644 --- a/clash-verge-rev/package.json +++ b/clash-verge-rev/package.json @@ -1,6 +1,6 @@ { "name": "clash-verge", - "version": "2.0.0-rc.2", + "version": "2.0.0-rc.3", "license": "GPL-3.0-only", "scripts": { "dev": "cross-env RUST_BACKTRACE=1 tauri dev", diff --git a/clash-verge-rev/src-tauri/src/core/tray.rs b/clash-verge-rev/src-tauri/src/core/tray.rs index f1602c5658..af2c855f24 100644 --- a/clash-verge-rev/src-tauri/src/core/tray.rs +++ b/clash-verge-rev/src-tauri/src/core/tray.rs @@ -1,7 +1,8 @@ use crate::{ cmds, config::Config, - feat, t, + core::CoreManager, + feat, log_err, t, utils::{ dirs, resolve::{self, VERSION}, @@ -330,7 +331,7 @@ fn create_tray_menu( let restart_app = &MenuItem::with_id( app_handle, "restart_app", - t!("Restart App", "重启Verge", use_zh), + t!("Restart App", "重启App", use_zh), true, None::<&str>, ) @@ -401,7 +402,15 @@ fn on_menu_event(app_handle: &AppHandle, event: MenuEvent) { "open_core_dir" => crate::log_err!(cmds::open_core_dir()), "open_logs_dir" => crate::log_err!(cmds::open_logs_dir()), "restart_clash" => feat::restart_clash_core(), - "restart_app" => tauri::process::restart(&app_handle.env()), + "restart_app" => { + tauri::async_runtime::block_on(async move { + log_err!(CoreManager::global().stop_core().await); + }); + resolve::resolve_reset(); + //睡1秒再重启 + std::thread::sleep(std::time::Duration::from_secs(1)); + tauri::process::restart(&app_handle.env()); + } "quit" => { println!("quit"); feat::quit(Some(0)); diff --git a/clash-verge-rev/src-tauri/tauri.conf.json b/clash-verge-rev/src-tauri/tauri.conf.json index 668f19c48b..55114d574d 100755 --- a/clash-verge-rev/src-tauri/tauri.conf.json +++ b/clash-verge-rev/src-tauri/tauri.conf.json @@ -25,7 +25,7 @@ "devUrl": "http://localhost:3000/" }, "productName": "Clash Verge", - "version": "2.0.0-rc.2", + "version": "2.0.0-rc.3", "identifier": "io.github.clash-verge-rev.clash-verge-rev", "plugins": { "updater": { diff --git a/clash-verge-rev/src/components/proxy/proxy-render.tsx b/clash-verge-rev/src/components/proxy/proxy-render.tsx index 54675ed8eb..6a8d490a54 100644 --- a/clash-verge-rev/src/components/proxy/proxy-render.tsx +++ b/clash-verge-rev/src/components/proxy/proxy-render.tsx @@ -59,7 +59,7 @@ export const ProxyRender = (props: RenderProps) => { return url.substring(url.lastIndexOf("/") + 1); } - if (type === 0 && !group.hidden) { + if (type === 0) { return ( { ); } - if (type === 1 && !group.hidden) { + if (type === 1) { return ( { ); } - if (type === 2 && !group.hidden) { + if (type === 2) { return ( { ); } - if (type === 3 && !group.hidden) { + if (type === 3) { return ( { ); } - if (type === 4 && !group.hidden) { + if (type === 4) { const proxyColItemsMemo = useMemo(() => { return proxyCol?.map((proxy) => ( { }); if (!useRule) return retList.slice(1); - return retList; + return retList.filter((item) => item.group.hidden === false); }, [headStates, proxiesData, mode, col]); return { diff --git a/clash-verge-rev/src/pages/profiles.tsx b/clash-verge-rev/src/pages/profiles.tsx index 32731415e9..e6214b8340 100644 --- a/clash-verge-rev/src/pages/profiles.tsx +++ b/clash-verge-rev/src/pages/profiles.tsx @@ -135,23 +135,8 @@ const ProfilePage = () => { Notice.success(t("Profile Imported Successfully")); setUrl(""); setLoading(false); - - getProfiles().then(async (newProfiles) => { - mutate("getProfiles", newProfiles); - - const remoteItem = newProfiles.items?.find((e) => e.type === "remote"); - - const itemsCount = newProfiles.items?.filter( - (e) => e.type === "remote" || e.type === "local" - ).length as number; - - if (remoteItem && (itemsCount == 1 || !newProfiles.current)) { - const current = remoteItem.uid; - await patchProfiles({ current }); - mutateLogs(); - setTimeout(() => activateSelected(), 2000); - } - }); + mutateProfiles(); + await onEnhance(false); } catch (err: any) { Notice.error(err.message || err.toString()); setLoading(false); @@ -171,9 +156,8 @@ const ProfilePage = () => { } }; - const activateProfile = async (profile: string) => { + const activateProfile = async (profile: string, notifySuccess: boolean) => { // 避免大多数情况下loading态闪烁 - const reset = setTimeout(() => { setActivatings((prev) => [...prev, profile]); }, 100); @@ -183,7 +167,9 @@ const ProfilePage = () => { await mutateLogs(); closeAllConnections(); await activateSelected(); - Notice.success(t("Profile Switched"), 1000); + if (notifySuccess) { + Notice.success(t("Profile Switched"), 1000); + } } catch (err: any) { Notice.error(err?.message || err.toString(), 4000); } finally { @@ -193,24 +179,26 @@ const ProfilePage = () => { }; const onSelect = useLockFn(async (current: string, force: boolean) => { if (!force && current === profiles.current) return; - await activateProfile(current); + await activateProfile(current, true); }); useEffect(() => { (async () => { - if (current && current !== profiles.current) { - console.log("current:", current); - await activateProfile(current); + if (current) { + mutateProfiles(); + await activateProfile(current, false); } })(); }, current); - const onEnhance = useLockFn(async () => { + const onEnhance = useLockFn(async (notifySuccess: boolean) => { setActivatings(currentActivatings()); try { await enhanceProfiles(); mutateLogs(); - Notice.success(t("Profile Reactivated"), 1000); + if (notifySuccess) { + Notice.success(t("Profile Reactivated"), 1000); + } } catch (err: any) { Notice.error(err.message || err.toString(), 3000); } finally { @@ -225,7 +213,7 @@ const ProfilePage = () => { await deleteProfile(uid); mutateProfiles(); mutateLogs(); - current && (await onEnhance()); + current && (await onEnhance(false)); } catch (err: any) { Notice.error(err?.message || err.toString()); } finally { @@ -302,7 +290,7 @@ const ProfilePage = () => { size="small" color="primary" title={t("Reactivate Profiles")} - onClick={onEnhance} + onClick={() => onEnhance(true)} > @@ -401,7 +389,7 @@ const ProfilePage = () => { onEdit={() => viewerRef.current?.edit(item)} onSave={async (prev, curr) => { if (prev !== curr && profiles.current === item.uid) { - await onEnhance(); + await onEnhance(false); } }} onDelete={() => onDelete(item.uid)} @@ -424,7 +412,7 @@ const ProfilePage = () => { id="Merge" onSave={async (prev, curr) => { if (prev !== curr) { - await onEnhance(); + await onEnhance(false); } }} /> @@ -435,7 +423,7 @@ const ProfilePage = () => { logInfo={chainLogs["Script"]} onSave={async (prev, curr) => { if (prev !== curr) { - await onEnhance(); + await onEnhance(false); } }} /> @@ -444,7 +432,13 @@ const ProfilePage = () => { - mutateProfiles()} /> + { + mutateProfiles(); + await onEnhance(false); + }} + /> ); diff --git a/geoip/README.md b/geoip/README.md index 87de540c4d..fc6ae41ff0 100644 --- a/geoip/README.md +++ b/geoip/README.md @@ -181,7 +181,13 @@ MaxMind 官方版 **ASN** 类型 mmdb 文件: > 适用于 [Nginx](https://nginx.org),需要配合 [ngx_http_geoip2_module](https://github.com/leev/ngx_http_geoip2_module) 模块使用。只保留了 `country` 下的 `iso_code`(两位英文字母表示的国家/地区代码)字段。 -- **Country.mmdb**: +- **Country-without-asn.mmdb**(传统版 GeoIP,只包含国家/地区类别,不包含上述新增类别。建议优先使用): + - [https://raw.githubusercontent.com/Loyalsoldier/geoip/release/Country-without-asn.mmdb](https://raw.githubusercontent.com/Loyalsoldier/geoip/release/Country-without-asn.mmdb) + - [https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/Country-without-asn.mmdb](https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/Country-without-asn.mmdb) +- **Country-without-asn.mmdb.sha256sum**: + - [https://raw.githubusercontent.com/Loyalsoldier/geoip/release/Country-without-asn.mmdb.sha256sum](https://raw.githubusercontent.com/Loyalsoldier/geoip/release/Country-without-asn.mmdb.sha256sum) + - [https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/Country-without-asn.mmdb.sha256sum](https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/Country-without-asn.mmdb.sha256sum) +- **Country.mmdb**(增强版 GeoIP,包含国家/地区类别,以及上述新增类别。但由于 MaxMind mmdb 格式限制,部分国家/地区类别的 IP 地址数据不如上述 **Country-without-asn.mmdb** 准确): - [https://raw.githubusercontent.com/Loyalsoldier/geoip/release/Country.mmdb](https://raw.githubusercontent.com/Loyalsoldier/geoip/release/Country.mmdb) - [https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/Country.mmdb](https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/Country.mmdb) - **Country.mmdb.sha256sum**: diff --git a/geoip/config.json b/geoip/config.json index adf1cc3b51..44444ca638 100644 --- a/geoip/config.json +++ b/geoip/config.json @@ -243,6 +243,25 @@ ] } }, + { + "type": "maxmindMMDB", + "action": "output", + "args": { + "outputDir": "./output", + "outputName": "Country-without-asn.mmdb", + "overwriteList": ["cn", "private"], + "excludedList": [ + "cloudflare", + "cloudfront", + "facebook", + "fastly", + "google", + "netflix", + "telegram", + "twitter" + ] + } + }, { "type": "maxmindMMDB", "action": "output", diff --git a/geoip/configuration.md b/geoip/configuration.md index a604482334..2a6d6ea440 100644 --- a/geoip/configuration.md +++ b/geoip/configuration.md @@ -728,6 +728,7 @@ - **outputDir**:(可选)输出目录 - **outputExtension**:(可选)输出文件的扩展名 - **wantedList**:(可选,数组)指定需要输出的类别 + - **excludedList**:(可选,数组)指定不需要输出的类别 - **onlyIPType**:(可选)输出的 IP 地址类型,值为 `ipv4` 或 `ipv6` ```jsonc @@ -774,6 +775,18 @@ } ``` +```jsonc +{ + "type": "clashRuleSet", + "action": "output", + "args": { + "outputDir": "./clash/ipcidr", // 输出文件到目录 ./clash/ipcidr + "outputExtension": ".yaml", // 输出文件的扩展名为 .yaml + "excludedList": ["cn", "us", "jp"] // 不输出名为 cn、us、jp 这三个类别的 IPv4 和 IPv6 地址 + } +} +``` + ### **clashRuleSetClassical** - **type**:(必须)输入格式的名称 @@ -782,6 +795,7 @@ - **outputDir**:(可选)输出目录 - **outputExtension**:(可选)输出文件的扩展名 - **wantedList**:(可选,数组)指定需要输出的类别 + - **excludedList**:(可选,数组)指定不需要输出的类别 - **onlyIPType**:(可选)输出的 IP 地址类型,值为 `ipv4` 或 `ipv6` ```jsonc @@ -828,6 +842,18 @@ } ``` +```jsonc +{ + "type": "clashRuleSetClassical", + "action": "output", + "args": { + "outputDir": "./clash/classical", // 输出文件到目录 ./clash/classical + "outputExtension": ".yaml", // 输出文件的扩展名为 .yaml + "excludedList": ["cn", "us", "jp"] // 不输出名为 cn、us、jp 这三个类别的 IPv4 和 IPv6 地址 + } +} +``` + ### **lookup** - **type**:(必须)输入格式的名称 @@ -868,11 +894,14 @@ - **outputDir**:(可选)输出目录 - **onlyIPType**:(可选)输出的 IP 地址类型,值为 `ipv4` 或 `ipv6` - **wantedList**:(可选,数组)指定需要输出的类别 + - **excludedList**:(可选,数组)指定不需要输出的类别 - **overwriteList**:(可选,数组)指定最后写入的类别(原因见👇) -> 由于 MaxMind mmdb 文件格式的限制,当不同列表的 IP 或 CIDR 数据有交集或重复项时,后写入的列表的 IP 或 CIDR 数据会覆盖(overwrite)之前已写入的列表的数据。譬如,IP 1.1.1.1 同属于列表 `AU` 和列表 `Cloudflare`。如果 `Cloudflare` 在 `AU` 之后写入,则 IP `1.1.1.1` 归属于列表 `Cloudflare`。 +> 由于 MaxMind mmdb 文件格式的限制,当不同列表的 IP 或 CIDR 数据有交集或重复项时,后写入的列表的 IP 或 CIDR 数据会覆盖(overwrite)之前已写入的列表的数据。譬如,IP `1.1.1.1` 同属于列表 `AU` 和列表 `Cloudflare`。如果 `Cloudflare` 在 `AU` 之后写入,则 IP `1.1.1.1` 最终归属于列表 `Cloudflare`。 > > 为了确保某些指定的列表、被修改的列表一定囊括属于它的所有 IP 或 CIDR 数据,可在 output 输出格式为 `maxmindMMDB` 的配置中增加选项 `overwriteList`,该选项中指定的列表会在最后逐一写入,列表中最后一项优先级最高。若已设置选项 `wantedList`,则无需设置 `overwriteList`。`wantedList` 中指定的列表会在最后逐一写入,列表中最后一项优先级最高。 +> +> `wantedList`、`overwriteList`、`excludedList` 三者中,`excludedList` 优先级最高。即:若设置了选项 `excludedList`,最终不会输出存在于 `excludedList` 中的列表。 ```jsonc // 默认输出目录 ./output/maxmind @@ -894,13 +923,25 @@ } ``` +```jsonc +{ + "type": "maxmindMMDB", + "action": "output", + "args": { + "outputDir": "./output", // 输出文件到 output 目录 + "outputName": "Country-without-cn-private.mmdb", // 输出文件名为 Country-without-cn-private.mmdb + "excludedList": ["cn", "private"] // 不输出 cn、private 类别 + } +} +``` + ```jsonc { "type": "maxmindMMDB", "action": "output", "args": { "outputName": "Country.mmdb", // 输出文件名为 Country.mmdb - "overwriteList": ["cn", "google"] // 确保 cn、google 类别后写入,且 google 最后写入 + "overwriteList": ["cn", "google"] // 确保 cn、google 类别最后写入,且 google 比 cn 后写入 } } ``` @@ -911,12 +952,36 @@ "action": "output", "args": { "outputName": "Country.mmdb", // 输出文件名为 Country.mmdb - "overwriteList": ["cn", "google"], // 确保 cn、google 类别后写入,且 google 最后写入 + "overwriteList": ["cn", "google"], // 确保 cn、google 类别最后写入,且 google 比 cn 后写入 "onlyIPType": "ipv4" // 只输出 cn、private 类别的 IPv4 地址 } } ``` +```jsonc +{ + "type": "maxmindMMDB", + "action": "output", + "args": { + "outputName": "Country.mmdb", // 输出文件名为 Country.mmdb + "excludedList": ["private"], // 最终不输出 private 类别 + "wantedList": ["private" ,"au", "cloudflare"] // 只输出 au、cloudflare 类别,并确保 cloudflare 比 au 后写入。但由于 private 存在于 excludedList 中,最终不输出 private 类别 + } +} +``` + +```jsonc +{ + "type": "maxmindMMDB", + "action": "output", + "args": { + "outputName": "Country.mmdb", // 输出文件名为 Country.mmdb + "excludedList": ["private"], // 最终不输出 private 类别 + "overwriteList": ["private" ,"cn", "google"] // 确保 cn、google 类别最后写入,且 google 比 cn 后写入。但由于 private 存在于 excludedList 中,最终不输出 private 类别 + } +} +``` + ### **mihomoMRS** - **type**:(必须)输入格式的名称 @@ -924,6 +989,7 @@ - **args**:(可选) - **outputDir**:(可选)输出目录 - **wantedList**:(可选,数组)指定需要输出的类别 + - **excludedList**:(可选,数组)指定不需要输出的类别 - **onlyIPType**:(可选)输出的 IP 地址类型,值为 `ipv4` 或 `ipv6` ```jsonc @@ -945,6 +1011,17 @@ } ``` +```jsonc +{ + "type": "mihomoMRS", + "action": "output", + "args": { + "outputDir": "./output", // 输出文件到 output 目录 + "excludedList": ["cn", "private"] // 不输出 cn、private 类别 + } +} +``` + ```jsonc { "type": "mihomoMRS", @@ -962,6 +1039,7 @@ - **args**:(可选) - **outputDir**:(可选)输出目录 - **wantedList**:(可选,数组)指定需要输出的类别 + - **excludedList**:(可选,数组)指定不需要输出的类别 - **onlyIPType**:(可选)输出的 IP 地址类型,值为 `ipv4` 或 `ipv6` ```jsonc @@ -983,6 +1061,17 @@ } ``` +```jsonc +{ + "type": "singboxSRS", + "action": "output", + "args": { + "outputDir": "./output", // 输出文件到 output 目录 + "excludedList": ["cn", "private"] // 不输出 cn、private 类别 + } +} +``` + ```jsonc { "type": "singboxSRS", @@ -999,6 +1088,7 @@ - **action**:(必须)操作类型,值必须为 `output` - **args**:(可选) - **wantedList**:(可选,数组)指定需要输出的类别 + - **excludedList**:(可选,数组)指定不需要输出的类别 - **onlyIPType**:(可选)输出的 IP 地址类型,值为 `ipv4` 或 `ipv6` ```jsonc @@ -1018,6 +1108,16 @@ } ``` +```jsonc +{ + "type": "stdout", + "action": "output", + "args": { + "excludedList": ["cn", "private"] // 不输出 cn、private 类别到 standard output + } +} +``` + ```jsonc { "type": "stdout", @@ -1036,6 +1136,7 @@ - **outputDir**:(可选)输出目录 - **outputExtension**:(可选)输出的文件的扩展名 - **wantedList**:(可选,数组)指定需要输出的类别 + - **excludedList**:(可选,数组)指定不需要输出的类别 - **onlyIPType**:(可选)输出的 IP 地址类型,值为 `ipv4` 或 `ipv6` ```jsonc @@ -1069,6 +1170,18 @@ } ``` +```jsonc +{ + "type": "surgeRuleSet", + "action": "output", + "args": { + "outputDir": "./surge", // 输出文件到目录 ./surge + "outputExtension": ".conf", // 输出文件的扩展名为 .conf + "excludedList": ["cn", "us", "jp"] // 不输出名为 cn、us、jp 这三个类别的 IPv4 和 IPv6 地址 + } +} +``` + ```jsonc { "type": "surgeRuleSet", @@ -1090,6 +1203,7 @@ - **outputDir**:(可选)输出目录 - **outputExtension**:(可选)输出的文件的扩展名 - **wantedList**:(可选,数组)指定需要输出的类别 + - **excludedList**:(可选,数组)指定不需要输出的类别 - **onlyIPType**:(可选)输出的 IP 地址类型,值为 `ipv4` 或 `ipv6` - **addPrefixInLine**:(可选)给输出的每一行添加的字符串前缀 - **addSuffixInLine**:(可选)给输出的每一行添加的字符串后缀 @@ -1134,6 +1248,19 @@ } ``` +```jsonc +{ + "type": "text", + "action": "output", + "args": { + "outputDir": "./text", // 输出文件到目录 ./text + "outputExtension": ".conf", // 输出文件的扩展名为 .conf + "excludedList": ["cn", "us", "jp"], // 不输出名为 cn、us、jp 这三个类别的 IPv4 和 IPv6 地址 + "addPrefixInLine": "HOST," + } +} +``` + ```jsonc { "type": "text", @@ -1156,6 +1283,7 @@ - **outputName**:(可选)输出的文件名 - **outputDir**:(可选)输出目录 - **wantedList**:(可选,数组)指定需要输出的类别 + - **excludedList**:(可选,数组)指定不需要输出的类别 - **onlyIPType**:(可选)输出的 IP 地址类型,值为 `ipv4` 或 `ipv6` - **oneFilePerList**:(可选)每个类别输出为一个单独的文件,值为 `true` 或 `false`(默认值) @@ -1189,6 +1317,18 @@ } ``` +```jsonc +{ + "type": "v2rayGeoIPDat", + "action": "output", + "args": { + "outputDir": "./output", // 输出文件到 output 目录 + "outputName": "geoip-without-cn-private.dat", // 输出文件名为 geoip-without-cn-private.dat + "excludedList": ["cn", "private"] // 不输出 cn、private 类别 + } +} +``` + ```jsonc { "type": "v2rayGeoIPDat", diff --git a/geoip/go.mod b/geoip/go.mod index a0dda17d9c..c455e26d1c 100644 --- a/geoip/go.mod +++ b/geoip/go.mod @@ -1,8 +1,8 @@ module github.com/Loyalsoldier/geoip -go 1.22 +go 1.23 -toolchain go1.22.6 +toolchain go1.23.2 require ( github.com/klauspost/compress v1.17.10 @@ -10,6 +10,7 @@ require ( github.com/oschwald/maxminddb-golang v1.13.1 github.com/sagernet/sing-box v1.9.7 github.com/spf13/cobra v1.8.1 + github.com/tailscale/hujson v0.0.0-20241010212012-29efb4a0184b github.com/tidwall/gjson v1.18.0 go4.org/netipx v0.0.0-20231129151722-fdeea329fbba google.golang.org/protobuf v1.35.1 diff --git a/geoip/go.sum b/geoip/go.sum index b72cc24006..75e7031b95 100644 --- a/geoip/go.sum +++ b/geoip/go.sum @@ -45,6 +45,8 @@ github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/tailscale/hujson v0.0.0-20241010212012-29efb4a0184b h1:MNaGusDfB1qxEsl6iVb33Gbe777IKzPP5PDta0xGC8M= +github.com/tailscale/hujson v0.0.0-20241010212012-29efb4a0184b/go.mod h1:EbW0wDK/qEUYI0A5bqq0C2kF8JTQwWONmGDBbzsxxHo= github.com/tidwall/gjson v1.18.0 h1:FIDeeyB800efLX89e5a8Y0BNH+LOngJyGrIWxG2FKQY= github.com/tidwall/gjson v1.18.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= diff --git a/geoip/lib/instance.go b/geoip/lib/instance.go index 79949c0f7d..0a16442e55 100644 --- a/geoip/lib/instance.go +++ b/geoip/lib/instance.go @@ -5,6 +5,8 @@ import ( "errors" "os" "strings" + + "github.com/tailscale/hujson" ) type Instance struct { @@ -34,6 +36,9 @@ func (i *Instance) Init(configFile string) error { return err } + // Support JSON with comments and trailing commas + content, _ = hujson.Standardize(content) + if err := json.Unmarshal(content, &i.config); err != nil { return err } @@ -50,6 +55,9 @@ func (i *Instance) Init(configFile string) error { } func (i *Instance) InitFromBytes(content []byte) error { + // Support JSON with comments and trailing commas + content, _ = hujson.Standardize(content) + if err := json.Unmarshal(content, &i.config); err != nil { return err } diff --git a/geoip/plugin/maxmind/mmdb_out.go b/geoip/plugin/maxmind/mmdb_out.go index 964971d755..3b8ba20c2b 100644 --- a/geoip/plugin/maxmind/mmdb_out.go +++ b/geoip/plugin/maxmind/mmdb_out.go @@ -2,7 +2,6 @@ package maxmind import ( "encoding/json" - "fmt" "log" "net" "os" @@ -40,6 +39,7 @@ func newMMDBOut(action lib.Action, data json.RawMessage) (lib.OutputConverter, e OutputDir string `json:"outputDir"` Want []string `json:"wantedList"` Overwrite []string `json:"overwriteList"` + Exclude []string `json:"excludedList"` OnlyIPType lib.IPType `json:"onlyIPType"` } @@ -65,6 +65,7 @@ func newMMDBOut(action lib.Action, data json.RawMessage) (lib.OutputConverter, e OutputDir: tmp.OutputDir, Want: tmp.Want, Overwrite: tmp.Overwrite, + Exclude: tmp.Exclude, OnlyIPType: tmp.OnlyIPType, }, nil } @@ -77,6 +78,7 @@ type mmdbOut struct { OutputDir string Want []string Overwrite []string + Exclude []string OnlyIPType lib.IPType } @@ -106,30 +108,28 @@ func (m *mmdbOut) Output(container lib.Container) error { } updated := false - for _, name := range m.getEntryNameListInOrder(container) { + for _, name := range m.filterAndSortList(container) { entry, found := container.GetEntry(name) if !found { - log.Printf("❌ entry %s not found", name) + log.Printf("❌ entry %s not found\n", name) continue } + if err := m.marshalData(writer, entry); err != nil { return err } + updated = true } if updated { - if err := m.writeFile(m.OutputName, writer); err != nil { - return err - } - } else { - return fmt.Errorf("❌ [type %s | action %s] failed to write file", m.Type, m.Action) + return m.writeFile(m.OutputName, writer) } return nil } -func (m *mmdbOut) getEntryNameListInOrder(container lib.Container) []string { +func (m *mmdbOut) filterAndSortList(container lib.Container) []string { /* Note: The IPs and/or CIDRs of the latter list will overwrite those of the former one when duplicated data found due to MaxMind mmdb file format constraint. @@ -140,9 +140,16 @@ func (m *mmdbOut) getEntryNameListInOrder(container lib.Container) []string { The order of names in wantedList has a higher priority than which of the overwriteList. */ + excludeMap := make(map[string]bool) + for _, exclude := range m.Exclude { + if exclude = strings.ToUpper(strings.TrimSpace(exclude)); exclude != "" { + excludeMap[exclude] = true + } + } + wantList := make([]string, 0, len(m.Want)) for _, want := range m.Want { - if want = strings.ToUpper(strings.TrimSpace(want)); want != "" { + if want = strings.ToUpper(strings.TrimSpace(want)); want != "" && !excludeMap[want] { wantList = append(wantList, want) } } @@ -154,7 +161,7 @@ func (m *mmdbOut) getEntryNameListInOrder(container lib.Container) []string { overwriteList := make([]string, 0, len(m.Overwrite)) overwriteMap := make(map[string]bool) for _, overwrite := range m.Overwrite { - if overwrite = strings.ToUpper(strings.TrimSpace(overwrite)); overwrite != "" { + if overwrite = strings.ToUpper(strings.TrimSpace(overwrite)); overwrite != "" && !excludeMap[overwrite] { overwriteList = append(overwriteList, overwrite) overwriteMap[overwrite] = true } @@ -163,8 +170,7 @@ func (m *mmdbOut) getEntryNameListInOrder(container lib.Container) []string { list := make([]string, 0, 300) for entry := range container.Loop() { name := entry.GetName() - _, found := overwriteMap[name] - if found { + if excludeMap[name] || overwriteMap[name] { continue } list = append(list, name) diff --git a/geoip/plugin/mihomo/mrs_out.go b/geoip/plugin/mihomo/mrs_out.go index fe9480dab3..28b922b3d4 100644 --- a/geoip/plugin/mihomo/mrs_out.go +++ b/geoip/plugin/mihomo/mrs_out.go @@ -38,6 +38,7 @@ func newMRSOut(action lib.Action, data json.RawMessage) (lib.OutputConverter, er var tmp struct { OutputDir string `json:"outputDir"` Want []string `json:"wantedList"` + Exclude []string `json:"excludedList"` OnlyIPType lib.IPType `json:"onlyIPType"` } @@ -51,20 +52,13 @@ func newMRSOut(action lib.Action, data json.RawMessage) (lib.OutputConverter, er tmp.OutputDir = defaultOutputDir } - // Filter want list - wantList := make([]string, 0, len(tmp.Want)) - for _, want := range tmp.Want { - if want = strings.ToUpper(strings.TrimSpace(want)); want != "" { - wantList = append(wantList, want) - } - } - return &mrsOut{ Type: typeMRSOut, Action: action, Description: descMRSOut, OutputDir: tmp.OutputDir, - Want: wantList, + Want: tmp.Want, + Exclude: tmp.Exclude, OnlyIPType: tmp.OnlyIPType, }, nil } @@ -75,6 +69,7 @@ type mrsOut struct { Description string OutputDir string Want []string + Exclude []string OnlyIPType lib.IPType } @@ -91,47 +86,57 @@ func (m *mrsOut) GetDescription() string { } func (m *mrsOut) Output(container lib.Container) error { - switch len(m.Want) { - case 0: - list := make([]string, 0, 300) - for entry := range container.Loop() { - list = append(list, entry.GetName()) + for _, name := range m.filterAndSortList(container) { + entry, found := container.GetEntry(name) + if !found { + log.Printf("❌ entry %s not found\n", name) + continue } - // Sort the list - slices.Sort(list) - - for _, name := range list { - entry, found := container.GetEntry(name) - if !found { - log.Printf("❌ entry %s not found", name) - continue - } - if err := m.generate(entry); err != nil { - return err - } - } - - default: - // Sort the list - slices.Sort(m.Want) - - for _, name := range m.Want { - entry, found := container.GetEntry(name) - if !found { - log.Printf("❌ entry %s not found", name) - continue - } - - if err := m.generate(entry); err != nil { - return err - } + if err := m.generate(entry); err != nil { + return err } } return nil } +func (m *mrsOut) filterAndSortList(container lib.Container) []string { + excludeMap := make(map[string]bool) + for _, exclude := range m.Exclude { + if exclude = strings.ToUpper(strings.TrimSpace(exclude)); exclude != "" { + excludeMap[exclude] = true + } + } + + wantList := make([]string, 0, len(m.Want)) + for _, want := range m.Want { + if want = strings.ToUpper(strings.TrimSpace(want)); want != "" && !excludeMap[want] { + wantList = append(wantList, want) + } + } + + if len(wantList) > 0 { + // Sort the list + slices.Sort(wantList) + return wantList + } + + list := make([]string, 0, 300) + for entry := range container.Loop() { + name := entry.GetName() + if excludeMap[name] { + continue + } + list = append(list, name) + } + + // Sort the list + slices.Sort(list) + + return list +} + func (m *mrsOut) generate(entry *lib.Entry) error { var ipRanges []netipx.IPRange var err error diff --git a/geoip/plugin/plaintext/common_out.go b/geoip/plugin/plaintext/common_out.go index b8f1bb5597..117d48c72b 100644 --- a/geoip/plugin/plaintext/common_out.go +++ b/geoip/plugin/plaintext/common_out.go @@ -7,7 +7,6 @@ import ( "net" "os" "path/filepath" - "strings" "github.com/Loyalsoldier/geoip/lib" ) @@ -26,6 +25,7 @@ type textOut struct { OutputDir string OutputExt string Want []string + Exclude []string OnlyIPType lib.IPType AddPrefixInLine string @@ -37,6 +37,7 @@ func newTextOut(iType string, action lib.Action, data json.RawMessage) (lib.Outp OutputDir string `json:"outputDir"` OutputExt string `json:"outputExtension"` Want []string `json:"wantedList"` + Exclude []string `json:"excludedList"` OnlyIPType lib.IPType `json:"onlyIPType"` AddPrefixInLine string `json:"addPrefixInLine"` @@ -66,21 +67,14 @@ func newTextOut(iType string, action lib.Action, data json.RawMessage) (lib.Outp tmp.OutputExt = ".txt" } - // Filter want list - wantList := make([]string, 0, len(tmp.Want)) - for _, want := range tmp.Want { - if want = strings.ToUpper(strings.TrimSpace(want)); want != "" { - wantList = append(wantList, want) - } - } - return &textOut{ Type: iType, Action: action, Description: descTextOut, OutputDir: tmp.OutputDir, OutputExt: tmp.OutputExt, - Want: wantList, + Want: tmp.Want, + Exclude: tmp.Exclude, OnlyIPType: tmp.OnlyIPType, AddPrefixInLine: tmp.AddPrefixInLine, diff --git a/geoip/plugin/plaintext/text_out.go b/geoip/plugin/plaintext/text_out.go index dce92ce888..cc51da95c5 100644 --- a/geoip/plugin/plaintext/text_out.go +++ b/geoip/plugin/plaintext/text_out.go @@ -36,52 +36,59 @@ func (t *textOut) GetDescription() string { } func (t *textOut) Output(container lib.Container) error { - switch len(t.Want) { - case 0: - list := make([]string, 0, 300) - for entry := range container.Loop() { - list = append(list, entry.GetName()) + for _, name := range t.filterAndSortList(container) { + entry, found := container.GetEntry(name) + if !found { + log.Printf("❌ entry %s not found\n", name) + continue } - // Sort the list - slices.Sort(list) - - for _, name := range list { - entry, found := container.GetEntry(name) - if !found { - log.Printf("❌ entry %s not found", name) - continue - } - data, err := t.marshalBytes(entry) - if err != nil { - return err - } - filename := strings.ToLower(entry.GetName()) + t.OutputExt - if err := t.writeFile(filename, data); err != nil { - return err - } + data, err := t.marshalBytes(entry) + if err != nil { + return err } - default: - // Sort the list - slices.Sort(t.Want) - - for _, name := range t.Want { - entry, found := container.GetEntry(name) - if !found { - log.Printf("❌ entry %s not found", name) - continue - } - data, err := t.marshalBytes(entry) - if err != nil { - return err - } - filename := strings.ToLower(entry.GetName()) + t.OutputExt - if err := t.writeFile(filename, data); err != nil { - return err - } + filename := strings.ToLower(entry.GetName()) + t.OutputExt + if err := t.writeFile(filename, data); err != nil { + return err } } return nil } + +func (t *textOut) filterAndSortList(container lib.Container) []string { + excludeMap := make(map[string]bool) + for _, exclude := range t.Exclude { + if exclude = strings.ToUpper(strings.TrimSpace(exclude)); exclude != "" { + excludeMap[exclude] = true + } + } + + wantList := make([]string, 0, len(t.Want)) + for _, want := range t.Want { + if want = strings.ToUpper(strings.TrimSpace(want)); want != "" && !excludeMap[want] { + wantList = append(wantList, want) + } + } + + if len(wantList) > 0 { + // Sort the list + slices.Sort(wantList) + return wantList + } + + list := make([]string, 0, 300) + for entry := range container.Loop() { + name := entry.GetName() + if excludeMap[name] { + continue + } + list = append(list, name) + } + + // Sort the list + slices.Sort(list) + + return list +} diff --git a/geoip/plugin/singbox/srs_out.go b/geoip/plugin/singbox/srs_out.go index d2950ee559..4c4de1f762 100644 --- a/geoip/plugin/singbox/srs_out.go +++ b/geoip/plugin/singbox/srs_out.go @@ -37,6 +37,7 @@ func newSRSOut(action lib.Action, data json.RawMessage) (lib.OutputConverter, er var tmp struct { OutputDir string `json:"outputDir"` Want []string `json:"wantedList"` + Exclude []string `json:"excludedList"` OnlyIPType lib.IPType `json:"onlyIPType"` } @@ -50,20 +51,13 @@ func newSRSOut(action lib.Action, data json.RawMessage) (lib.OutputConverter, er tmp.OutputDir = defaultOutputDir } - // Filter want list - wantList := make([]string, 0, len(tmp.Want)) - for _, want := range tmp.Want { - if want = strings.ToUpper(strings.TrimSpace(want)); want != "" { - wantList = append(wantList, want) - } - } - return &srsOut{ Type: typeSRSOut, Action: action, Description: descSRSOut, OutputDir: tmp.OutputDir, - Want: wantList, + Want: tmp.Want, + Exclude: tmp.Exclude, OnlyIPType: tmp.OnlyIPType, }, nil } @@ -74,6 +68,7 @@ type srsOut struct { Description string OutputDir string Want []string + Exclude []string OnlyIPType lib.IPType } @@ -90,49 +85,59 @@ func (s *srsOut) GetDescription() string { } func (s *srsOut) Output(container lib.Container) error { - switch len(s.Want) { - case 0: - list := make([]string, 0, 300) - for entry := range container.Loop() { - list = append(list, entry.GetName()) + for _, name := range s.filterAndSortList(container) { + entry, found := container.GetEntry(name) + if !found { + log.Printf("❌ entry %s not found\n", name) + continue } - // Sort the list - slices.Sort(list) - - for _, name := range list { - entry, found := container.GetEntry(name) - if !found { - log.Printf("❌ entry %s not found", name) - continue - } - if err := s.run(entry); err != nil { - return err - } - } - - default: - // Sort the list - slices.Sort(s.Want) - - for _, name := range s.Want { - entry, found := container.GetEntry(name) - if !found { - log.Printf("❌ entry %s not found", name) - continue - } - - if err := s.run(entry); err != nil { - return err - } + if err := s.generate(entry); err != nil { + return err } } return nil } -func (s *srsOut) run(entry *lib.Entry) error { - ruleset, err := s.generateRuleSet(entry) +func (s *srsOut) filterAndSortList(container lib.Container) []string { + excludeMap := make(map[string]bool) + for _, exclude := range s.Exclude { + if exclude = strings.ToUpper(strings.TrimSpace(exclude)); exclude != "" { + excludeMap[exclude] = true + } + } + + wantList := make([]string, 0, len(s.Want)) + for _, want := range s.Want { + if want = strings.ToUpper(strings.TrimSpace(want)); want != "" && !excludeMap[want] { + wantList = append(wantList, want) + } + } + + if len(wantList) > 0 { + // Sort the list + slices.Sort(wantList) + return wantList + } + + list := make([]string, 0, 300) + for entry := range container.Loop() { + name := entry.GetName() + if excludeMap[name] { + continue + } + list = append(list, name) + } + + // Sort the list + slices.Sort(list) + + return list +} + +func (s *srsOut) generate(entry *lib.Entry) error { + ruleset, err := s.marshalRuleSet(entry) if err != nil { return err } @@ -145,7 +150,7 @@ func (s *srsOut) run(entry *lib.Entry) error { return nil } -func (s *srsOut) generateRuleSet(entry *lib.Entry) (*option.PlainRuleSet, error) { +func (s *srsOut) marshalRuleSet(entry *lib.Entry) (*option.PlainRuleSet, error) { var entryCidr []string var err error switch s.OnlyIPType { diff --git a/geoip/plugin/special/stdout.go b/geoip/plugin/special/stdout.go index b0f9320a23..8c57cb5867 100644 --- a/geoip/plugin/special/stdout.go +++ b/geoip/plugin/special/stdout.go @@ -5,6 +5,7 @@ import ( "errors" "io" "os" + "slices" "strings" "github.com/Loyalsoldier/geoip/lib" @@ -27,6 +28,7 @@ func init() { func newStdout(action lib.Action, data json.RawMessage) (lib.OutputConverter, error) { var tmp struct { Want []string `json:"wantedList"` + Exclude []string `json:"excludedList"` OnlyIPType lib.IPType `json:"onlyIPType"` } @@ -36,19 +38,12 @@ func newStdout(action lib.Action, data json.RawMessage) (lib.OutputConverter, er } } - // Filter want list - wantList := make(map[string]bool) - for _, want := range tmp.Want { - if want = strings.ToUpper(strings.TrimSpace(want)); want != "" { - wantList[want] = true - } - } - return &stdout{ Type: typeStdout, Action: action, Description: descStdout, - Want: wantList, + Want: tmp.Want, + Exclude: tmp.Exclude, OnlyIPType: tmp.OnlyIPType, }, nil } @@ -57,7 +52,8 @@ type stdout struct { Type string Action lib.Action Description string - Want map[string]bool + Want []string + Exclude []string OnlyIPType lib.IPType } @@ -74,8 +70,9 @@ func (s *stdout) GetDescription() string { } func (s *stdout) Output(container lib.Container) error { - for entry := range container.Loop() { - if len(s.Want) > 0 && !s.Want[entry.GetName()] { + for _, name := range s.filterAndSortList(container) { + entry, found := container.GetEntry(name) + if !found { continue } @@ -83,6 +80,7 @@ func (s *stdout) Output(container lib.Container) error { if err != nil { continue } + for _, cidr := range cidrList { io.WriteString(os.Stdout, cidr+"\n") } @@ -91,6 +89,42 @@ func (s *stdout) Output(container lib.Container) error { return nil } +func (s *stdout) filterAndSortList(container lib.Container) []string { + excludeMap := make(map[string]bool) + for _, exclude := range s.Exclude { + if exclude = strings.ToUpper(strings.TrimSpace(exclude)); exclude != "" { + excludeMap[exclude] = true + } + } + + wantList := make([]string, 0, len(s.Want)) + for _, want := range s.Want { + if want = strings.ToUpper(strings.TrimSpace(want)); want != "" && !excludeMap[want] { + wantList = append(wantList, want) + } + } + + if len(wantList) > 0 { + // Sort the list + slices.Sort(wantList) + return wantList + } + + list := make([]string, 0, 300) + for entry := range container.Loop() { + name := entry.GetName() + if excludeMap[name] { + continue + } + list = append(list, name) + } + + // Sort the list + slices.Sort(list) + + return list +} + func (s *stdout) generateCIDRList(entry *lib.Entry) ([]string, error) { var entryList []string var err error diff --git a/geoip/plugin/v2ray/dat_out.go b/geoip/plugin/v2ray/dat_out.go index 1e64ede399..3b12027740 100644 --- a/geoip/plugin/v2ray/dat_out.go +++ b/geoip/plugin/v2ray/dat_out.go @@ -7,6 +7,7 @@ import ( "net/netip" "os" "path/filepath" + "slices" "sort" "strings" @@ -38,6 +39,7 @@ func newGeoIPDat(action lib.Action, data json.RawMessage) (lib.OutputConverter, OutputName string `json:"outputName"` OutputDir string `json:"outputDir"` Want []string `json:"wantedList"` + Exclude []string `json:"excludedList"` OneFilePerList bool `json:"oneFilePerList"` OnlyIPType lib.IPType `json:"onlyIPType"` } @@ -56,21 +58,14 @@ func newGeoIPDat(action lib.Action, data json.RawMessage) (lib.OutputConverter, tmp.OutputDir = defaultOutputDir } - // Filter want list - wantList := make([]string, 0, len(tmp.Want)) - for _, want := range tmp.Want { - if want = strings.ToUpper(strings.TrimSpace(want)); want != "" { - wantList = append(wantList, want) - } - } - return &geoIPDatOut{ Type: typeGeoIPdatOut, Action: action, Description: descGeoIPdatOut, OutputName: tmp.OutputName, OutputDir: tmp.OutputDir, - Want: wantList, + Want: tmp.Want, + Exclude: tmp.Exclude, OneFilePerList: tmp.OneFilePerList, OnlyIPType: tmp.OnlyIPType, }, nil @@ -83,6 +78,7 @@ type geoIPDatOut struct { OutputName string OutputDir string Want []string + Exclude []string OneFilePerList bool OnlyIPType lib.IPType } @@ -104,70 +100,32 @@ func (g *geoIPDatOut) Output(container lib.Container) error { geoIPList.Entry = make([]*GeoIP, 0, 300) updated := false - switch len(g.Want) { - case 0: - list := make([]string, 0, 300) - for entry := range container.Loop() { - list = append(list, entry.GetName()) + for _, name := range g.filterAndSortList(container) { + entry, found := container.GetEntry(name) + if !found { + log.Printf("❌ entry %s not found\n", name) + continue } - // Sort the list - sort.Strings(list) + geoIP, err := g.generateGeoIP(entry) + if err != nil { + return err + } + geoIPList.Entry = append(geoIPList.Entry, geoIP) + updated = true - for _, name := range list { - entry, found := container.GetEntry(name) - if !found { - log.Printf("❌ entry %s not found", name) - continue - } - geoIP, err := g.generateGeoIP(entry) + if g.OneFilePerList { + geoIPBytes, err := proto.Marshal(geoIPList) if err != nil { return err } - geoIPList.Entry = append(geoIPList.Entry, geoIP) - updated = true - if g.OneFilePerList { - geoIPBytes, err := proto.Marshal(geoIPList) - if err != nil { - return err - } - filename := strings.ToLower(entry.GetName()) + ".dat" - if err := g.writeFile(filename, geoIPBytes); err != nil { - return err - } - geoIPList.Entry = nil - } - } - - default: - // Sort the list - sort.Strings(g.Want) - - for _, name := range g.Want { - entry, found := container.GetEntry(name) - if !found { - log.Printf("❌ entry %s not found", name) - continue - } - geoIP, err := g.generateGeoIP(entry) - if err != nil { + filename := strings.ToLower(entry.GetName()) + ".dat" + if err := g.writeFile(filename, geoIPBytes); err != nil { return err } - geoIPList.Entry = append(geoIPList.Entry, geoIP) - updated = true - if g.OneFilePerList { - geoIPBytes, err := proto.Marshal(geoIPList) - if err != nil { - return err - } - filename := strings.ToLower(entry.GetName()) + ".dat" - if err := g.writeFile(filename, geoIPBytes); err != nil { - return err - } - geoIPList.Entry = nil - } + geoIPList.Entry = nil } } @@ -187,6 +145,42 @@ func (g *geoIPDatOut) Output(container lib.Container) error { return nil } +func (g *geoIPDatOut) filterAndSortList(container lib.Container) []string { + excludeMap := make(map[string]bool) + for _, exclude := range g.Exclude { + if exclude = strings.ToUpper(strings.TrimSpace(exclude)); exclude != "" { + excludeMap[exclude] = true + } + } + + wantList := make([]string, 0, len(g.Want)) + for _, want := range g.Want { + if want = strings.ToUpper(strings.TrimSpace(want)); want != "" && !excludeMap[want] { + wantList = append(wantList, want) + } + } + + if len(wantList) > 0 { + // Sort the list + slices.Sort(wantList) + return wantList + } + + list := make([]string, 0, 300) + for entry := range container.Loop() { + name := entry.GetName() + if excludeMap[name] { + continue + } + list = append(list, name) + } + + // Sort the list + slices.Sort(list) + + return list +} + func (g *geoIPDatOut) generateGeoIP(entry *lib.Entry) (*GeoIP, error) { var entryCidr []netip.Prefix var err error diff --git a/lede/include/kernel-6.6 b/lede/include/kernel-6.6 index a5048a4e6f..df3464ab41 100644 --- a/lede/include/kernel-6.6 +++ b/lede/include/kernel-6.6 @@ -1,2 +1,2 @@ -LINUX_VERSION-6.6 = .57 -LINUX_KERNEL_HASH-6.6.57 = 66ce426ef96f99b8e1ef7ac72e780c730ef8b970f7aa5708501c4274d7abb7b3 +LINUX_VERSION-6.6 = .58 +LINUX_KERNEL_HASH-6.6.58 = e7df81e588d70fab5ec3ec3bb04ac53d51f0860fc3b1ec45e0a4167a026899db diff --git a/lede/target/linux/generic/backport-6.6/837-v6.13-net-phy-aquantia-allow-forcing-order-of-MDI-pairs.patch b/lede/target/linux/generic/backport-6.6/837-v6.13-net-phy-aquantia-allow-forcing-order-of-MDI-pairs.patch index 9522bcaa45..695d535421 100644 --- a/lede/target/linux/generic/backport-6.6/837-v6.13-net-phy-aquantia-allow-forcing-order-of-MDI-pairs.patch +++ b/lede/target/linux/generic/backport-6.6/837-v6.13-net-phy-aquantia-allow-forcing-order-of-MDI-pairs.patch @@ -64,8 +64,8 @@ Signed-off-by: Jakub Kicinski #define MDIO_AN_RX_LP_STAT1 0xe820 #define MDIO_AN_RX_LP_STAT1_1000BASET_FULL BIT(15) #define MDIO_AN_RX_LP_STAT1_1000BASET_HALF BIT(14) -@@ -497,6 +503,29 @@ static int aqr107_wait_processor_intensi - return 0; +@@ -473,6 +479,29 @@ static void aqr107_chip_info(struct phy_ + fw_major, fw_minor, build_id, prov_id); } +static int aqr107_config_mdi(struct phy_device *phydev) @@ -94,7 +94,7 @@ Signed-off-by: Jakub Kicinski static int aqr107_config_init(struct phy_device *phydev) { struct aqr107_priv *priv = phydev->priv; -@@ -535,6 +564,10 @@ static int aqr107_config_init(struct phy +@@ -502,6 +531,10 @@ static int aqr107_config_init(struct phy if (ret) return ret; diff --git a/lede/target/linux/generic/backport-6.6/838-v6.13-net-phy-aquantia-fix-return-value-check-in-aqr107_co.patch b/lede/target/linux/generic/backport-6.6/838-v6.13-net-phy-aquantia-fix-return-value-check-in-aqr107_co.patch index 73be78a058..fee2661f4e 100644 --- a/lede/target/linux/generic/backport-6.6/838-v6.13-net-phy-aquantia-fix-return-value-check-in-aqr107_co.patch +++ b/lede/target/linux/generic/backport-6.6/838-v6.13-net-phy-aquantia-fix-return-value-check-in-aqr107_co.patch @@ -20,7 +20,7 @@ Signed-off-by: Daniel Golle --- a/drivers/net/phy/aquantia/aquantia_main.c +++ b/drivers/net/phy/aquantia/aquantia_main.c -@@ -512,7 +512,7 @@ static int aqr107_config_mdi(struct phy_ +@@ -488,7 +488,7 @@ static int aqr107_config_mdi(struct phy_ ret = of_property_read_u32(np, "marvell,mdi-cfg-order", &mdi_conf); /* Do nothing in case property "marvell,mdi-cfg-order" is not present */ diff --git a/lede/target/linux/generic/hack-6.6/722-net-phy-aquantia-enable-AQR112-and-AQR412.patch b/lede/target/linux/generic/hack-6.6/722-net-phy-aquantia-enable-AQR112-and-AQR412.patch index 68bb89e424..717c3d38d1 100644 --- a/lede/target/linux/generic/hack-6.6/722-net-phy-aquantia-enable-AQR112-and-AQR412.patch +++ b/lede/target/linux/generic/hack-6.6/722-net-phy-aquantia-enable-AQR112-and-AQR412.patch @@ -15,7 +15,7 @@ Signed-off-by: Alex Marginean --- a/drivers/net/phy/aquantia/aquantia_main.c +++ b/drivers/net/phy/aquantia/aquantia_main.c -@@ -90,6 +90,29 @@ +@@ -96,6 +96,29 @@ #define AQR107_OP_IN_PROG_SLEEP 1000 #define AQR107_OP_IN_PROG_TIMEOUT 100000 @@ -45,7 +45,7 @@ Signed-off-by: Alex Marginean static int aqr107_get_sset_count(struct phy_device *phydev) { return AQR107_SGMII_STAT_SZ; -@@ -196,6 +219,51 @@ static int aqr_config_aneg(struct phy_de +@@ -202,6 +225,51 @@ static int aqr_config_aneg(struct phy_de return genphy_c45_check_and_restart_aneg(phydev, changed); } @@ -97,7 +97,7 @@ Signed-off-by: Alex Marginean static int aqr_config_intr(struct phy_device *phydev) { bool en = phydev->interrupts == PHY_INTERRUPT_ENABLED; -@@ -806,7 +874,7 @@ static struct phy_driver aqr_driver[] = +@@ -839,7 +907,7 @@ static struct phy_driver aqr_driver[] = PHY_ID_MATCH_MODEL(PHY_ID_AQR112), .name = "Aquantia AQR112", .probe = aqr107_probe, @@ -106,7 +106,7 @@ Signed-off-by: Alex Marginean .config_intr = aqr_config_intr, .handle_interrupt = aqr_handle_interrupt, .get_tunable = aqr107_get_tunable, -@@ -829,7 +897,7 @@ static struct phy_driver aqr_driver[] = +@@ -862,7 +930,7 @@ static struct phy_driver aqr_driver[] = PHY_ID_MATCH_MODEL(PHY_ID_AQR412), .name = "Aquantia AQR412", .probe = aqr107_probe, diff --git a/lede/target/linux/generic/hack-6.6/725-net-phy-aquantia-add-PHY_IDs-for-AQR112-variants.patch b/lede/target/linux/generic/hack-6.6/725-net-phy-aquantia-add-PHY_IDs-for-AQR112-variants.patch index 81f948f67c..3c03d2981f 100644 --- a/lede/target/linux/generic/hack-6.6/725-net-phy-aquantia-add-PHY_IDs-for-AQR112-variants.patch +++ b/lede/target/linux/generic/hack-6.6/725-net-phy-aquantia-add-PHY_IDs-for-AQR112-variants.patch @@ -12,7 +12,7 @@ Signed-off-by: Daniel Golle --- a/drivers/net/phy/aquantia/aquantia_main.c +++ b/drivers/net/phy/aquantia/aquantia_main.c -@@ -30,6 +30,8 @@ +@@ -31,6 +31,8 @@ #define PHY_ID_AQR113C 0x31c31c12 #define PHY_ID_AQR114C 0x31c31c22 #define PHY_ID_AQR813 0x31c31cb2 @@ -21,7 +21,7 @@ Signed-off-by: Daniel Golle #define MDIO_PHYXS_VEND_IF_STATUS 0xe812 #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_MASK GENMASK(7, 3) -@@ -1013,6 +1015,30 @@ static struct phy_driver aqr_driver[] = +@@ -1046,6 +1048,30 @@ static struct phy_driver aqr_driver[] = .led_hw_control_get = aqr_phy_led_hw_control_get, .led_polarity_set = aqr_phy_led_polarity_set, }, @@ -52,7 +52,7 @@ Signed-off-by: Daniel Golle }; module_phy_driver(aqr_driver); -@@ -1033,6 +1059,8 @@ static struct mdio_device_id __maybe_unu +@@ -1066,6 +1092,8 @@ static struct mdio_device_id __maybe_unu { PHY_ID_MATCH_MODEL(PHY_ID_AQR113C) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR114C) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR813) }, diff --git a/lede/target/linux/generic/hack-6.6/780-usb-net-MeigLink_modem_support.patch b/lede/target/linux/generic/hack-6.6/780-usb-net-MeigLink_modem_support.patch index 73a27ef6e2..e80dfbeb0f 100644 --- a/lede/target/linux/generic/hack-6.6/780-usb-net-MeigLink_modem_support.patch +++ b/lede/target/linux/generic/hack-6.6/780-usb-net-MeigLink_modem_support.patch @@ -43,7 +43,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support #define QUECTEL_VENDOR_ID 0x2c7c /* These Quectel products use Quectel's vendor ID */ -@@ -1158,6 +1163,11 @@ static const struct usb_device_id option +@@ -1159,6 +1164,11 @@ static const struct usb_device_id option { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x0023)}, /* ONYX 3G device */ { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x9000), /* SIMCom SIM5218 */ .driver_info = NCTRL(0) | NCTRL(1) | NCTRL(2) | NCTRL(3) | RSVD(4) }, @@ -55,7 +55,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support /* Quectel products using Qualcomm vendor ID */ { USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC15)}, { USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC20), -@@ -1199,6 +1209,11 @@ static const struct usb_device_id option +@@ -1200,6 +1210,11 @@ static const struct usb_device_id option .driver_info = ZLP }, { USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96), .driver_info = RSVD(4) }, diff --git a/lede/target/linux/generic/pending-6.6/751-net-phy-aquantia-fix-applying-active_low-bit-after-reset.patch b/lede/target/linux/generic/pending-6.6/751-net-phy-aquantia-fix-applying-active_low-bit-after-reset.patch index e22caa31bf..efb650a604 100644 --- a/lede/target/linux/generic/pending-6.6/751-net-phy-aquantia-fix-applying-active_low-bit-after-reset.patch +++ b/lede/target/linux/generic/pending-6.6/751-net-phy-aquantia-fix-applying-active_low-bit-after-reset.patch @@ -49,7 +49,7 @@ Reviewed-by: Russell King (Oracle) --- a/drivers/net/phy/aquantia/aquantia_main.c +++ b/drivers/net/phy/aquantia/aquantia_main.c -@@ -477,7 +477,7 @@ static int aqr107_config_init(struct phy +@@ -506,7 +506,7 @@ static int aqr107_config_init(struct phy { struct aqr107_priv *priv = phydev->priv; u32 led_active_low; @@ -58,7 +58,7 @@ Reviewed-by: Russell King (Oracle) /* Check that the PHY interface type is compatible */ if (phydev->interface != PHY_INTERFACE_MODE_SGMII && -@@ -504,10 +504,9 @@ static int aqr107_config_init(struct phy +@@ -537,10 +537,9 @@ static int aqr107_config_init(struct phy /* Restore LED polarity state after reset */ for_each_set_bit(led_active_low, &priv->leds_active_low, AQR_MAX_LEDS) { diff --git a/lede/target/linux/generic/pending-6.6/901-usb-add-more-modem-support.patch b/lede/target/linux/generic/pending-6.6/901-usb-add-more-modem-support.patch index e5ba0daf37..4f8a8c74f2 100644 --- a/lede/target/linux/generic/pending-6.6/901-usb-add-more-modem-support.patch +++ b/lede/target/linux/generic/pending-6.6/901-usb-add-more-modem-support.patch @@ -12,7 +12,7 @@ {QMI_GOBI1K_DEVICE(0x05c6, 0x9212)}, /* Acer Gobi Modem Device */ --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c -@@ -2324,9 +2324,13 @@ static const struct usb_device_id option +@@ -2332,9 +2332,13 @@ static const struct usb_device_id option { USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x0a06, 0xff) }, /* Fibocom FM650-CN (RNDIS mode) */ { USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x0a07, 0xff) }, /* Fibocom FM650-CN (MBIM mode) */ { USB_DEVICE_INTERFACE_CLASS(0x2df3, 0x9d03, 0xff) }, /* LongSung M5710 */ diff --git a/lede/target/linux/rockchip/patches-6.6/111-irqchip-gic-v3-add-hackaround-for-rk3568-its.patch b/lede/target/linux/rockchip/patches-6.6/111-irqchip-gic-v3-add-hackaround-for-rk3568-its.patch index b2e2b7d372..f3cb145be6 100644 --- a/lede/target/linux/rockchip/patches-6.6/111-irqchip-gic-v3-add-hackaround-for-rk3568-its.patch +++ b/lede/target/linux/rockchip/patches-6.6/111-irqchip-gic-v3-add-hackaround-for-rk3568-its.patch @@ -18,7 +18,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its #endif /* _IRQ_GIC_COMMON_H */ --- a/drivers/irqchip/irq-gic-v3-its.c +++ b/drivers/irqchip/irq-gic-v3-its.c -@@ -2186,6 +2186,11 @@ static struct page *its_allocate_prop_ta +@@ -2192,6 +2192,11 @@ static struct page *its_allocate_prop_ta { struct page *prop_page; @@ -30,7 +30,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its prop_page = alloc_pages(gfp_flags, get_order(LPI_PROPBASE_SZ)); if (!prop_page) return NULL; -@@ -2308,6 +2313,7 @@ static int its_setup_baser(struct its_no +@@ -2314,6 +2319,7 @@ static int its_setup_baser(struct its_no u64 baser_phys, tmp; u32 alloc_pages, psz; struct page *page; @@ -38,7 +38,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its void *base; psz = baser->psz; -@@ -2320,7 +2326,10 @@ static int its_setup_baser(struct its_no +@@ -2326,7 +2332,10 @@ static int its_setup_baser(struct its_no order = get_order(GITS_BASER_PAGES_MAX * psz); } @@ -50,7 +50,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its if (!page) return -ENOMEM; -@@ -2960,6 +2969,10 @@ static struct page *its_allocate_pending +@@ -2966,6 +2975,10 @@ static struct page *its_allocate_pending { struct page *pend_page; @@ -61,7 +61,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its pend_page = alloc_pages(gfp_flags | __GFP_ZERO, get_order(LPI_PENDBASE_SZ)); if (!pend_page) -@@ -3308,7 +3321,12 @@ static bool its_alloc_table_entry(struct +@@ -3314,7 +3327,12 @@ static bool its_alloc_table_entry(struct /* Allocate memory for 2nd level table */ if (!table[idx]) { @@ -75,7 +75,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its get_order(baser->psz)); if (!page) return false; -@@ -3392,6 +3410,7 @@ static struct its_device *its_create_dev +@@ -3398,6 +3416,7 @@ static struct its_device *its_create_dev unsigned long *lpi_map = NULL; unsigned long flags; u16 *col_map = NULL; @@ -83,7 +83,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its void *itt; int lpi_base; int nr_lpis; -@@ -3404,7 +3423,11 @@ static struct its_device *its_create_dev +@@ -3410,7 +3429,11 @@ static struct its_device *its_create_dev if (WARN_ON(!is_power_of_2(nvecs))) nvecs = roundup_pow_of_two(nvecs); @@ -96,7 +96,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its /* * Even if the device wants a single LPI, the ITT must be * sized as a power of two (and you need at least one bit...). -@@ -3412,7 +3435,7 @@ static struct its_device *its_create_dev +@@ -3418,7 +3441,7 @@ static struct its_device *its_create_dev nr_ites = max(2, nvecs); sz = nr_ites * (FIELD_GET(GITS_TYPER_ITT_ENTRY_SIZE, its->typer) + 1); sz = max(sz, ITS_ITT_ALIGN) + ITS_ITT_ALIGN - 1; @@ -105,7 +105,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its if (alloc_lpis) { lpi_map = its_lpi_alloc(nvecs, &lpi_base, &nr_lpis); if (lpi_map) -@@ -4730,6 +4753,21 @@ static bool __maybe_unused its_enable_qu +@@ -4742,6 +4765,21 @@ static bool __maybe_unused its_enable_qu return true; } @@ -127,7 +127,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its static bool __maybe_unused its_enable_rk3588001(void *data) { struct its_node *its = data; -@@ -4800,6 +4838,12 @@ static const struct gic_quirk its_quirks +@@ -4812,6 +4850,12 @@ static const struct gic_quirk its_quirks #endif #ifdef CONFIG_ROCKCHIP_ERRATUM_3588001 { @@ -140,7 +140,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its .desc = "ITS: Rockchip erratum RK3588001", .iidr = 0x0201743b, .mask = 0xffffffff, -@@ -5065,6 +5109,7 @@ static int __init its_probe_one(struct i +@@ -5077,6 +5121,7 @@ static int __init its_probe_one(struct i { u64 baser, tmp; struct page *page; @@ -148,7 +148,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its u32 ctlr; int err; -@@ -5100,7 +5145,9 @@ static int __init its_probe_one(struct i +@@ -5112,7 +5157,9 @@ static int __init its_probe_one(struct i } } diff --git a/shadowsocks-rust/Cargo.lock b/shadowsocks-rust/Cargo.lock index a99b7f8fd8..342d58f05d 100644 --- a/shadowsocks-rust/Cargo.lock +++ b/shadowsocks-rust/Cargo.lock @@ -218,7 +218,7 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -406,7 +406,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -734,7 +734,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -822,7 +822,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -866,9 +866,9 @@ dependencies = [ [[package]] name = "encoding_rs" -version = "0.8.34" +version = "0.8.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" dependencies = [ "cfg-if", ] @@ -882,7 +882,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -1122,7 +1122,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -1694,7 +1694,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -2225,7 +2225,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -2389,7 +2389,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -2405,29 +2405,29 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.1.6" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf123a161dde1e524adf36f90bc5d8d3462824a9c43553ad07a8183161189ec" +checksum = "be57f64e946e500c8ee36ef6331845d40a93055567ec57e8fae13efd33759b95" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.6" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4502d8515ca9f32f1fb543d987f63d95a14934883db45bdb48060b6b69257f8" +checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] name = "pin-project-lite" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" +checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" [[package]] name = "pin-utils" @@ -2725,9 +2725,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", @@ -3167,7 +3167,7 @@ checksum = "7e85ad2009c50b58e87caa8cd6dac16bdf511bbfb7af6c33df902396aa480fa5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -3298,7 +3298,7 @@ dependencies = [ [[package]] name = "shadowsocks-rust" -version = "1.21.1" +version = "1.21.2" dependencies = [ "base64 0.22.1", "build-time", @@ -3339,7 +3339,7 @@ dependencies = [ [[package]] name = "shadowsocks-service" -version = "1.21.1" +version = "1.21.2" dependencies = [ "arc-swap", "async-trait", @@ -3567,9 +3567,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.82" +version = "2.0.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83540f837a8afc019423a8edb95b52a8effe46957ee402287f4292fae35be021" +checksum = "5023162dfcd14ef8f32034d8bcd4cc5ddc61ef7a247c024a33e24e1f24d21b56" dependencies = [ "proc-macro2", "quote", @@ -3593,7 +3593,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -3684,7 +3684,7 @@ checksum = "ae71770322cbd277e69d762a16c444af02aa0575ac0d174f0b9562d3b37f8602" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -3791,7 +3791,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -3881,7 +3881,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -4135,7 +4135,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", "wasm-bindgen-shared", ] @@ -4169,7 +4169,7 @@ checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -4512,7 +4512,7 @@ checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", "synstructure", ] @@ -4534,7 +4534,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] @@ -4554,7 +4554,7 @@ checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", "synstructure", ] @@ -4583,7 +4583,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.85", ] [[package]] diff --git a/shadowsocks-rust/Cargo.toml b/shadowsocks-rust/Cargo.toml index 748cb7b7cb..1002e194b1 100644 --- a/shadowsocks-rust/Cargo.toml +++ b/shadowsocks-rust/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "shadowsocks-rust" -version = "1.21.1" +version = "1.21.2" authors = ["Shadowsocks Contributors"] description = "shadowsocks is a fast tunnel proxy that helps you bypass firewalls." repository = "https://github.com/shadowsocks/shadowsocks-rust" @@ -248,7 +248,7 @@ jemallocator = { version = "0.5", optional = true } snmalloc-rs = { version = "0.3", optional = true } rpmalloc = { version = "0.2", optional = true } -shadowsocks-service = { version = "1.21.1", path = "./crates/shadowsocks-service" } +shadowsocks-service = { version = "1.21.2", path = "./crates/shadowsocks-service" } windows-service = { version = "0.7", optional = true } diff --git a/shadowsocks-rust/crates/shadowsocks-service/Cargo.toml b/shadowsocks-rust/crates/shadowsocks-service/Cargo.toml index 76f51bd383..9b1771b3c2 100644 --- a/shadowsocks-rust/crates/shadowsocks-service/Cargo.toml +++ b/shadowsocks-rust/crates/shadowsocks-service/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "shadowsocks-service" -version = "1.21.1" +version = "1.21.2" authors = ["Shadowsocks Contributors"] description = "shadowsocks is a fast tunnel proxy that helps you bypass firewalls." repository = "https://github.com/shadowsocks/shadowsocks-rust" diff --git a/shadowsocks-rust/crates/shadowsocks-service/src/local/http/http_client.rs b/shadowsocks-rust/crates/shadowsocks-service/src/local/http/http_client.rs index dd25243469..275bf02378 100644 --- a/shadowsocks-rust/crates/shadowsocks-service/src/local/http/http_client.rs +++ b/shadowsocks-rust/crates/shadowsocks-service/src/local/http/http_client.rs @@ -1,6 +1,7 @@ //! HTTP Client use std::{ + borrow::Cow, collections::VecDeque, fmt::Debug, future::Future, @@ -11,7 +12,7 @@ use std::{ time::{Duration, Instant}, }; -use http::Uri; +use http::{header::InvalidHeaderValue, HeaderValue, Method as HttpMethod, Uri, Version as HttpVersion}; use hyper::{ body::{self, Body}, client::conn::{http1, http2}, @@ -47,6 +48,9 @@ pub enum HttpClientError { /// Errors from http #[error("{0}")] Http(#[from] http::Error), + /// Errors from http header + #[error("{0}")] + InvalidHeaderValue(#[from] InvalidHeaderValue), } #[derive(Clone, Debug)] @@ -137,7 +141,7 @@ where pub async fn send_request( &self, context: Arc, - req: Request, + mut req: Request, balancer: Option<&PingBalancer>, ) -> Result, HttpClientError> { let host = match host_addr(req.uri()) { @@ -145,15 +149,24 @@ where None => panic!("URI missing host: {}", req.uri()), }; + // Set Host header if it was missing in the Request + { + let headers = req.headers_mut(); + if !headers.contains_key("Host") { + let host_value = match host { + Address::DomainNameAddress(ref domain, _) => HeaderValue::from_str(domain)?, + Address::SocketAddress(ref saddr) => HeaderValue::from_str(saddr.ip().to_string().as_str())?, + }; + headers.insert("Host", host_value); + } + } + // 1. Check if there is an available client // - // FIXME: If the cached connection is closed unexpectly, this request will fail immediately. + // FIXME: If the cached connection is closed unexpectedly, this request will fail immediately. if let Some(c) = self.get_cached_connection(&host).await { trace!("HTTP client for host: {} taken from cache", host); - match self.send_request_conn(host, c, req).await { - Ok(o) => return Ok(o), - Err(err) => return Err(err.into()), - } + return self.send_request_conn(host, c, req).await; } // 2. If no. Make a new connection @@ -162,13 +175,12 @@ where None => &Scheme::HTTP, }; - let domain = req - .uri() - .host() - .unwrap() - .trim_start_matches('[') - .trim_start_matches(']'); - let c = match HttpConnection::connect(context.clone(), scheme, host.clone(), domain, balancer).await { + let domain = match host { + Address::DomainNameAddress(ref domain, _) => Cow::Borrowed(domain.as_str()), + Address::SocketAddress(ref saddr) => Cow::Owned(saddr.ip().to_string()), + }; + + let c = match HttpConnection::connect(context.clone(), scheme, host.clone(), &domain, balancer).await { Ok(c) => c, Err(err) => { error!("failed to connect to host: {}, error: {}", host, err); @@ -176,7 +188,7 @@ where } }; - self.send_request_conn(host, c, req).await.map_err(Into::into) + self.send_request_conn(host, c, req).await } async fn get_cached_connection(&self, host: &Address) -> Option> { @@ -199,19 +211,8 @@ where &self, host: Address, mut c: HttpConnection, - mut req: Request, + req: Request, ) -> Result, HttpClientError> { - // Remove Scheme, Host part from URI - if req.uri().scheme().is_some() || req.uri().authority().is_some() { - let mut builder = Uri::builder(); - if let Some(path_and_query) = req.uri().path_and_query() { - builder = builder.path_and_query(path_and_query.as_str()); - } else { - builder = builder.path_and_query("/"); - } - *(req.uri_mut()) = builder.build()?; - } - trace!("HTTP making request to host: {}, request: {:?}", host, req); let response = c.send_request(req).await?; trace!("HTTP received response from host: {}, response: {:?}", host, response); @@ -313,7 +314,7 @@ where let stream = ProxyHttpStream::connect_https(stream, domain).await?; if stream.negotiated_http2() { - // H2 connnection + // H2 connection let (send_request, connection) = match http2::Builder::new(TokioExecutor) .timer(TokioTimer) .keep_alive_interval(Duration::from_secs(15)) @@ -354,10 +355,45 @@ where } #[inline] - pub async fn send_request(&mut self, req: Request) -> hyper::Result> { + pub async fn send_request(&mut self, mut req: Request) -> Result, HttpClientError> { match self { - HttpConnection::Http1(r) => r.send_request(req).await, - HttpConnection::Http2(r) => r.send_request(req).await, + HttpConnection::Http1(r) => { + if !matches!( + req.version(), + HttpVersion::HTTP_09 | HttpVersion::HTTP_10 | HttpVersion::HTTP_11 + ) { + trace!( + "HTTP client changed Request.version to HTTP/1.1 from {:?}", + req.version() + ); + + *req.version_mut() = HttpVersion::HTTP_11; + } + + // Remove Scheme, Host part from URI + if req.method() != HttpMethod::CONNECT + && (req.uri().scheme().is_some() || req.uri().authority().is_some()) + { + let mut builder = Uri::builder(); + if let Some(path_and_query) = req.uri().path_and_query() { + builder = builder.path_and_query(path_and_query.as_str()); + } else { + builder = builder.path_and_query("/"); + } + *(req.uri_mut()) = builder.build()?; + } + + r.send_request(req).await.map_err(Into::into) + } + HttpConnection::Http2(r) => { + if !matches!(req.version(), HttpVersion::HTTP_2) { + trace!("HTTP client changed Request.version to HTTP/2 from {:?}", req.version()); + + *req.version_mut() = HttpVersion::HTTP_2; + } + + r.send_request(req).await.map_err(Into::into) + } } } diff --git a/shadowsocks-rust/crates/shadowsocks-service/src/local/http/http_service.rs b/shadowsocks-rust/crates/shadowsocks-service/src/local/http/http_service.rs index 8d4ab98246..cba174fd97 100644 --- a/shadowsocks-rust/crates/shadowsocks-service/src/local/http/http_service.rs +++ b/shadowsocks-rust/crates/shadowsocks-service/src/local/http/http_service.rs @@ -162,6 +162,10 @@ impl HttpService { error!("failed to make request to host: {}, error: {}", host, err); return make_bad_request(); } + Err(HttpClientError::InvalidHeaderValue(err)) => { + error!("failed to make request to host: {}, error: {}", host, err); + return make_bad_request(); + } }; trace!("received {} <- {} {:?}", self.peer_addr, host, res); diff --git a/shadowsocks-rust/crates/shadowsocks-service/src/local/redir/sys/mod.rs b/shadowsocks-rust/crates/shadowsocks-service/src/local/redir/sys/mod.rs index 5438fd2b33..64a290d1b8 100644 --- a/shadowsocks-rust/crates/shadowsocks-service/src/local/redir/sys/mod.rs +++ b/shadowsocks-rust/crates/shadowsocks-service/src/local/redir/sys/mod.rs @@ -36,6 +36,6 @@ where let handle = socket.as_raw_socket(); let sock = unsafe { Socket::from_raw_socket(handle) }; let result = sock.set_only_v6(ipv6_only); - sock.into_raw_socket(); + let _ = sock.into_raw_socket(); result } diff --git a/shadowsocks-rust/crates/shadowsocks-service/src/server/udprelay.rs b/shadowsocks-rust/crates/shadowsocks-service/src/server/udprelay.rs index 5d64343b3f..e6835454bd 100644 --- a/shadowsocks-rust/crates/shadowsocks-service/src/server/udprelay.rs +++ b/shadowsocks-rust/crates/shadowsocks-service/src/server/udprelay.rs @@ -28,8 +28,6 @@ use shadowsocks::{ ServerConfig, }; use tokio::{runtime::Handle, sync::mpsc, task::JoinHandle, time}; -#[cfg(windows)] -use windows_sys::Win32::Networking::WinSock::WSAEAFNOSUPPORT; use crate::net::{ packet_window::PacketWindowFilter, utils::to_ipv4_mapped, MonProxySocket, UDP_ASSOCIATION_KEEP_ALIVE_CHANNEL_SIZE, diff --git a/shadowsocks-rust/crates/shadowsocks/src/net/sys/mod.rs b/shadowsocks-rust/crates/shadowsocks/src/net/sys/mod.rs index b36033a797..6540508e95 100644 --- a/shadowsocks-rust/crates/shadowsocks/src/net/sys/mod.rs +++ b/shadowsocks-rust/crates/shadowsocks/src/net/sys/mod.rs @@ -87,7 +87,7 @@ where let sock = unsafe { Socket::from_raw_socket(handle) }; let result = socket_bind_dual_stack_inner(&sock, addr, ipv6_only); - sock.into_raw_socket(); + let _ = sock.into_raw_socket(); result } diff --git a/shadowsocks-rust/debian/changelog b/shadowsocks-rust/debian/changelog index 7856e1d17c..554518f09e 100644 --- a/shadowsocks-rust/debian/changelog +++ b/shadowsocks-rust/debian/changelog @@ -1,3 +1,19 @@ +shadowsocks-rust (1.21.2) unstable; urgency=medium + + ## Bug Fixes + + - #1730 `local-http`: HTTP Client removes Authority from Request URI only for HTTP/1.x + +shadowsocks-rust (1.21.1) unstable; urgency=medium + + ## Bug Fixes + + - #1730 `local-http`: The URI field in HTTP Request sent from `sslocal` should only contain path and query. + + ## Miscellaneous + + - #1702 Debian package build removes dependency of `pwgen` + shadowsocks-rust (1.21.0) unstable; urgency=medium ## Features diff --git a/shadowsocks-rust/src/service/local.rs b/shadowsocks-rust/src/service/local.rs index 50e977d51f..8e108e70ea 100644 --- a/shadowsocks-rust/src/service/local.rs +++ b/shadowsocks-rust/src/service/local.rs @@ -1,11 +1,12 @@ //! Local server launchers +#[cfg(unix)] +use std::sync::Arc; use std::{ future::Future, net::IpAddr, path::PathBuf, process::ExitCode, - sync::Arc, time::{Duration, Instant}, }; @@ -1065,7 +1066,7 @@ struct ServerReloader { } impl ServerReloader { - #[cfg_attr(not(any(unix, feature = "local-online-config")), allow(dead_code))] + #[cfg_attr(not(unix), allow(dead_code))] async fn run_once(&self) -> Result<(), Box> { let start_time = Instant::now(); diff --git a/small/docker/Makefile b/small/docker/Makefile new file mode 100644 index 0000000000..58b43334a0 --- /dev/null +++ b/small/docker/Makefile @@ -0,0 +1,75 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=docker +PKG_VERSION:=27.3.1 +PKG_RELEASE:=1 +PKG_LICENSE:=Apache-2.0 +PKG_LICENSE_FILES:=LICENSE + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_GIT_URL:=github.com/docker/cli +PKG_GIT_REF:=v$(PKG_VERSION) +PKG_SOURCE_URL:=https://codeload.$(PKG_GIT_URL)/tar.gz/$(PKG_GIT_REF)? +PKG_HASH:=df7d44387166d90954e290dfbe0a278649bf71d0e89933615bdc0757580b68e4 +PKG_GIT_SHORT_COMMIT:=ce12230 # SHA1 used within the docker executables + +PKG_MAINTAINER:=Gerard Ryan + +PKG_BUILD_DEPENDS:=golang/host +PKG_BUILD_PARALLEL:=1 +PKG_BUILD_FLAGS:=no-mips16 + +GO_PKG:=$(PKG_GIT_URL) + +include $(INCLUDE_DIR)/package.mk +include $(TOPDIR)/feeds/packages/lang/golang/golang-package.mk + +define Package/docker + SECTION:=utils + CATEGORY:=Utilities + TITLE:=Docker Community Edition CLI + URL:=https://www.docker.com/ + DEPENDS:=$(GO_ARCH_DEPENDS) +endef + +define Package/docker/description +The CLI used in the Docker CE and Docker EE products. +endef + +GO_PKG_INSTALL_EXTRA:=\ + cli/compose/schema/data \ + vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb + +TAR_OPTIONS:=--strip-components 1 $(TAR_OPTIONS) +TAR_CMD=$(HOST_TAR) -C $(1) $(TAR_OPTIONS) +TARGET_LDFLAGS += $(if $(CONFIG_USE_GLIBC),-lc -lgcc_eh) + +define Build/Prepare + $(Build/Prepare/Default) + + # Verify PKG_GIT_SHORT_COMMIT + ( \ + EXPECTED_PKG_GIT_SHORT_COMMIT=$$$$( $(CURDIR)/../dockerd/git-short-commit.sh '$(PKG_GIT_URL)' '$(PKG_GIT_REF)' '$(TMP_DIR)/git-short-commit/$(PKG_NAME)-$(PKG_VERSION)' ); \ + if [ "$$$${EXPECTED_PKG_GIT_SHORT_COMMIT}" != "$(strip $(PKG_GIT_SHORT_COMMIT))" ]; then \ + echo "ERROR: Expected 'PKG_GIT_SHORT_COMMIT:=$$$${EXPECTED_PKG_GIT_SHORT_COMMIT}', found 'PKG_GIT_SHORT_COMMIT:=$(strip $(PKG_GIT_SHORT_COMMIT))'"; \ + exit 1; \ + fi \ + ) +endef + +define Build/Compile + ( \ + cd $(PKG_BUILD_DIR); \ + $(GO_PKG_VARS) \ + GITCOMMIT=$(PKG_GIT_SHORT_COMMIT) \ + VERSION=$(PKG_VERSION) \ + ./scripts/build/binary; \ + ) +endef + +define Package/docker/install + $(INSTALL_DIR) $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_BUILD_DIR)/build/docker $(1)/usr/bin/ +endef + +$(eval $(call BuildPackage,docker)) diff --git a/small/mihomo/Makefile b/small/mihomo/Makefile index 9113cf8e43..5373f1f9fb 100644 --- a/small/mihomo/Makefile +++ b/small/mihomo/Makefile @@ -54,7 +54,6 @@ define Package/mihomo/install $(INSTALL_DIR) $(1)/etc/mihomo/nftables $(INSTALL_DIR) $(1)/etc/mihomo/profiles $(INSTALL_DIR) $(1)/etc/mihomo/run - $(INSTALL_DIR) $(1)/etc/mihomo/run/rules $(INSTALL_DIR) $(1)/etc/mihomo/run/ui $(INSTALL_DATA) $(CURDIR)/files/mixin.yaml $(1)/etc/mihomo/mixin.yaml diff --git a/small/mihomo/files/mihomo.upgrade b/small/mihomo/files/mihomo.upgrade index 73ecd6f529..11002e1cf9 100644 --- a/small/mihomo/files/mihomo.upgrade +++ b/small/mihomo/files/mihomo.upgrade @@ -1 +1,4 @@ -/etc/mihomo +/etc/mihomo/profiles/ +/etc/mihomo/mixin.yaml +/etc/mihomo/nftables/reserved_ip.nft +/etc/mihomo/nftables/reserved_ip6.nft diff --git a/small/v2ray-geodata/Makefile b/small/v2ray-geodata/Makefile index 62cd19e0c1..0306e92af3 100644 --- a/small/v2ray-geodata/Makefile +++ b/small/v2ray-geodata/Makefile @@ -12,13 +12,13 @@ PKG_MAINTAINER:=Tianling Shen include $(INCLUDE_DIR)/package.mk -GEOIP_VER:=202410170052 +GEOIP_VER:=202410240052 GEOIP_FILE:=geoip.dat.$(GEOIP_VER) define Download/geoip URL:=https://github.com/v2fly/geoip/releases/download/$(GEOIP_VER)/ URL_FILE:=geoip.dat FILE:=$(GEOIP_FILE) - HASH:=6f5b65aee82da0415bfbe87903673cd006183f8833659646fca6b531e8c155ea + HASH:=6f51317d8aba4efed9a9b253de04a8d12b46c730c6ce14d046d6e57fc06ea795 endef GEOSITE_VER:=20241013063848 diff --git a/v2rayn/v2rayN/AmazTool/AmazTool.csproj b/v2rayn/v2rayN/AmazTool/AmazTool.csproj index 50bb820ba0..37193d628b 100644 --- a/v2rayn/v2rayN/AmazTool/AmazTool.csproj +++ b/v2rayn/v2rayN/AmazTool/AmazTool.csproj @@ -5,8 +5,8 @@ net8.0 enable enable - Copyright © 2019-2024 (GPLv3) - 1.2.0.0 + Copyright © 2017-2024 (GPLv3) + 1.3.0 \ No newline at end of file diff --git a/v2rayn/v2rayN/PacLib/PacHandler.cs b/v2rayn/v2rayN/PacLib/PacHandler.cs index c8c326d74b..1481b94d39 100644 --- a/v2rayn/v2rayN/PacLib/PacHandler.cs +++ b/v2rayn/v2rayN/PacLib/PacHandler.cs @@ -1,5 +1,4 @@ -using System; -using System.IO; +using System.IO; using System.Net.Sockets; using System.Text; using System.Threading.Tasks; diff --git a/v2rayn/v2rayN/ProtosLib/ProtosLib.csproj b/v2rayn/v2rayN/ProtosLib/ProtosLib.csproj index 4418da520a..0b22dfb863 100644 --- a/v2rayn/v2rayN/ProtosLib/ProtosLib.csproj +++ b/v2rayn/v2rayN/ProtosLib/ProtosLib.csproj @@ -9,7 +9,7 @@ - + all diff --git a/v2rayn/v2rayN/ServiceLib/Common/Utils.cs b/v2rayn/v2rayN/ServiceLib/Common/Utils.cs index e78ca965f0..cf24296346 100644 --- a/v2rayn/v2rayN/ServiceLib/Common/Utils.cs +++ b/v2rayn/v2rayN/ServiceLib/Common/Utils.cs @@ -228,12 +228,6 @@ namespace ServiceLib.Common } } - /// - /// byte 转成 有两位小数点的 方便阅读的数据 比如 2.50 MB - /// - /// bytes - /// 转换之后的数据 - /// 单位 private static void ToHumanReadable(long amount, out double result, out string unit) { var factor = 1024u; @@ -411,7 +405,6 @@ namespace ServiceLib.Common /// public static bool IsDomain(string? domain) { - //如果为空 if (IsNullOrEmpty(domain)) { return false; @@ -434,6 +427,30 @@ namespace ServiceLib.Common return false; } + public static Uri? TryUri(string url) + { + try + { + return new Uri(url); + } + catch (UriFormatException) + { + return null; + } + } + + public static bool IsPrivateNetwork(string ip) + { + if (IPAddress.TryParse(ip, out var address)) + { + var ipBytes = address.GetAddressBytes(); + if (ipBytes[0] == 10) return true; + if (ipBytes[0] == 172 && ipBytes[1] >= 16 && ipBytes[1] <= 31) return true; + if (ipBytes[0] == 192 && ipBytes[1] == 168) return true; + } + return false; + } + #endregion 数据检查 #region 测速 @@ -495,7 +512,7 @@ namespace ServiceLib.Common { if (blFull) { - return $"{Global.AppName} - V{GetVersionInfo()} - {File.GetLastWriteTime(GetExePath()):yyyy/MM/dd}"; + return $"{Global.AppName} - V{GetVersionInfo()} - {RuntimeInformation.ProcessArchitecture} - {File.GetLastWriteTime(GetExePath()):yyyy/MM/dd}"; } else { @@ -564,10 +581,6 @@ namespace ServiceLib.Common } } - /// - /// 获取系统hosts - /// - /// public static Dictionary GetSystemHosts() { var systemHosts = new Dictionary(); @@ -634,10 +647,6 @@ namespace ServiceLib.Common #region TempPath - /// - /// 获取启动了应用程序的可执行文件的路径 - /// - /// public static string GetPath(string fileName) { var startupPath = StartupPath(); @@ -648,10 +657,6 @@ namespace ServiceLib.Common return Path.Combine(startupPath, fileName); } - /// - /// 获取启动了应用程序的可执行文件的路径及文件名 - /// - /// public static string GetExePath() { return Environment.ProcessPath ?? Process.GetCurrentProcess().MainModule?.FileName ?? string.Empty; diff --git a/v2rayn/v2rayN/ServiceLib/Handler/AppHandler.cs b/v2rayn/v2rayN/ServiceLib/Handler/AppHandler.cs index e0eae64a35..c5b438506c 100644 --- a/v2rayn/v2rayN/ServiceLib/Handler/AppHandler.cs +++ b/v2rayn/v2rayN/ServiceLib/Handler/AppHandler.cs @@ -102,17 +102,17 @@ #region SqliteHelper - public async Task> SubItems() + public async Task?> SubItems() { return await SQLiteHelper.Instance.TableAsync().OrderBy(t => t.Sort).ToListAsync(); } - public async Task GetSubItem(string subid) + public async Task GetSubItem(string subid) { return await SQLiteHelper.Instance.TableAsync().FirstOrDefaultAsync(t => t.Id == subid); } - public async Task> ProfileItems(string subid) + public async Task?> ProfileItems(string subid) { if (Utils.IsNullOrEmpty(subid)) { @@ -124,23 +124,12 @@ } } - public async Task> ProfileItemIndexes(string subid) + public async Task?> ProfileItemIndexes(string subid) { - if (Utils.IsNullOrEmpty(subid)) - { - return (await SQLiteHelper.Instance.TableAsync().ToListAsync()) - .Select(t => t.IndexId) - .ToList(); - } - else - { - return (await SQLiteHelper.Instance.TableAsync().Where(t => t.Subid == subid).ToListAsync()) - .Select(t => t.IndexId) - .ToList(); - } + return (await ProfileItems(subid))?.Select(t => t.IndexId)?.ToList(); } - public async Task> ProfileItems(string subid, string filter) + public async Task?> ProfileItems(string subid, string filter) { var sql = @$"select a.* ,b.remarks subRemarks @@ -163,7 +152,7 @@ return await SQLiteHelper.Instance.QueryAsync(sql); } - public async Task> ProfileItemsEx(string subid, string filter) + public async Task?> ProfileItemsEx(string subid, string filter) { var lstModel = await ProfileItems(_config.SubIndexId, filter); @@ -220,22 +209,22 @@ return await SQLiteHelper.Instance.TableAsync().FirstOrDefaultAsync(it => it.Remarks == remarks); } - public async Task> RoutingItems() + public async Task?> RoutingItems() { return await SQLiteHelper.Instance.TableAsync().Where(it => it.Locked == false).OrderBy(t => t.Sort).ToListAsync(); } - public async Task GetRoutingItem(string id) + public async Task GetRoutingItem(string id) { return await SQLiteHelper.Instance.TableAsync().FirstOrDefaultAsync(it => it.Locked == false && it.Id == id); } - public async Task> DNSItems() + public async Task?> DNSItems() { return await SQLiteHelper.Instance.TableAsync().ToListAsync(); } - public async Task GetDNSItem(ECoreType eCoreType) + public async Task GetDNSItem(ECoreType eCoreType) { return await SQLiteHelper.Instance.TableAsync().FirstOrDefaultAsync(it => it.CoreType == eCoreType); } diff --git a/v2rayn/v2rayN/ServiceLib/Handler/ClashApiHandler.cs b/v2rayn/v2rayN/ServiceLib/Handler/ClashApiHandler.cs index da0f80c4cc..dbc98b2784 100644 --- a/v2rayn/v2rayN/ServiceLib/Handler/ClashApiHandler.cs +++ b/v2rayn/v2rayN/ServiceLib/Handler/ClashApiHandler.cs @@ -7,7 +7,7 @@ namespace ServiceLib.Handler private static readonly Lazy instance = new(() => new()); public static ClashApiHandler Instance => instance.Value; - private Dictionary? _proxies; + private Dictionary? _proxies; public Dictionary ProfileContent { get; set; } public async Task?> GetClashProxiesAsync(Config config) diff --git a/v2rayn/v2rayN/ServiceLib/Handler/ConfigHandler.cs b/v2rayn/v2rayN/ServiceLib/Handler/ConfigHandler.cs index d17b7a7de5..62c51ceb21 100644 --- a/v2rayn/v2rayN/ServiceLib/Handler/ConfigHandler.cs +++ b/v2rayn/v2rayN/ServiceLib/Handler/ConfigHandler.cs @@ -108,7 +108,7 @@ namespace ServiceLib.Handler EnableAutoAdjustMainLvColWidth = true }; config.UiItem.MainColumnItem ??= new(); - + if (Utils.IsNullOrEmpty(config.UiItem.CurrentLanguage)) { if (Thread.CurrentThread.CurrentCulture.Name.Equals("zh-cn", StringComparison.CurrentCultureIgnoreCase)) @@ -171,18 +171,7 @@ namespace ServiceLib.Handler /// /// /// - public static async Task SaveConfig(Config config, bool reload = true) - { - await ToJsonFile(config); - - return 0; - } - - /// - /// 存储文件 - /// - /// - private static async Task ToJsonFile(Config config) + public static async Task SaveConfig(Config config) { lock (_objLock) { @@ -193,7 +182,7 @@ namespace ServiceLib.Handler var tempPath = $"{resPath}_temp"; if (JsonUtils.ToFile(config, tempPath) != 0) { - return; + return -1; } if (File.Exists(resPath)) @@ -206,8 +195,11 @@ namespace ServiceLib.Handler catch (Exception ex) { Logging.SaveLog("ToJsonFile", ex); + return -1; } } + + return 0; } #endregion ConfigHandler @@ -369,7 +361,7 @@ namespace ServiceLib.Handler config.IndexId = indexId; - await ToJsonFile(config); + await SaveConfig(config); return 0; } @@ -380,8 +372,8 @@ namespace ServiceLib.Handler { return 0; } - var count = await SQLiteHelper.Instance.TableAsync().CountAsync(t => t.IndexId == config.IndexId); - if (count > 0) + + if (await SQLiteHelper.Instance.TableAsync().FirstOrDefaultAsync(t => t.IndexId == config.IndexId) != null) { return 0; } @@ -390,7 +382,7 @@ namespace ServiceLib.Handler return await SetDefaultServerIndex(config, lstProfile.FirstOrDefault(t => t.Port > 0)?.IndexId); } - var item = await SQLiteHelper.Instance.TableAsync().Where(t => t.Port > 0).FirstOrDefaultAsync(); + var item = await SQLiteHelper.Instance.TableAsync().FirstOrDefaultAsync(t => t.Port > 0); return await SetDefaultServerIndex(config, item.IndexId); } @@ -1142,7 +1134,7 @@ namespace ServiceLib.Handler await SQLiteHelper.Instance.InsertAllAsync(lstAdd); } - await ToJsonFile(config); + await SaveConfig(config); return countServers; } @@ -1272,7 +1264,7 @@ namespace ServiceLib.Handler counter++; } } - await ToJsonFile(config); + await SaveConfig(config); return counter; } @@ -1343,17 +1335,17 @@ namespace ServiceLib.Handler Url = url }; - try + var uri = Utils.TryUri(url); + if (uri == null) return -1; + //Do not allow http protocol + if (url.StartsWith(Global.HttpProtocol) && !Utils.IsPrivateNetwork(uri.IdnHost)) { - var uri = new Uri(url); - var queryVars = Utils.ParseQueryString(uri.Query); - subItem.Remarks = queryVars["remarks"] ?? "import_sub"; - } - catch (UriFormatException) - { - return 0; + return -1; } + var queryVars = Utils.ParseQueryString(uri.Query); + subItem.Remarks = queryVars["remarks"] ?? "import_sub"; + return await AddSubItem(config, subItem); } @@ -1605,7 +1597,7 @@ namespace ServiceLib.Handler config.RoutingBasicItem.RoutingIndexId = routingItem.Id; } - await ToJsonFile(config); + await SaveConfig(config); return 0; } diff --git a/v2rayn/v2rayN/ServiceLib/Handler/CoreHandler.cs b/v2rayn/v2rayN/ServiceLib/Handler/CoreHandler.cs index a260db01ae..e39b111b7f 100644 --- a/v2rayn/v2rayN/ServiceLib/Handler/CoreHandler.cs +++ b/v2rayn/v2rayN/ServiceLib/Handler/CoreHandler.cs @@ -42,7 +42,7 @@ namespace ServiceLib.Handler else { ShowMsg(true, $"{node.GetSummary()}"); - CoreStop(); + await CoreStop(); await CoreStart(node); //In tun mode, do a delay check and restart the core @@ -74,19 +74,19 @@ namespace ServiceLib.Handler ShowMsg(false, result.Msg); if (result.Success) { - pid = CoreStartSpeedtest(configPath, coreType); + pid = await CoreStartSpeedtest(configPath, coreType); } return pid; } - public void CoreStop() + public async Task CoreStop() { try { bool hasProc = false; if (_process != null) { - KillProcess(_process); + await KillProcess(_process); _process.Dispose(); _process = null; hasProc = true; @@ -94,7 +94,7 @@ namespace ServiceLib.Handler if (_processPre != null) { - KillProcess(_processPre); + await KillProcess(_processPre); _processPre.Dispose(); _processPre = null; hasProc = true; @@ -117,7 +117,7 @@ namespace ServiceLib.Handler string? path = p.MainModule?.FileName; if (path == Utils.GetExeName(Utils.GetBinPath(vName, it.CoreType.ToString()))) { - KillProcess(p); + await KillProcess(p); } } } @@ -130,12 +130,12 @@ namespace ServiceLib.Handler } } - public void CoreStopPid(int pid) + public async Task CoreStopPid(int pid) { try { var _p = Process.GetProcessById(pid); - KillProcess(_p); + await KillProcess(_p); } catch (Exception ex) { @@ -186,7 +186,7 @@ namespace ServiceLib.Handler var coreInfo = CoreInfoHandler.Instance.GetCoreInfo(coreType); var displayLog = node.ConfigType != EConfigType.Custom || node.DisplayLog; - var proc = RunProcess(node, coreInfo, "", displayLog); + var proc = await RunProcess(node, coreInfo, "", displayLog); if (proc is null) { return; @@ -228,7 +228,7 @@ namespace ServiceLib.Handler if (result.Success) { var coreInfo2 = CoreInfoHandler.Instance.GetCoreInfo(preCoreType); - var proc2 = RunProcess(node, coreInfo2, $" -c {Global.CorePreConfigFileName}", true); + var proc2 = await RunProcess(node, coreInfo2, $" -c {Global.CorePreConfigFileName}", true); if (proc2 is not null) { _processPre = proc2; @@ -238,7 +238,7 @@ namespace ServiceLib.Handler } } - private int CoreStartSpeedtest(string configPath, ECoreType coreType) + private async Task CoreStartSpeedtest(string configPath, ECoreType coreType) { ShowMsg(false, string.Format(ResUI.StartService, DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"))); @@ -246,7 +246,7 @@ namespace ServiceLib.Handler try { var coreInfo = CoreInfoHandler.Instance.GetCoreInfo(coreType); - var proc = RunProcess(new(), coreInfo, $" -c {Global.CoreSpeedtestConfigFileName}", true); + var proc = await RunProcess(new(), coreInfo, $" -c {Global.CoreSpeedtestConfigFileName}", true); if (proc is null) { return -1; @@ -272,7 +272,7 @@ namespace ServiceLib.Handler #region Process - private Process? RunProcess(ProfileItem node, CoreInfo coreInfo, string configPath, bool displayLog) + private async Task RunProcess(ProfileItem node, CoreInfo coreInfo, string configPath, bool displayLog) { try { @@ -351,7 +351,7 @@ namespace ServiceLib.Handler } } - private void KillProcess(Process? proc) + private async Task KillProcess(Process? proc) { if (proc is null) { diff --git a/v2rayn/v2rayN/ServiceLib/Handler/CoreInfoHandler.cs b/v2rayn/v2rayN/ServiceLib/Handler/CoreInfoHandler.cs index 3d9e1ba852..5f5656ee24 100644 --- a/v2rayn/v2rayN/ServiceLib/Handler/CoreInfoHandler.cs +++ b/v2rayn/v2rayN/ServiceLib/Handler/CoreInfoHandler.cs @@ -40,7 +40,6 @@ namespace ServiceLib.Handler CoreType = ECoreType.v2rayN, Url = Global.NUrl, ReleaseApiUrl = Global.NUrl.Replace(Global.GithubUrl, Global.GithubApiUrl), - DownloadUrlWin32 = Global.NUrl + "/download/{0}/v2rayN-windows-32.zip", DownloadUrlWin64 = Global.NUrl + "/download/{0}/v2rayN-windows-64.zip", DownloadUrlWinArm64 = Global.NUrl + "/download/{0}/v2rayN-windows-arm64.zip", DownloadUrlLinux64 = Global.NUrl + "/download/{0}/v2rayN-linux-64.zip", @@ -78,7 +77,6 @@ namespace ServiceLib.Handler Arguments = "run {0}", Url = Global.XrayCoreUrl, ReleaseApiUrl = Global.XrayCoreUrl.Replace(Global.GithubUrl, Global.GithubApiUrl), - DownloadUrlWin32 = Global.XrayCoreUrl + "/download/{0}/Xray-windows-32.zip", DownloadUrlWin64 = Global.XrayCoreUrl + "/download/{0}/Xray-windows-64.zip", DownloadUrlWinArm64 = Global.XrayCoreUrl + "/download/{0}/Xray-windows-arm64-v8a.zip", DownloadUrlLinux64 = Global.XrayCoreUrl + "/download/{0}/Xray-linux-64.zip", @@ -95,7 +93,6 @@ namespace ServiceLib.Handler Arguments = "-f config.json" + PortableMode(), Url = Global.MihomoCoreUrl, ReleaseApiUrl = Global.MihomoCoreUrl.Replace(Global.GithubUrl, Global.GithubApiUrl), - DownloadUrlWin32 = Global.MihomoCoreUrl + "/download/{0}/mihomo-windows-386-{0}.zip", DownloadUrlWin64 = Global.MihomoCoreUrl + "/download/{0}/mihomo-windows-amd64-compatible-{0}.zip", DownloadUrlWinArm64 = Global.MihomoCoreUrl + "/download/{0}/mihomo-windows-arm64-{0}.zip", DownloadUrlLinux64 = Global.MihomoCoreUrl + "/download/{0}/mihomo-linux-amd64-compatible-{0}.gz", @@ -141,7 +138,6 @@ namespace ServiceLib.Handler Url = Global.SingboxCoreUrl, RedirectInfo = true, ReleaseApiUrl = Global.SingboxCoreUrl.Replace(Global.GithubUrl, Global.GithubApiUrl), - DownloadUrlWin32 = Global.SingboxCoreUrl + "/download/{0}/sing-box-{1}-windows-386.zip", DownloadUrlWin64 = Global.SingboxCoreUrl + "/download/{0}/sing-box-{1}-windows-amd64.zip", DownloadUrlWinArm64 = Global.SingboxCoreUrl + "/download/{0}/sing-box-{1}-windows-arm64.zip", DownloadUrlLinux64 = Global.SingboxCoreUrl + "/download/{0}/sing-box-{1}-linux-amd64.tar.gz", diff --git a/v2rayn/v2rayN/ServiceLib/Handler/Fmt/Hysteria2Fmt.cs b/v2rayn/v2rayN/ServiceLib/Handler/Fmt/Hysteria2Fmt.cs index e6b155cb16..7f51120c64 100644 --- a/v2rayn/v2rayN/ServiceLib/Handler/Fmt/Hysteria2Fmt.cs +++ b/v2rayn/v2rayN/ServiceLib/Handler/Fmt/Hysteria2Fmt.cs @@ -10,7 +10,8 @@ ConfigType = EConfigType.Hysteria2 }; - Uri url = new(str); + var url = Utils.TryUri(str); + if (url == null) return null; item.Address = url.IdnHost; item.Port = url.Port; diff --git a/v2rayn/v2rayN/ServiceLib/Handler/Fmt/ShadowsocksFmt.cs b/v2rayn/v2rayN/ServiceLib/Handler/Fmt/ShadowsocksFmt.cs index 39d4fd6790..1a697eb9f4 100644 --- a/v2rayn/v2rayN/ServiceLib/Handler/Fmt/ShadowsocksFmt.cs +++ b/v2rayn/v2rayN/ServiceLib/Handler/Fmt/ShadowsocksFmt.cs @@ -81,15 +81,9 @@ namespace ServiceLib.Handler.Fmt private static ProfileItem? ResolveSip002(string result) { - Uri parsedUrl; - try - { - parsedUrl = new Uri(result); - } - catch (UriFormatException) - { - return null; - } + var parsedUrl = Utils.TryUri(result); + if (parsedUrl == null) return null; + ProfileItem item = new() { Remarks = parsedUrl.GetComponents(UriComponents.Fragment, UriFormat.Unescaped), diff --git a/v2rayn/v2rayN/ServiceLib/Handler/Fmt/SocksFmt.cs b/v2rayn/v2rayN/ServiceLib/Handler/Fmt/SocksFmt.cs index 1159dfe4ee..1478d1709c 100644 --- a/v2rayn/v2rayN/ServiceLib/Handler/Fmt/SocksFmt.cs +++ b/v2rayn/v2rayN/ServiceLib/Handler/Fmt/SocksFmt.cs @@ -93,15 +93,9 @@ private static ProfileItem? ResolveSocksNew(string result) { - Uri parsedUrl; - try - { - parsedUrl = new Uri(result); - } - catch (UriFormatException) - { - return null; - } + var parsedUrl = Utils.TryUri(result); + if (parsedUrl == null) return null; + ProfileItem item = new() { Remarks = parsedUrl.GetComponents(UriComponents.Fragment, UriFormat.Unescaped), diff --git a/v2rayn/v2rayN/ServiceLib/Handler/Fmt/TrojanFmt.cs b/v2rayn/v2rayN/ServiceLib/Handler/Fmt/TrojanFmt.cs index e098a4f6ac..5a6a208174 100644 --- a/v2rayn/v2rayN/ServiceLib/Handler/Fmt/TrojanFmt.cs +++ b/v2rayn/v2rayN/ServiceLib/Handler/Fmt/TrojanFmt.cs @@ -11,7 +11,8 @@ ConfigType = EConfigType.Trojan }; - Uri url = new(str); + var url = Utils.TryUri(str); + if (url == null) return null; item.Address = url.IdnHost; item.Port = url.Port; diff --git a/v2rayn/v2rayN/ServiceLib/Handler/Fmt/TuicFmt.cs b/v2rayn/v2rayN/ServiceLib/Handler/Fmt/TuicFmt.cs index 6e357e4001..e5ed457753 100644 --- a/v2rayn/v2rayN/ServiceLib/Handler/Fmt/TuicFmt.cs +++ b/v2rayn/v2rayN/ServiceLib/Handler/Fmt/TuicFmt.cs @@ -11,7 +11,8 @@ ConfigType = EConfigType.TUIC }; - Uri url = new(str); + var url = Utils.TryUri(str); + if (url == null) return null; item.Address = url.IdnHost; item.Port = url.Port; diff --git a/v2rayn/v2rayN/ServiceLib/Handler/Fmt/VLESSFmt.cs b/v2rayn/v2rayN/ServiceLib/Handler/Fmt/VLESSFmt.cs index f699d320d7..a84145c3fc 100644 --- a/v2rayn/v2rayN/ServiceLib/Handler/Fmt/VLESSFmt.cs +++ b/v2rayn/v2rayN/ServiceLib/Handler/Fmt/VLESSFmt.cs @@ -12,7 +12,8 @@ Security = Global.None }; - Uri url = new(str); + var url = Utils.TryUri(str); + if (url == null) return null; item.Address = url.IdnHost; item.Port = url.Port; diff --git a/v2rayn/v2rayN/ServiceLib/Handler/Fmt/VmessFmt.cs b/v2rayn/v2rayN/ServiceLib/Handler/Fmt/VmessFmt.cs index fe3e9fa4b7..a9913a3aa1 100644 --- a/v2rayn/v2rayN/ServiceLib/Handler/Fmt/VmessFmt.cs +++ b/v2rayn/v2rayN/ServiceLib/Handler/Fmt/VmessFmt.cs @@ -105,7 +105,8 @@ Security = "auto" }; - Uri url = new(str); + var url = Utils.TryUri(str); + if (url == null) return null; item.Address = url.IdnHost; item.Port = url.Port; diff --git a/v2rayn/v2rayN/ServiceLib/Handler/Fmt/WireguardFmt.cs b/v2rayn/v2rayN/ServiceLib/Handler/Fmt/WireguardFmt.cs index 285ddb325e..e3d88e8cc4 100644 --- a/v2rayn/v2rayN/ServiceLib/Handler/Fmt/WireguardFmt.cs +++ b/v2rayn/v2rayN/ServiceLib/Handler/Fmt/WireguardFmt.cs @@ -11,7 +11,8 @@ ConfigType = EConfigType.WireGuard }; - Uri url = new(str); + var url = Utils.TryUri(str); + if (url == null) return null; item.Address = url.IdnHost; item.Port = url.Port; diff --git a/v2rayn/v2rayN/ServiceLib/Models/CoreInfo.cs b/v2rayn/v2rayN/ServiceLib/Models/CoreInfo.cs index 4a8ea8e404..f7e673d62a 100644 --- a/v2rayn/v2rayN/ServiceLib/Models/CoreInfo.cs +++ b/v2rayn/v2rayN/ServiceLib/Models/CoreInfo.cs @@ -8,7 +8,6 @@ public string? Arguments { get; set; } public string? Url { get; set; } public string? ReleaseApiUrl { get; set; } - public string? DownloadUrlWin32 { get; set; } public string? DownloadUrlWin64 { get; set; } public string? DownloadUrlWinArm64 { get; set; } public string? DownloadUrlLinux64 { get; set; } diff --git a/v2rayn/v2rayN/ServiceLib/Models/RoutingItem.cs b/v2rayn/v2rayN/ServiceLib/Models/RoutingItem.cs index 13e560cca9..5212c35942 100644 --- a/v2rayn/v2rayN/ServiceLib/Models/RoutingItem.cs +++ b/v2rayn/v2rayN/ServiceLib/Models/RoutingItem.cs @@ -7,6 +7,7 @@ namespace ServiceLib.Models { [PrimaryKey] public string Id { get; set; } + public string Remarks { get; set; } public string Url { get; set; } public string RuleSet { get; set; } diff --git a/v2rayn/v2rayN/ServiceLib/ServiceLib.csproj b/v2rayn/v2rayN/ServiceLib/ServiceLib.csproj index ea0604fec1..24761d76ef 100644 --- a/v2rayn/v2rayN/ServiceLib/ServiceLib.csproj +++ b/v2rayn/v2rayN/ServiceLib/ServiceLib.csproj @@ -4,7 +4,7 @@ net8.0 enable enable - 6.10.0 + 7.0.0 diff --git a/v2rayn/v2rayN/ServiceLib/Services/UpdateService.cs b/v2rayn/v2rayN/ServiceLib/Services/UpdateService.cs index f231b228d4..fb15d03f72 100644 --- a/v2rayn/v2rayN/ServiceLib/Services/UpdateService.cs +++ b/v2rayn/v2rayN/ServiceLib/Services/UpdateService.cs @@ -431,7 +431,6 @@ namespace ServiceLib.Services return RuntimeInformation.ProcessArchitecture switch { Architecture.Arm64 => coreInfo?.DownloadUrlWinArm64, - Architecture.X86 => coreInfo?.DownloadUrlWin32, Architecture.X64 => coreInfo?.DownloadUrlWin64, _ => null, }; diff --git a/v2rayn/v2rayN/ServiceLib/ViewModels/CheckUpdateViewModel.cs b/v2rayn/v2rayN/ServiceLib/ViewModels/CheckUpdateViewModel.cs index 5ca1d2ff96..741bde64e7 100644 --- a/v2rayn/v2rayN/ServiceLib/ViewModels/CheckUpdateViewModel.cs +++ b/v2rayn/v2rayN/ServiceLib/ViewModels/CheckUpdateViewModel.cs @@ -4,6 +4,7 @@ using ReactiveUI; using ReactiveUI.Fody.Helpers; using Splat; using System.Reactive; +using System.Runtime.InteropServices; namespace ServiceLib.ViewModels { @@ -42,30 +43,34 @@ namespace ServiceLib.ViewModels { _checkUpdateItem.Clear(); - _checkUpdateItem.Add(new CheckUpdateItem() + if (RuntimeInformation.ProcessArchitecture != Architecture.X86) { - IsSelected = false, - CoreType = _v2rayN, - Remarks = ResUI.menuCheckUpdate, - }); - _checkUpdateItem.Add(new CheckUpdateItem() - { - IsSelected = true, - CoreType = ECoreType.Xray.ToString(), - Remarks = ResUI.menuCheckUpdate, - }); - _checkUpdateItem.Add(new CheckUpdateItem() - { - IsSelected = true, - CoreType = ECoreType.mihomo.ToString(), - Remarks = ResUI.menuCheckUpdate, - }); - _checkUpdateItem.Add(new CheckUpdateItem() - { - IsSelected = true, - CoreType = ECoreType.sing_box.ToString(), - Remarks = ResUI.menuCheckUpdate, - }); + _checkUpdateItem.Add(new CheckUpdateItem() + { + IsSelected = false, + CoreType = _v2rayN, + Remarks = ResUI.menuCheckUpdate, + }); + _checkUpdateItem.Add(new CheckUpdateItem() + { + IsSelected = true, + CoreType = ECoreType.Xray.ToString(), + Remarks = ResUI.menuCheckUpdate, + }); + _checkUpdateItem.Add(new CheckUpdateItem() + { + IsSelected = true, + CoreType = ECoreType.mihomo.ToString(), + Remarks = ResUI.menuCheckUpdate, + }); + _checkUpdateItem.Add(new CheckUpdateItem() + { + IsSelected = true, + CoreType = ECoreType.sing_box.ToString(), + Remarks = ResUI.menuCheckUpdate, + }); + } + _checkUpdateItem.Add(new CheckUpdateItem() { IsSelected = true, diff --git a/v2rayn/v2rayN/ServiceLib/ViewModels/ClashProxiesViewModel.cs b/v2rayn/v2rayN/ServiceLib/ViewModels/ClashProxiesViewModel.cs index 3827c38fa0..293be33511 100644 --- a/v2rayn/v2rayN/ServiceLib/ViewModels/ClashProxiesViewModel.cs +++ b/v2rayn/v2rayN/ServiceLib/ViewModels/ClashProxiesViewModel.cs @@ -11,8 +11,8 @@ namespace ServiceLib.ViewModels { public class ClashProxiesViewModel : MyReactiveObject { - private Dictionary? _proxies; - private Dictionary? _providers; + private Dictionary? _proxies; + private Dictionary? _providers; private int _delayTimeout = 99999999; private IObservableCollection _proxyGroups = new ObservableCollectionExtended(); diff --git a/v2rayn/v2rayN/ServiceLib/ViewModels/MainWindowViewModel.cs b/v2rayn/v2rayN/ServiceLib/ViewModels/MainWindowViewModel.cs index 680aa04c61..efedf556df 100644 --- a/v2rayn/v2rayN/ServiceLib/ViewModels/MainWindowViewModel.cs +++ b/v2rayn/v2rayN/ServiceLib/ViewModels/MainWindowViewModel.cs @@ -566,8 +566,8 @@ namespace ServiceLib.ViewModels public async Task CloseCore() { - await ConfigHandler.SaveConfig(_config, false); - CoreHandler.Instance.CoreStop(); + await ConfigHandler.SaveConfig(_config); + await CoreHandler.Instance.CoreStop(); } private async Task AutoHideStartup() @@ -588,7 +588,7 @@ namespace ServiceLib.ViewModels await ConfigHandler.InitRouting(_config); Locator.Current.GetService()?.RefreshRoutingsMenu(); - await ConfigHandler.SaveConfig(_config, false); + await ConfigHandler.SaveConfig(_config); await new UpdateService().UpdateGeoFileAll(_config, UpdateHandler); await Reload(); } diff --git a/v2rayn/v2rayN/ServiceLib/ViewModels/RoutingSettingViewModel.cs b/v2rayn/v2rayN/ServiceLib/ViewModels/RoutingSettingViewModel.cs index 2a4ea23e2b..d04bf34e30 100644 --- a/v2rayn/v2rayN/ServiceLib/ViewModels/RoutingSettingViewModel.cs +++ b/v2rayn/v2rayN/ServiceLib/ViewModels/RoutingSettingViewModel.cs @@ -111,7 +111,7 @@ namespace ServiceLib.ViewModels { SelectedSource = new(); - enableRoutingAdvanced = _config.RoutingBasicItem.EnableRoutingAdvanced; + enableRoutingAdvanced = true;//TODO _config.RoutingBasicItem.EnableRoutingAdvanced; domainStrategy = _config.RoutingBasicItem.DomainStrategy; domainMatcher = _config.RoutingBasicItem.DomainMatcher; domainStrategy4Singbox = _config.RoutingBasicItem.DomainStrategy4Singbox; diff --git a/v2rayn/v2rayN/ServiceLib/ViewModels/StatusBarViewModel.cs b/v2rayn/v2rayN/ServiceLib/ViewModels/StatusBarViewModel.cs index d15d563c3f..e0af705d5c 100644 --- a/v2rayn/v2rayN/ServiceLib/ViewModels/StatusBarViewModel.cs +++ b/v2rayn/v2rayN/ServiceLib/ViewModels/StatusBarViewModel.cs @@ -181,6 +181,7 @@ namespace ServiceLib.ViewModels { SelectedRouting = new(); SelectedServer = new(); + RunningServerToolTipText = "-"; if (_config.TunModeItem.EnableTun && AppHandler.Instance.IsAdministrator) { @@ -321,7 +322,7 @@ namespace ServiceLib.ViewModels NoticeHandler.Instance.SendMessageEx($"{ResUI.TipChangeSystemProxy} - {_config.SystemProxyItem.SysProxyType.ToString()}"); SystemProxySelected = (int)_config.SystemProxyItem.SysProxyType; - await ConfigHandler.SaveConfig(_config, false); + await ConfigHandler.SaveConfig(_config); } public async Task ChangeSystemProxyAsync(ESysProxyType type, bool blChange) diff --git a/v2rayn/v2rayN/ServiceLib/ViewModels/SubEditViewModel.cs b/v2rayn/v2rayN/ServiceLib/ViewModels/SubEditViewModel.cs index ac7a6472d4..5ef396cb63 100644 --- a/v2rayn/v2rayN/ServiceLib/ViewModels/SubEditViewModel.cs +++ b/v2rayn/v2rayN/ServiceLib/ViewModels/SubEditViewModel.cs @@ -33,6 +33,23 @@ namespace ServiceLib.ViewModels return; } + var url = SelectedSource.Url; + if (url.IsNotEmpty()) + { + var uri = Utils.TryUri(url); + if (uri == null) + { + NoticeHandler.Instance.Enqueue(ResUI.LvUrl); + return; + } + //Do not allow http protocol + if (url.StartsWith(Global.HttpProtocol) && !Utils.IsPrivateNetwork(uri.IdnHost)) + { + NoticeHandler.Instance.Enqueue(ResUI.LvUrl); + return; + } + } + if (await ConfigHandler.AddSubItem(_config, SelectedSource) == 0) { NoticeHandler.Instance.Enqueue(ResUI.OperationSuccess); diff --git a/v2rayn/v2rayN/v2rayN.Desktop/Views/MainWindow.axaml.cs b/v2rayn/v2rayN/v2rayN.Desktop/Views/MainWindow.axaml.cs index c4ce8123ca..5e9186e0e7 100644 --- a/v2rayn/v2rayN/v2rayN.Desktop/Views/MainWindow.axaml.cs +++ b/v2rayn/v2rayN/v2rayN.Desktop/Views/MainWindow.axaml.cs @@ -321,7 +321,7 @@ namespace v2rayN.Desktop.Views public async Task ScanScreenTaskAsync() { //ShowHideWindow(false); - + NoticeHandler.Instance.SendMessageAndEnqueue("Not yet implemented.(还未实现)"); return; //if (Application.Current?.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) @@ -332,9 +332,10 @@ namespace v2rayN.Desktop.Views //ShowHideWindow(true); } + private async Task ScanImageTaskAsync() { - var fileName = await UI.OpenFileDialog(this,null ); + var fileName = await UI.OpenFileDialog(this, null); if (fileName.IsNullOrEmpty()) { return; diff --git a/v2rayn/v2rayN/v2rayN.Desktop/v2rayN.Desktop.csproj b/v2rayn/v2rayN/v2rayN.Desktop/v2rayN.Desktop.csproj index a5750c745e..57ee37640e 100644 --- a/v2rayn/v2rayN/v2rayN.Desktop/v2rayN.Desktop.csproj +++ b/v2rayn/v2rayN/v2rayN.Desktop/v2rayN.Desktop.csproj @@ -6,6 +6,7 @@ enable Assets\v2rayN.ico true + Copyright © 2017-2024 (GPLv3) true diff --git a/v2rayn/v2rayN/v2rayN/App.xaml b/v2rayn/v2rayN/v2rayN/App.xaml index f0b4456459..5327b70526 100644 --- a/v2rayn/v2rayN/v2rayN/App.xaml +++ b/v2rayn/v2rayN/v2rayN/App.xaml @@ -1,9 +1,9 @@  diff --git a/v2rayn/v2rayN/v2rayN/Common/QRCodeHelper.cs b/v2rayn/v2rayN/v2rayN/Common/QRCodeHelper.cs index e677037ac5..2791c52176 100644 --- a/v2rayn/v2rayN/v2rayN/Common/QRCodeHelper.cs +++ b/v2rayn/v2rayN/v2rayN/Common/QRCodeHelper.cs @@ -1,6 +1,5 @@ using System.Collections; using System.Drawing; -using System.IO; using System.Windows; using System.Windows.Interop; using System.Windows.Media; diff --git a/v2rayn/v2rayN/v2rayN/Views/ClashConnectionsView.xaml b/v2rayn/v2rayN/v2rayN/Views/ClashConnectionsView.xaml index e5781abec6..8ea9ca0b4d 100644 --- a/v2rayn/v2rayN/v2rayN/Views/ClashConnectionsView.xaml +++ b/v2rayn/v2rayN/v2rayN/Views/ClashConnectionsView.xaml @@ -1,11 +1,11 @@ - diff --git a/v2rayn/v2rayN/v2rayN/Views/RoutingRuleDetailsWindow.xaml b/v2rayn/v2rayN/v2rayN/Views/RoutingRuleDetailsWindow.xaml index 74ea94532c..f3c86a7402 100644 --- a/v2rayn/v2rayN/v2rayN/Views/RoutingRuleDetailsWindow.xaml +++ b/v2rayn/v2rayN/v2rayN/Views/RoutingRuleDetailsWindow.xaml @@ -1,14 +1,14 @@  - + vm.RoutingItems, v => v.lstRoutings.ItemsSource).DisposeWith(disposables); this.Bind(ViewModel, vm => vm.SelectedSource, v => v.lstRoutings.SelectedItem).DisposeWith(disposables); - this.Bind(ViewModel, vm => vm.enableRoutingAdvanced, v => v.togenableRoutingAdvanced.IsChecked).DisposeWith(disposables); + //this.Bind(ViewModel, vm => vm.enableRoutingAdvanced, v => v.togenableRoutingAdvanced.IsChecked).DisposeWith(disposables); this.Bind(ViewModel, vm => vm.domainStrategy, v => v.cmbdomainStrategy.Text).DisposeWith(disposables); this.Bind(ViewModel, vm => vm.domainMatcher, v => v.cmbdomainMatcher.Text).DisposeWith(disposables); this.Bind(ViewModel, vm => vm.domainStrategy4Singbox, v => v.cmbdomainStrategy4Singbox.Text).DisposeWith(disposables); diff --git a/v2rayn/v2rayN/v2rayN/Views/SubEditWindow.xaml b/v2rayn/v2rayN/v2rayN/Views/SubEditWindow.xaml index f27799959c..d6594e7098 100644 --- a/v2rayn/v2rayN/v2rayN/Views/SubEditWindow.xaml +++ b/v2rayn/v2rayN/v2rayN/Views/SubEditWindow.xaml @@ -1,14 +1,14 @@  - + diff --git a/v2rayng/.github/dependabot.yml b/v2rayng/.github/dependabot.yml deleted file mode 100644 index dfd0e30861..0000000000 --- a/v2rayng/.github/dependabot.yml +++ /dev/null @@ -1,10 +0,0 @@ -# Set update schedule for GitHub Actions - -version: 2 -updates: - - - package-ecosystem: "github-actions" - directory: "/" - schedule: - # Check for updates to GitHub Actions every week - interval: "weekly" diff --git a/v2rayng/.github/workflows/build.yml b/v2rayng/.github/workflows/build.yml index 31fe15144e..580ae95e24 100644 --- a/v2rayng/.github/workflows/build.yml +++ b/v2rayng/.github/workflows/build.yml @@ -26,11 +26,11 @@ jobs: - name: Setup Golang uses: actions/setup-go@v5 with: - go-version: '1.23.2' + go-version: '1.22.4' - name: Install gomobile run: | - go install golang.org/x/mobile/cmd/gomobile@latest + go install golang.org/x/mobile/cmd/gomobile@v0.0.0-20240806205939-81131f6468ab echo "$(go env GOPATH)/bin" >> $GITHUB_PATH - name: Setup Android environment diff --git a/v2rayu/V2rayU/Preference/PreferencePac.swift b/v2rayu/V2rayU/Preference/PreferencePac.swift index 6abc55bbc5..01effad011 100644 --- a/v2rayu/V2rayU/Preference/PreferencePac.swift +++ b/v2rayu/V2rayU/Preference/PreferencePac.swift @@ -200,7 +200,7 @@ func GeneratePACFile(rewrite: Bool) -> Bool { } let userRuleLines = userRules.components(separatedBy: CharacterSet.newlines) var lines = gfwlist.components(separatedBy: CharacterSet.newlines) - lines = userRuleLines + lines + lines = lines + userRuleLines // Filter empty and comment lines lines = lines.filter({ (s: String) -> Bool in diff --git a/xray-core/README.md b/xray-core/README.md index b3d2f2e602..3466fea77a 100644 --- a/xray-core/README.md +++ b/xray-core/README.md @@ -33,12 +33,10 @@ - [ghcr.io/xtls/xray-core](https://ghcr.io/xtls/xray-core) (**Official**) - [teddysun/xray](https://hub.docker.com/r/teddysun/xray) - [wulabing/xray_docker](https://github.com/wulabing/xray_docker) -- Web Panel - - [3X-UI](https://github.com/MHSanaei/3x-ui), [X-UI](https://github.com/alireza0/x-ui), [Xray-UI](https://github.com/qist/xray-ui) - - [Hiddify](https://github.com/hiddify/hiddify-config) - - [Marzneshin](https://github.com/marzneshin/marzneshin) +- Web Panel - **Warning: These panels are verified to support HTTPS or SSH port forwarding only. Please DO NOT use plain HTTP panels like 3X-UI, as they are believed to be bought by Iran GFW and your data security will be dangerous. If you are already using 3X-UI, please switch to the following panels.** - [Marzban](https://github.com/Gozargah/Marzban) - - [Libertea](https://github.com/VZiChoushaDui/Libertea) + - [Xray-UI](https://github.com/qist/xray-ui) + - [Hiddify](https://github.com/hiddify/Hiddify-Manager) - One Click - [Xray-REALITY](https://github.com/zxcvos/Xray-script), [xray-reality](https://github.com/sajjaddg/xray-reality), [reality-ezpz](https://github.com/aleskxyz/reality-ezpz) - [Xray_bash_onekey](https://github.com/hello-yunshu/Xray_bash_onekey), [XTool](https://github.com/LordPenguin666/XTool) diff --git a/yass/.github/workflows/releases-android-binary.yml b/yass/.github/workflows/releases-android-binary.yml index 71f532bad9..19cd6cee64 100644 --- a/yass/.github/workflows/releases-android-binary.yml +++ b/yass/.github/workflows/releases-android-binary.yml @@ -241,4 +241,4 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | - gh release upload ${{ github.event.release.tag_name }} yass*.tgz yass*.apk yass*.aab yass*.aab.idsig + gh release upload ${{ github.event.release.tag_name }} yass*.apk yass*.aab yass*.aab.idsig diff --git a/yass/README.md b/yass/README.md index 259dac1df2..ec097f9b6d 100644 --- a/yass/README.md +++ b/yass/README.md @@ -13,7 +13,7 @@ yass is an efficient forward proxy client supporting http/socks4/socks4a/socks5/ Because we are reusing chromium's network stack directly, we are following [chromium's release schedule](https://chromiumdash.appspot.com/schedule) and delivering new versions based on its beta branch. -- [Latest M131's Release (1.15.x)](https://github.com/Chilledheart/yass/releases/tag/1.15.0) will become Stable Release since _Nov 12, 2024_. +- [Latest M131's Release (1.15.x)](https://github.com/Chilledheart/yass/releases/tag/1.15.2) will become Stable Release since _Nov 12, 2024_. - [Latest M130's Release (1.14.x)](https://github.com/Chilledheart/yass/releases/tag/1.14.4) has become Stable Release since _Oct 15, 2024_ (Extended Support). - [Latest M129's Release (1.13.x)](https://github.com/Chilledheart/yass/releases/tag/1.13.3) has become Stable Release since _Sep 17, 2024_. - [Latest M128's Release (1.12.x)](https://github.com/Chilledheart/yass/releases/tag/1.12.5) has become Stable Release since _Aug 20, 2024_ (Extended Support). @@ -174,39 +174,39 @@ Start from wiki's [Guide](https://github.com/Chilledheart/yass/wiki/Debug-Guide) [mlkem]: https://datatracker.ietf.org/doc/draft-connolly-tls-mlkem-key-agreement/ [kyber]: https://datatracker.ietf.org/doc/draft-tls-westerbaan-xyber768d00/ -[gtk3_rpm_url]: https://github.com/Chilledheart/yass/releases/download/1.15.0/yass-gtk3.el8.x86_64.1.15.0.rpm -[gtk3_deb_url]: https://github.com/Chilledheart/yass/releases/download/1.15.0/yass-gtk3-ubuntu-16.04-xenial_amd64.1.15.0.deb -[qt5_rpm_url]: https://github.com/Chilledheart/yass/releases/download/1.15.0/yass-qt5.el8.x86_64.1.15.0.rpm -[qt5_deb_url]: https://github.com/Chilledheart/yass/releases/download/1.15.0/yass-qt5-ubuntu-16.04-xenial_amd64.1.15.0.deb -[gtk4_rpm_url]: https://github.com/Chilledheart/yass/releases/download/1.15.0/yass-gtk4.lp155.x86_64.1.15.0.rpm -[gtk4_deb_url]: https://github.com/Chilledheart/yass/releases/download/1.15.0/yass-gtk4-ubuntu-22.04-jammy_amd64.1.15.0.deb -[qt6_rpm_url]: https://github.com/Chilledheart/yass/releases/download/1.15.0/yass-qt6.lp155.x86_64.1.15.0.rpm -[qt6_deb_url]: https://github.com/Chilledheart/yass/releases/download/1.15.0/yass-qt6-ubuntu-22.04-jammy_amd64.1.15.0.deb +[gtk3_rpm_url]: https://github.com/Chilledheart/yass/releases/download/1.15.2/yass-gtk3.el8.x86_64.1.15.2.rpm +[gtk3_deb_url]: https://github.com/Chilledheart/yass/releases/download/1.15.2/yass-gtk3-ubuntu-16.04-xenial_amd64.1.15.2.deb +[qt5_rpm_url]: https://github.com/Chilledheart/yass/releases/download/1.15.2/yass-qt5.el8.x86_64.1.15.2.rpm +[qt5_deb_url]: https://github.com/Chilledheart/yass/releases/download/1.15.2/yass-qt5-ubuntu-16.04-xenial_amd64.1.15.2.deb +[gtk4_rpm_url]: https://github.com/Chilledheart/yass/releases/download/1.15.2/yass-gtk4.lp155.x86_64.1.15.2.rpm +[gtk4_deb_url]: https://github.com/Chilledheart/yass/releases/download/1.15.2/yass-gtk4-ubuntu-22.04-jammy_amd64.1.15.2.deb +[qt6_rpm_url]: https://github.com/Chilledheart/yass/releases/download/1.15.2/yass-qt6.lp155.x86_64.1.15.2.rpm +[qt6_deb_url]: https://github.com/Chilledheart/yass/releases/download/1.15.2/yass-qt6-ubuntu-22.04-jammy_amd64.1.15.2.deb -[qt6_flatpak_x86_64_url]: https://github.com/Chilledheart/yass/releases/download/1.15.0/yass-x86_64-1.15.0.flatpak +[qt6_flatpak_x86_64_url]: https://github.com/Chilledheart/yass/releases/download/1.15.2/yass-x86_64-1.15.2.flatpak -[cli_tgz_amd64_url]: https://github.com/Chilledheart/yass/releases/download/1.15.0/yass_cli-linux-release-amd64-1.15.0.tgz -[cli_tgz_i386_url]: https://github.com/Chilledheart/yass/releases/download/1.15.0/yass_cli-linux-release-amd64-1.15.0.tgz -[cli_tgz_arm64_url]: https://github.com/Chilledheart/yass/releases/download/1.15.0/yass_cli-linux-release-arm64-1.15.0.tgz -[cli_tgz_loongarch64_url]: https://github.com/Chilledheart/yass/releases/download/1.15.0/yass_cli-linux-release-loongarch64-1.15.0.tgz -[cli_tgz_riscv64_url]: https://github.com/Chilledheart/yass/releases/download/1.15.0/yass_cli-linux-release-riscv64-1.15.0.tgz -[cli_tgz_riscv32_url]: https://github.com/Chilledheart/yass/releases/download/1.15.0/yass_cli-linux-release-riscv32-1.15.0.tgz +[cli_tgz_amd64_url]: https://github.com/Chilledheart/yass/releases/download/1.15.2/yass_cli-linux-release-amd64-1.15.2.tgz +[cli_tgz_i386_url]: https://github.com/Chilledheart/yass/releases/download/1.15.2/yass_cli-linux-release-amd64-1.15.2.tgz +[cli_tgz_arm64_url]: https://github.com/Chilledheart/yass/releases/download/1.15.2/yass_cli-linux-release-arm64-1.15.2.tgz +[cli_tgz_loongarch64_url]: https://github.com/Chilledheart/yass/releases/download/1.15.2/yass_cli-linux-release-loongarch64-1.15.2.tgz +[cli_tgz_riscv64_url]: https://github.com/Chilledheart/yass/releases/download/1.15.2/yass_cli-linux-release-riscv64-1.15.2.tgz +[cli_tgz_riscv32_url]: https://github.com/Chilledheart/yass/releases/download/1.15.2/yass_cli-linux-release-riscv32-1.15.2.tgz -[cli_openwrt_amd64_url]: https://github.com/Chilledheart/yass/releases/download/1.15.0/yass_cli-linux-openwrt-release-x86_64-1.15.0.tgz -[cli_openwrt_i486_url]: https://github.com/Chilledheart/yass/releases/download/1.15.0/yass_cli-linux-openwrt-release-i486-1.15.0.tgz -[cli_openwrt_aarch64_url]: https://github.com/Chilledheart/yass/releases/download/1.15.0/yass_cli-linux-openwrt-release-aarch64-1.15.0.tgz +[cli_openwrt_amd64_url]: https://github.com/Chilledheart/yass/releases/download/1.15.2/yass_cli-linux-openwrt-release-x86_64-1.15.2.tgz +[cli_openwrt_i486_url]: https://github.com/Chilledheart/yass/releases/download/1.15.2/yass_cli-linux-openwrt-release-i486-1.15.2.tgz +[cli_openwrt_aarch64_url]: https://github.com/Chilledheart/yass/releases/download/1.15.2/yass_cli-linux-openwrt-release-aarch64-1.15.2.tgz -[cli_musl_amd64_url]: https://github.com/Chilledheart/yass/releases/download/1.15.0/yass_cli-linux-musl-release-amd64-1.15.0.tgz -[cli_musl_i386_url]: https://github.com/Chilledheart/yass/releases/download/1.15.0/yass_cli-linux-musl-release-i386-1.15.0.tgz -[cli_musl_aarch64_url]: https://github.com/Chilledheart/yass/releases/download/1.15.0/yass_cli-linux-musl-release-aarch64-1.15.0.tgz -[cli_musl_armhf_url]: https://github.com/Chilledheart/yass/releases/download/1.15.0/yass_cli-linux-musl-release-armhf-1.15.0.tgz +[cli_musl_amd64_url]: https://github.com/Chilledheart/yass/releases/download/1.15.2/yass_cli-linux-musl-release-amd64-1.15.2.tgz +[cli_musl_i386_url]: https://github.com/Chilledheart/yass/releases/download/1.15.2/yass_cli-linux-musl-release-i386-1.15.2.tgz +[cli_musl_aarch64_url]: https://github.com/Chilledheart/yass/releases/download/1.15.2/yass_cli-linux-musl-release-aarch64-1.15.2.tgz +[cli_musl_armhf_url]: https://github.com/Chilledheart/yass/releases/download/1.15.2/yass_cli-linux-musl-release-armhf-1.15.2.tgz -[android_64_apk_url]: https://github.com/Chilledheart/yass/releases/download/1.15.0/yass-android-release-arm64-1.15.0.apk -[android_32_apk_url]: https://github.com/Chilledheart/yass/releases/download/1.15.0/yass-android-release-arm-1.15.0.apk +[android_64_apk_url]: https://github.com/Chilledheart/yass/releases/download/1.15.2/yass-android-release-arm64-1.15.2.apk +[android_32_apk_url]: https://github.com/Chilledheart/yass/releases/download/1.15.2/yass-android-release-arm-1.15.2.apk -[windows_64_installer_url]: https://github.com/Chilledheart/yass/releases/download/1.15.0/yass-mingw-win7-release-x86_64-1.15.0-system-installer.exe -[windows_32_installer_url]: https://github.com/Chilledheart/yass/releases/download/1.15.0/yass-mingw-winxp-release-i686-1.15.0-system-installer.exe +[windows_64_installer_url]: https://github.com/Chilledheart/yass/releases/download/1.15.2/yass-mingw-win7-release-x86_64-1.15.2-system-installer.exe +[windows_32_installer_url]: https://github.com/Chilledheart/yass/releases/download/1.15.2/yass-mingw-winxp-release-i686-1.15.2-system-installer.exe -[windows_arm64_installer_url]: https://github.com/Chilledheart/yass/releases/download/1.15.0/yass-mingw-release-aarch64-1.15.0-system-installer.exe -[macos_intel_dmg_url]: https://github.com/Chilledheart/yass/releases/download/1.15.0/yass-macos-release-x64-1.15.0.dmg -[macos_arm_dmg_url]: https://github.com/Chilledheart/yass/releases/download/1.15.0/yass-macos-release-arm64-1.15.0.dmg +[windows_arm64_installer_url]: https://github.com/Chilledheart/yass/releases/download/1.15.2/yass-mingw-release-aarch64-1.15.2-system-installer.exe +[macos_intel_dmg_url]: https://github.com/Chilledheart/yass/releases/download/1.15.2/yass-macos-release-x64-1.15.2.dmg +[macos_arm_dmg_url]: https://github.com/Chilledheart/yass/releases/download/1.15.2/yass-macos-release-arm64-1.15.2.dmg diff --git a/yass/debian/changelog b/yass/debian/changelog index 004cca2340..532fed798d 100644 --- a/yass/debian/changelog +++ b/yass/debian/changelog @@ -1,3 +1,17 @@ +yass (1.15.2-1) UNRELEASED; urgency=medium + + * some trivial changes. + + -- Chilledheart Thu, 24 Oct 2024 11:08:12 +0800 +yass (1.15.1-1) UNRELEASED; urgency=medium + + * build: add an option to enable/disable assertions. + * tls: enable post quantum option for server-side. + * tls: support both of mlkem and kyber for server-side. + * tls: enable ALPS for HTTP/2 only. + * core: move logging and other modules to googleurl. + + -- Chilledheart Thu, 24 Oct 2024 10:36:37 +0800 yass (1.15.0-1) UNRELEASED; urgency=medium * bump to chromium 131 dependents. diff --git a/yass/src/ios/Base.lproj/Main.storyboard b/yass/src/ios/Base.lproj/Main.storyboard index 84809fce19..3d87b29390 100644 --- a/yass/src/ios/Base.lproj/Main.storyboard +++ b/yass/src/ios/Base.lproj/Main.storyboard @@ -1,9 +1,9 @@ - + - + @@ -21,7 +21,7 @@ - + @@ -39,8 +39,24 @@ - + + + + + + + + + + + + - + - + - - - - + + + + + + + + + + + + - + - + - + - + - +