diff --git a/Cargo.lock b/Cargo.lock index c382f38..0c6117b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -113,9 +113,9 @@ dependencies = [ [[package]] name = "allocator-api2" -version = "0.2.18" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" +checksum = "45862d1c77f2228b9e10bc609d5bc203d86ebc9b87ad8d5d5167a6c9abf739d9" [[package]] name = "android-activity" @@ -135,7 +135,7 @@ dependencies = [ "ndk-context", "ndk-sys 0.6.0+11769913", "num_enum", - "thiserror 1.0.64", + "thiserror", ] [[package]] @@ -266,9 +266,9 @@ dependencies = [ [[package]] name = "async-io" -version = "2.3.4" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "444b0228950ee6501b3568d3c93bf1176a1fdbc3b758dcd9475046d30f4dc7e8" +checksum = "43a2b323ccce0a1d90b449fd71f2a06ca7faa7c54c2751f06c9bd851fc061059" dependencies = [ "async-lock", "cfg-if", @@ -572,9 +572,9 @@ checksum = "64fa3c856b712db6612c019f14756e64e4bcea13337a6b33b696333a9eaa2d06" [[package]] name = "bytemuck" -version = "1.19.0" +version = "1.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8334215b81e418a0a7bdb8ef0849474f40bb10c8b71f1c4ed315cff49f32494d" +checksum = "8b37c88a63ffd85d15b406896cc343916d7cf57838a847b3a6f2ca5d39a5695a" dependencies = [ "bytemuck_derive", ] @@ -604,18 +604,18 @@ checksum = "428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3" [[package]] name = "c2rust-bitfields" -version = "0.19.0" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "367e5d1b30f28be590b6b3868da1578361d29d9bfac516d22f497d28ed7c9055" +checksum = "b43c3f07ab0ef604fa6f595aa46ec2f8a22172c975e186f6f5bf9829a3b72c41" dependencies = [ "c2rust-bitfields-derive", ] [[package]] name = "c2rust-bitfields-derive" -version = "0.19.0" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a279db9c50c4024eeca1a763b6e0f033848ce74e83e47454bcf8a8a98f7b0b56" +checksum = "d3cbc102e2597c9744c8bd8c15915d554300601c91a079430d309816b0912545" dependencies = [ "proc-macro2", "quote", @@ -633,7 +633,7 @@ dependencies = [ "polling", "rustix", "slab", - "thiserror 1.0.64", + "thiserror", ] [[package]] @@ -766,7 +766,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4274ea815e013e0f9f04a2633423e14194e408a0576c943ce3d14ca56c50031c" dependencies = [ - "thiserror 1.0.64", + "thiserror", "x11rb", ] @@ -1394,12 +1394,12 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.9" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1456,15 +1456,15 @@ checksum = "dd2e7510819d6fbf51a5545c8f922716ecfb14df168a3242f7d33e0239efe6a1" [[package]] name = "fastrand" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" +checksum = "486f806e73c5707928240ddc295403b1b93c96a02038563881c4a2fd84b81ac4" [[package]] name = "fdeflate" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8090f921a24b04994d9929e204f50b498a33ea6ba559ffaa05e04f7ee7fb5ab" +checksum = "07c6f4c64c1d33a3111c4466f7365ebdcc37c5bd1ea0d62aae2e3d722aacbedb" dependencies = [ "simd-adler32", ] @@ -1493,9 +1493,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "font-types" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dda6e36206148f69fc6ecb1bb6c0dedd7ee469f3db1d0dc2045beea28430ca43" +checksum = "b3971f9a5ca983419cdc386941ba3b9e1feba01a0ab888adf78739feb2798492" dependencies = [ "bytemuck", ] @@ -1583,7 +1583,7 @@ dependencies = [ "tokio", "tokio-util", "tray-item", - "tun", + "tun2", "x25519-dalek", ] @@ -1638,9 +1638,9 @@ checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-lite" -version = "2.3.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" +checksum = "cef40d21ae2c515b51041df9ed313ed21e572df340ea58a922a0aefe7e8891a1" dependencies = [ "fastrand", "futures-core", @@ -1802,7 +1802,7 @@ checksum = "6f56f6318968d03c18e1bcf4857ff88c61157e9da8e47c5f29055d60e1228884" dependencies = [ "log", "presser", - "thiserror 1.0.64", + "thiserror", "winapi", "windows", ] @@ -1901,7 +1901,7 @@ dependencies = [ "com", "libc", "libloading 0.8.5", - "thiserror 1.0.64", + "thiserror", "widestring", "winapi", ] @@ -2100,7 +2100,7 @@ dependencies = [ "iced_renderer", "iced_widget", "iced_winit", - "thiserror 1.0.64", + "thiserror", ] [[package]] @@ -2119,7 +2119,7 @@ dependencies = [ "palette", "rustc-hash 2.0.0", "smol_str", - "thiserror 1.0.64", + "thiserror", "web-time", ] @@ -2167,7 +2167,7 @@ dependencies = [ "once_cell", "raw-window-handle", "rustc-hash 2.0.0", - "thiserror 1.0.64", + "thiserror", "unicode-segmentation", ] @@ -2181,7 +2181,7 @@ dependencies = [ "iced_tiny_skia", "iced_wgpu", "log", - "thiserror 1.0.64", + "thiserror", ] [[package]] @@ -2194,7 +2194,7 @@ dependencies = [ "iced_core", "iced_futures", "raw-window-handle", - "thiserror 1.0.64", + "thiserror", ] [[package]] @@ -2229,7 +2229,7 @@ dependencies = [ "log", "once_cell", "rustc-hash 2.0.0", - "thiserror 1.0.64", + "thiserror", "wgpu", ] @@ -2244,7 +2244,7 @@ dependencies = [ "num-traits", "once_cell", "rustc-hash 2.0.0", - "thiserror 1.0.64", + "thiserror", "unicode-segmentation", ] @@ -2259,7 +2259,7 @@ dependencies = [ "iced_runtime", "log", "rustc-hash 2.0.0", - "thiserror 1.0.64", + "thiserror", "tracing", "wasm-bindgen-futures", "web-sys", @@ -2343,7 +2343,7 @@ dependencies = [ "combine", "jni-sys", "log", - "thiserror 1.0.64", + "thiserror", "walkdir", ] @@ -2357,7 +2357,7 @@ dependencies = [ "combine", "jni-sys", "log", - "thiserror 1.0.64", + "thiserror", "walkdir", ] @@ -2372,7 +2372,7 @@ dependencies = [ "combine", "jni-sys", "log", - "thiserror 1.0.64", + "thiserror", "walkdir", "windows-sys 0.45.0", ] @@ -2462,9 +2462,9 @@ dependencies = [ [[package]] name = "libm" -version = "0.2.8" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" +checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" [[package]] name = "libredox" @@ -2536,7 +2536,7 @@ dependencies = [ "serde-value", "serde_json", "serde_yaml", - "thiserror 1.0.64", + "thiserror", "thread-id", "typemap-ors", "winapi", @@ -2661,7 +2661,7 @@ dependencies = [ "rustc-hash 1.1.0", "spirv", "termcolor", - "thiserror 1.0.64", + "thiserror", "unicode-xid", ] @@ -2677,7 +2677,7 @@ dependencies = [ "ndk-sys 0.6.0+11769913", "num_enum", "raw-window-handle", - "thiserror 1.0.64", + "thiserror", ] [[package]] @@ -2712,7 +2712,7 @@ checksum = "433419f898328beca4f2c6c73a1b52540658d92b0a99f0269330457e0fd998d5" dependencies = [ "cc", "libc", - "thiserror 1.0.64", + "thiserror", "winapi", ] @@ -3113,7 +3113,7 @@ dependencies = [ "bitflags 1.3.2", "byteorder", "hwaddr", - "thiserror 1.0.64", + "thiserror", ] [[package]] @@ -3336,9 +3336,9 @@ dependencies = [ [[package]] name = "polling" -version = "3.7.3" +version = "3.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc2790cd301dec6cd3b7a025e4815cf825724a51c98dccfe6a3e55f05ffb6511" +checksum = "a604568c3202727d1507653cb121dbd627a58684eb09a820fd746bee38b4442f" dependencies = [ "cfg-if", "concurrent-queue", @@ -3586,7 +3586,7 @@ checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom", "libredox", - "thiserror 1.0.64", + "thiserror", ] [[package]] @@ -3967,7 +3967,7 @@ dependencies = [ "log", "memmap2", "rustix", - "thiserror 1.0.64", + "thiserror", "wayland-backend", "wayland-client", "wayland-csd-frame", @@ -4081,9 +4081,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "svg_fmt" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20e16a0f46cf5fd675563ef54f26e83e20f2366bcf027bcb3cc3ed2b98aaf2ca" +checksum = "ce5d813d71d82c4cbc1742135004e4a79fd870214c155443451c139c9470a0aa" [[package]] name = "swash" @@ -4132,9 +4132,9 @@ checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" [[package]] name = "sys-locale" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e801cf239ecd6ccd71f03d270d67dd53d13e90aab208bf4b8fe4ad957ea949b0" +checksum = "8eab9a99a024a169fe8a903cf9d4a3b3601109bcc13bd9e3c6fff259138626c4" dependencies = [ "libc", ] @@ -4176,16 +4176,7 @@ version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" dependencies = [ - "thiserror-impl 1.0.64", -] - -[[package]] -name = "thiserror" -version = "2.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c006c85c7651b3cf2ada4584faa36773bd07bac24acfb39f3c431b36d7e667aa" -dependencies = [ - "thiserror-impl 2.0.3", + "thiserror-impl", ] [[package]] @@ -4199,17 +4190,6 @@ dependencies = [ "syn 2.0.87", ] -[[package]] -name = "thiserror-impl" -version = "2.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f077553d607adc1caf65430528a576c757a71ed73944b66ebb58ef2bbd243568" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.87", -] - [[package]] name = "thread-id" version = "4.2.2" @@ -4536,20 +4516,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5902c5d130972a0000f60860bfbf46f7ca3db5391eddfedd1b8728bd9dc96c0e" [[package]] -name = "tun" -version = "0.7.2" +name = "tun2" +version = "2.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deb73046acd7ffa6366838c7ecea46781f9bf462ba2de56df758b77dc5c8a679" +checksum = "7b139b40733b3e81560335ccad94948916c4d03ed1ded505a8675428879075b4" dependencies = [ "bytes", "cfg-if", - "futures", "futures-core", "ipnet", "libc", + "libloading 0.8.5", "log", "nix", - "thiserror 2.0.3", + "rustversion", + "thiserror", "tokio", "tokio-util", "windows-sys 0.59.0", @@ -4828,9 +4809,9 @@ dependencies = [ [[package]] name = "wayland-client" -version = "0.31.6" +version = "0.31.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3f45d1222915ef1fd2057220c1d9d9624b7654443ea35c3877f7a52bd0a5a2d" +checksum = "b66249d3fc69f76fd74c82cc319300faa554e9d865dab1f7cd66cc20db10b280" dependencies = [ "bitflags 2.6.0", "rustix", @@ -4851,9 +4832,9 @@ dependencies = [ [[package]] name = "wayland-cursor" -version = "0.31.6" +version = "0.31.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a94697e66e76c85923b0d28a0c251e8f0666f58fc47d316c0f4da6da75d37cb" +checksum = "32b08bc3aafdb0035e7fe0fdf17ba0c09c268732707dca4ae098f60cb28c9e4c" dependencies = [ "rustix", "wayland-client", @@ -4862,9 +4843,9 @@ dependencies = [ [[package]] name = "wayland-protocols" -version = "0.32.4" +version = "0.32.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b5755d77ae9040bb872a25026555ce4cb0ae75fd923e90d25fba07d81057de0" +checksum = "7cd0ade57c4e6e9a8952741325c30bf82f4246885dca8bf561898b86d0c1f58e" dependencies = [ "bitflags 2.6.0", "wayland-backend", @@ -4874,9 +4855,9 @@ dependencies = [ [[package]] name = "wayland-protocols-plasma" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a0a41a6875e585172495f7a96dfa42ca7e0213868f4f15c313f7c33221a7eff" +checksum = "9b31cab548ee68c7eb155517f2212049dc151f7cd7910c2b66abfd31c3ee12bd" dependencies = [ "bitflags 2.6.0", "wayland-backend", @@ -4887,9 +4868,9 @@ dependencies = [ [[package]] name = "wayland-protocols-wlr" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dad87b5fd1b1d3ca2f792df8f686a2a11e3fe1077b71096f7a175ab699f89109" +checksum = "782e12f6cd923c3c316130d56205ebab53f55d6666b7faddfad36cecaeeb4022" dependencies = [ "bitflags 2.6.0", "wayland-backend", @@ -4986,7 +4967,7 @@ dependencies = [ "raw-window-handle", "rustc-hash 1.1.0", "smallvec", - "thiserror 1.0.64", + "thiserror", "web-sys", "wgpu-hal", "wgpu-types", @@ -5030,7 +5011,7 @@ dependencies = [ "renderdoc-sys", "rustc-hash 1.1.0", "smallvec", - "thiserror 1.0.64", + "thiserror", "wasm-bindgen", "web-sys", "wgpu-types", @@ -5096,7 +5077,7 @@ dependencies = [ "clipboard_wayland", "clipboard_x11", "raw-window-handle", - "thiserror 1.0.64", + "thiserror", ] [[package]] @@ -5414,16 +5395,14 @@ dependencies = [ [[package]] name = "wintun-bindings" -version = "0.7.17" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8aed5bc5516ca7a52018b0a198911566edfa07584bdbfd71ea39161aa13806e" +checksum = "3af47a132f449a64ff858f9ad876a3d1812df30e9500cddfdcabb2266ab68c0d" dependencies = [ - "blocking", "c2rust-bitfields", - "futures", "libloading 0.8.5", "log", - "thiserror 2.0.3", + "thiserror", "windows-sys 0.59.0", ] @@ -5508,9 +5487,9 @@ checksum = "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56" [[package]] name = "xml-rs" -version = "0.8.22" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af4e2e2f7cba5a093896c1e150fbfe177d1883e7448200efb81d40b9d339ef26" +checksum = "af310deaae937e48a26602b730250b4949e125f468f11e6990be3e5304ddd96f" [[package]] name = "yazi" diff --git a/Cargo.toml b/Cargo.toml index d294189..de420ea 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -45,7 +45,7 @@ base64 = "0.22.1" chrono = "0.4.38" console-subscriber = "0.4.0" network-interface = "2.0.0" -tun = { version = "0.7", features = ["async"] } +tun2 = { version = "2", features = ["async"] } [target.'cfg(target_os="windows")'.dependencies] iced = { version = "0.13.1", features = ["tokio"] } diff --git a/src/client.rs b/src/client.rs index 0cd93a9..13d51f8 100644 --- a/src/client.rs +++ b/src/client.rs @@ -16,7 +16,7 @@ pub mod general { use x25519_dalek::{PublicKey, StaticSecret}; use crate::udp::{UDPVpnPacket, UDPVpnHandshake, UDPSerializable}; - use tun::{ AsyncDevice, DeviceReader, DeviceWriter, TunPacketCodec }; + use tun2::{ AsyncDevice, DeviceReader, DeviceWriter, TunPacketCodec }; pub trait ReadWrapper { async fn read(&mut self, buf: &mut Vec) -> Result; @@ -286,7 +286,7 @@ pub mod desktop { #[cfg(target_os = "linux")] use network_interface::{NetworkInterface, NetworkInterfaceConfig}; - use tun::{ Configuration, create_as_async }; + use tun2::{ Configuration, create_as_async }; #[cfg(target_os = "linux")] diff --git a/src/server.rs b/src/server.rs index 2237a12..9413978 100644 --- a/src/server.rs +++ b/src/server.rs @@ -9,7 +9,7 @@ use std::net::{ SocketAddr, Ipv4Addr, IpAddr }; use std::collections::HashMap; use aes_gcm::{ aead::{Aead, AeadCore, KeyInit, OsRng}, Aes256Gcm, Nonce }; -use tun::{Configuration, create_as_async}; +use tun2::{Configuration, create_as_async}; #[cfg(target_os = "linux")] use network_interface::{NetworkInterface, NetworkInterfaceConfig};