diff --git a/Cargo.lock b/Cargo.lock index e25ea138..ccb1a9b6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -36,6 +36,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + [[package]] name = "allocator-api2" version = "0.2.21" @@ -206,14 +215,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f" dependencies = [ "async-trait", - "axum-core", + "axum-core 0.4.5", "bytes", "futures-util", "http", "http-body", "http-body-util", "itoa", - "matchit", + "matchit 0.7.3", "memchr", "mime", "percent-encoding", @@ -226,6 +235,31 @@ dependencies = [ "tower-service", ] +[[package]] +name = "axum" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b098575ebe77cb6d14fc7f32749631a6e44edbef6b796f89b020e99ba20d425" +dependencies = [ + "axum-core 0.5.5", + "bytes", + "futures-util", + "http", + "http-body", + "http-body-util", + "itoa", + "matchit 0.8.4", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "serde_core", + "sync_wrapper", + "tower 0.5.2", + "tower-layer", + "tower-service", +] + [[package]] name = "axum-core" version = "0.4.5" @@ -246,6 +280,24 @@ dependencies = [ "tower-service", ] +[[package]] +name = "axum-core" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59446ce19cd142f8833f856eb31f3eb097812d1479ab224f54d72428ca21ea22" +dependencies = [ + "bytes", + "futures-core", + "http", + "http-body", + "http-body-util", + "mime", + "pin-project-lite", + "sync_wrapper", + "tower-layer", + "tower-service", +] + [[package]] name = "aya" version = "0.13.1" @@ -266,9 +318,9 @@ dependencies = [ [[package]] name = "aya-build" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "765c92c523541cbf5e3a94c7a6ff4068a4d9537f98a2eeb136461c0537ded8c1" +checksum = "59bc42f3c5ddacc34eca28a420b47e3cbb3f0f484137cb2bf1ad2153d0eae52a" dependencies = [ "anyhow", "cargo_metadata", @@ -540,27 +592,27 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.9" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" +checksum = "276a59bf2b2c967788139340c9f0c5b12d7fd6630315c15c217e559de85d2609" dependencies = [ - "serde", + "serde_core", ] [[package]] name = "cargo-platform" -version = "0.1.9" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" +checksum = "122ec45a44b270afd1402f351b782c676b173e3c3fb28d86ff7ebfb4d86a4ee4" dependencies = [ "serde", ] [[package]] name = "cargo_metadata" -version = "0.19.2" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd5eb614ed4c27c5d706420e4320fbe3216ab31fa1c33cd8246ac36dae4479ba" +checksum = "ef987d17b0a113becdd19d3d0022d04d7ef41f9efe4f3fb63ac44ba61df3ade9" dependencies = [ "camino", "cargo-platform", @@ -739,8 +791,22 @@ checksum = "8030735ecb0d128428b64cd379809817e620a40e5001c54465b99ec5feec2857" dependencies = [ "futures-core", "prost 0.13.5", - "prost-types", - "tonic", + "prost-types 0.13.5", + "tonic 0.12.3", + "tracing-core", +] + +[[package]] +name = "console-api" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8599749b6667e2f0c910c1d0dff6901163ff698a52d5a39720f61b5be4b20d3" +dependencies = [ + "futures-core", + "prost 0.14.1", + "prost-types 0.14.1", + "tonic 0.14.2", + "tonic-prost", "tracing-core", ] @@ -750,7 +816,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6539aa9c6a4cd31f4b1c040f860a1eac9aa80e7df6b05d506a6e7179936d6a01" dependencies = [ - "console-api", + "console-api 0.8.1", "crossbeam-channel", "crossbeam-utils", "futures-task", @@ -758,13 +824,39 @@ dependencies = [ "humantime", "hyper-util", "prost 0.13.5", - "prost-types", + "prost-types 0.13.5", "serde", "serde_json", "thread_local", "tokio", "tokio-stream", - "tonic", + "tonic 0.12.3", + "tracing", + "tracing-core", + "tracing-subscriber", +] + +[[package]] +name = "console-subscriber" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb4915b7d8dd960457a1b6c380114c2944f728e7c65294ab247ae6b6f1f37592" +dependencies = [ + "console-api 0.9.0", + "crossbeam-channel", + "crossbeam-utils", + "futures-task", + "hdrhistogram", + "humantime", + "hyper-util", + "prost 0.14.1", + "prost-types 0.14.1", + "serde", + "serde_json", + "thread_local", + "tokio", + "tokio-stream", + "tonic 0.14.2", "tracing", "tracing-core", "tracing-subscriber", @@ -866,7 +958,7 @@ dependencies = [ "cast", "ciborium", "clap", - "criterion-plot", + "criterion-plot 0.6.0", "itertools 0.13.0", "num-traits", "oorandom", @@ -879,6 +971,31 @@ dependencies = [ "walkdir", ] +[[package]] +name = "criterion" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0dfe5e9e71bdcf4e4954f7d14da74d1cdb92a3a07686452d1509652684b1aab" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot 0.8.0", + "itertools 0.13.0", + "num-traits", + "oorandom", + "page_size", + "plotters", + "rayon", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + [[package]] name = "criterion-plot" version = "0.6.0" @@ -889,6 +1006,16 @@ dependencies = [ "itertools 0.13.0", ] +[[package]] +name = "criterion-plot" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5de36c2bee19fba779808f92bf5d9b0fa5a40095c277aba10c458a12b35d21d6" +dependencies = [ + "cast", + "itertools 0.13.0", +] + [[package]] name = "critical-section" version = "1.2.0" @@ -1198,9 +1325,9 @@ dependencies = [ [[package]] name = "flate2" -version = "1.1.2" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d" +checksum = "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb" dependencies = [ "crc32fast", "miniz_oxide", @@ -1593,7 +1720,7 @@ checksum = "a56f203cd1c76362b69e3863fd987520ac36cf70a8c92627449b2f64a8cf7d65" dependencies = [ "cfg-if", "libc", - "windows-link", + "windows-link 0.1.3", ] [[package]] @@ -1843,9 +1970,9 @@ dependencies = [ [[package]] name = "image" -version = "0.25.8" +version = "0.25.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "529feb3e6769d234375c4cf1ee2ce713682b8e76538cb13f9fc23e1400a591e7" +checksum = "e6506c6c10786659413faa717ceebcb8f70731c0a60cbae39795fdf114519c1a" dependencies = [ "bytemuck", "byteorder-lite", @@ -1915,17 +2042,6 @@ dependencies = [ "rustversion", ] -[[package]] -name = "io-uring" -version = "0.7.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d93587f37623a1a17d94ef2bc9ada592f5465fe7732084ab7beefabe5c77c0c4" -dependencies = [ - "bitflags 2.9.0", - "cfg-if", - "libc", -] - [[package]] name = "ip_network" version = "0.4.1" @@ -2041,9 +2157,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.176" +version = "0.2.177" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58f929b4d672ea937a23a1ab494143d968337a5f47e56d0815df1e0890ddf174" +checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" [[package]] name = "libloading" @@ -2156,6 +2272,12 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" +[[package]] +name = "matchit" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3" + [[package]] name = "memchr" version = "2.7.4" @@ -2222,10 +2344,10 @@ dependencies = [ "anyhow", "boringtun", "cocoa", - "console-subscriber", + "console-subscriber 0.4.1", "core-foundation", "core-graphics 0.25.0", - "criterion", + "criterion 0.7.0", "data-encoding", "env_logger", "futures-util", @@ -2242,7 +2364,7 @@ dependencies = [ "rand 0.9.2", "security-framework", "smoltcp", - "socket2 0.6.0", + "socket2 0.6.1", "sysinfo", "tempfile", "tokio", @@ -2256,7 +2378,7 @@ name = "mitmproxy-contentviews" version = "0.13.0-dev" dependencies = [ "anyhow", - "criterion", + "criterion 0.8.0", "data-encoding", "flate2", "log", @@ -2275,7 +2397,7 @@ name = "mitmproxy-highlight" version = "0.13.0-dev" dependencies = [ "anyhow", - "criterion", + "criterion 0.8.0", "tree-sitter", "tree-sitter-css", "tree-sitter-highlight", @@ -2329,7 +2451,7 @@ version = "0.13.0-dev" dependencies = [ "anyhow", "boringtun", - "console-subscriber", + "console-subscriber 0.5.0", "data-encoding", "env_logger", "log", @@ -2530,6 +2652,16 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + [[package]] name = "parking" version = "2.2.1" @@ -2821,6 +2953,15 @@ dependencies = [ "prost 0.13.5", ] +[[package]] +name = "prost-types" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9b4db3d6da204ed77bb26ba83b6122a73aeb2e87e25fbf7ad2e84c4ccbf8f72" +dependencies = [ + "prost 0.14.1", +] + [[package]] name = "protobuf" version = "3.7.2" @@ -3078,13 +3219,13 @@ dependencies = [ [[package]] name = "regex" -version = "1.11.3" +version = "1.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b5288124840bee7b386bc413c487869b360b2b4ec421ea56425128692f2a82c" +checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.11", + "regex-automata 0.4.13", "regex-syntax 0.8.5", ] @@ -3099,9 +3240,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.11" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "833eb9ce86d40ef33cb1306d8accf7bc8ec2bfea4355cbdebb3df68b40925cad" +checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" dependencies = [ "aho-corasick", "memchr", @@ -3303,15 +3444,16 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.140" +version = "1.0.145" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" +checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" dependencies = [ "indexmap 2.9.0", "itoa", "memchr", "ryu", "serde", + "serde_core", ] [[package]] @@ -3400,12 +3542,12 @@ dependencies = [ [[package]] name = "socket2" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807" +checksum = "17129e116933cf371d018bb80ae557e889637989d8638274fb25622827b03881" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -3518,7 +3660,7 @@ dependencies = [ "getrandom 0.3.2", "once_cell", "rustix 1.0.5", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -3641,29 +3783,26 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.47.1" +version = "1.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038" +checksum = "ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408" dependencies = [ - "backtrace", "bytes", - "io-uring", "libc", "mio", "pin-project-lite", "signal-hook-registry", - "slab", - "socket2 0.6.0", + "socket2 0.6.1", "tokio-macros", "tracing", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] name = "tokio-macros" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" +checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" dependencies = [ "proc-macro2", "quote", @@ -3683,9 +3822,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.16" +version = "0.7.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5" +checksum = "2efa149fe76073d6e8fd97ef4f4eca7b67f599660115591483572e406e165594" dependencies = [ "bytes", "futures-core", @@ -3711,7 +3850,7 @@ checksum = "877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52" dependencies = [ "async-stream", "async-trait", - "axum", + "axum 0.7.9", "base64 0.22.1", "bytes", "h2", @@ -3733,6 +3872,46 @@ dependencies = [ "tracing", ] +[[package]] +name = "tonic" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb7613188ce9f7df5bfe185db26c5814347d110db17920415cf2fbcad85e7203" +dependencies = [ + "async-trait", + "axum 0.8.7", + "base64 0.22.1", + "bytes", + "h2", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-timeout", + "hyper-util", + "percent-encoding", + "pin-project", + "socket2 0.6.1", + "sync_wrapper", + "tokio", + "tokio-stream", + "tower 0.5.2", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tonic-prost" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66bd50ad6ce1252d87ef024b3d64fe4c3cf54a86fb9ef4c631fdd0ded7aeaa67" +dependencies = [ + "bytes", + "prost 0.14.1", + "tonic 0.14.2", +] + [[package]] name = "tower" version = "0.4.13" @@ -3761,10 +3940,15 @@ checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" dependencies = [ "futures-core", "futures-util", + "indexmap 2.9.0", "pin-project-lite", + "slab", "sync_wrapper", + "tokio", + "tokio-util", "tower-layer", "tower-service", + "tracing", ] [[package]] @@ -3904,9 +4088,9 @@ dependencies = [ [[package]] name = "tree-sitter-yaml" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d5893f2a05e57c86a2338aa3aed167a1e5c68b8fdff3bf4a460941f2d8fc944" +checksum = "53c223db85f05e34794f065454843b0668ebc15d240ada63e2b5939f43ce7c97" dependencies = [ "cc", "tree-sitter-language", @@ -3920,9 +4104,9 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "tun" -version = "0.7.22" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7904c94104239657089d14bccbf23fd6d363e30639ce49af21ef008a445baf97" +checksum = "3a1527bfc1f78acb1287bbd132ee44bdbf9d064c9f3ca176cb2635253f891f76" dependencies = [ "bytes", "cfg-if", @@ -3935,7 +4119,7 @@ dependencies = [ "thiserror 2.0.12", "tokio", "tokio-util", - "windows-sys 0.59.0", + "windows-sys 0.60.2", "wintun-bindings", ] @@ -4249,7 +4433,7 @@ dependencies = [ "windows-collections", "windows-core 0.61.2", "windows-future", - "windows-link", + "windows-link 0.1.3", "windows-numerics", ] @@ -4283,7 +4467,7 @@ checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" dependencies = [ "windows-implement 0.60.1", "windows-interface 0.59.2", - "windows-link", + "windows-link 0.1.3", "windows-result 0.3.4", "windows-strings 0.4.2", ] @@ -4295,7 +4479,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" dependencies = [ "windows-core 0.61.2", - "windows-link", + "windows-link 0.1.3", "windows-threading", ] @@ -4349,6 +4533,12 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + [[package]] name = "windows-numerics" version = "0.2.0" @@ -4356,7 +4546,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" dependencies = [ "windows-core 0.61.2", - "windows-link", + "windows-link 0.1.3", ] [[package]] @@ -4391,7 +4581,7 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" dependencies = [ - "windows-link", + "windows-link 0.1.3", ] [[package]] @@ -4410,7 +4600,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" dependencies = [ - "windows-link", + "windows-link 0.1.3", ] [[package]] @@ -4440,6 +4630,24 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets 0.53.5", +] + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link 0.2.1", +] + [[package]] name = "windows-targets" version = "0.48.5" @@ -4464,20 +4672,37 @@ dependencies = [ "windows_aarch64_gnullvm 0.52.6", "windows_aarch64_msvc 0.52.6", "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm", + "windows_i686_gnullvm 0.52.6", "windows_i686_msvc 0.52.6", "windows_x86_64_gnu 0.52.6", "windows_x86_64_gnullvm 0.52.6", "windows_x86_64_msvc 0.52.6", ] +[[package]] +name = "windows-targets" +version = "0.53.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" +dependencies = [ + "windows-link 0.2.1", + "windows_aarch64_gnullvm 0.53.1", + "windows_aarch64_msvc 0.53.1", + "windows_i686_gnu 0.53.1", + "windows_i686_gnullvm 0.53.1", + "windows_i686_msvc 0.53.1", + "windows_x86_64_gnu 0.53.1", + "windows_x86_64_gnullvm 0.53.1", + "windows_x86_64_msvc 0.53.1", +] + [[package]] name = "windows-threading" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" dependencies = [ - "windows-link", + "windows-link 0.1.3", ] [[package]] @@ -4492,6 +4717,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" + [[package]] name = "windows_aarch64_msvc" version = "0.48.5" @@ -4504,6 +4735,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" + [[package]] name = "windows_i686_gnu" version = "0.48.5" @@ -4516,12 +4753,24 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" +[[package]] +name = "windows_i686_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" + [[package]] name = "windows_i686_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" + [[package]] name = "windows_i686_msvc" version = "0.48.5" @@ -4534,6 +4783,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +[[package]] +name = "windows_i686_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" + [[package]] name = "windows_x86_64_gnu" version = "0.48.5" @@ -4546,6 +4801,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" + [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" @@ -4558,6 +4819,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" + [[package]] name = "windows_x86_64_msvc" version = "0.48.5" @@ -4570,6 +4837,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" + [[package]] name = "winreg" version = "0.50.0" diff --git a/Cargo.toml b/Cargo.toml index 7c99422d..026e44dc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -39,7 +39,7 @@ aya = { version = "0.13.0", default-features = false } aya-ebpf = { version = "0.1.1", default-features = false } aya-log = { version = "0.2.1", default-features = false } aya-log-ebpf = { version = "0.1.1", default-features = false } -tun = { version = "0.7.22" } +tun = { version = "0.8.4" } [workspace.lints.clippy] large_futures = "deny" diff --git a/mitmproxy-contentviews/Cargo.toml b/mitmproxy-contentviews/Cargo.toml index 6d27ed1a..90ad2147 100644 --- a/mitmproxy-contentviews/Cargo.toml +++ b/mitmproxy-contentviews/Cargo.toml @@ -21,12 +21,12 @@ serde = { version = "1.0", features = ["derive"] } serde_yaml = "0.9" rmp-serde = "1.1" protobuf = "3.7.2" -regex = "1.11.3" +regex = "1.12.2" flate2 = "1.1" protobuf-parse = "3.7" [dev-dependencies] -criterion = "0.7.0" +criterion = "0.8.0" [[bench]] name = "contentviews" diff --git a/mitmproxy-highlight/Cargo.toml b/mitmproxy-highlight/Cargo.toml index ca33c2e8..6bf7d10b 100644 --- a/mitmproxy-highlight/Cargo.toml +++ b/mitmproxy-highlight/Cargo.toml @@ -18,10 +18,10 @@ tree-sitter-css = "0.25.0" tree-sitter-highlight = "0.25.10" tree-sitter-javascript = "0.25.0" tree-sitter-xml = "0.7.0" -tree-sitter-yaml = "0.7.1" +tree-sitter-yaml = "0.7.2" [dev-dependencies] -criterion = "0.7.0" +criterion = "0.8.0" [[bench]] name = "syntax_highlight" diff --git a/mitmproxy-linux/Cargo.toml b/mitmproxy-linux/Cargo.toml index c36b201a..9c03e355 100644 --- a/mitmproxy-linux/Cargo.toml +++ b/mitmproxy-linux/Cargo.toml @@ -21,18 +21,18 @@ mitmproxy-linux-ebpf-common = { path = "../mitmproxy-linux-ebpf-common"} tun = { workspace = true, features = ["async"] } aya = { workspace = true } aya-log = { workspace = true } -tokio = { version = "1.47", features = ["macros", "net", "rt-multi-thread", "sync", "io-util", "signal"] } +tokio = { version = "1.48", features = ["macros", "net", "rt-multi-thread", "sync", "io-util", "signal"] } anyhow = { version = "1.0.100", features = ["backtrace"] } log = "0.4.28" env_logger = "0.11.5" prost = "0.14.1" internet-packet = { version = "0.2.0", features = ["checksums"] } -libc = "0.2.176" +libc = "0.2.177" const-sha1 = "0.3.0" [target.'cfg(target_os = "linux")'.build-dependencies] anyhow = { version = "1.0.100", features = ["backtrace"] } -aya-build = "0.1.2" +aya-build = "0.1.3" mitmproxy-linux-ebpf = { path = "../mitmproxy-linux-ebpf" } [target.'cfg(target_os = "linux")'.dev-dependencies] diff --git a/mitmproxy-rs/Cargo.toml b/mitmproxy-rs/Cargo.toml index edb56d2a..c9b92af1 100644 --- a/mitmproxy-rs/Cargo.toml +++ b/mitmproxy-rs/Cargo.toml @@ -26,10 +26,10 @@ pyo3 = { version = "0.25", features = ["abi3", "abi3-py312", "anyhow"] } pyo3-async-runtimes = { version = "0.25", features = ["tokio-runtime", "testing", "attributes"] } pyo3-log = "0.12" rand_core = { version = "0.6.4", features = ["getrandom"] } # https://github.com/dalek-cryptography/curve25519-dalek/issues/731 -tokio = { version = "1.47", features = ["macros", "net", "rt-multi-thread", "sync"] } +tokio = { version = "1.48", features = ["macros", "net", "rt-multi-thread", "sync"] } boringtun = "0.6" tar = "0.4.44" -console-subscriber = { version = "0.4.1", optional = true } +console-subscriber = { version = "0.5.0", optional = true } [target.'cfg(target_os = "linux")'.dependencies] nix = { version = "0.30.1", features = ["user"] } diff --git a/mitmproxy-windows/redirector/Cargo.toml b/mitmproxy-windows/redirector/Cargo.toml index dfcac1e6..e6ec8b98 100644 --- a/mitmproxy-windows/redirector/Cargo.toml +++ b/mitmproxy-windows/redirector/Cargo.toml @@ -15,7 +15,7 @@ workspace = true [target.'cfg(windows)'.dependencies] mitmproxy = { path = "../../" } -tokio = { version = "1.47", features = ["macros", "net", "rt-multi-thread", "sync", "io-util"] } +tokio = { version = "1.48", features = ["macros", "net", "rt-multi-thread", "sync", "io-util"] } anyhow = { version = "1.0.100", features = ["backtrace"] } windivert = "0.6.0" lru_time_cache = "0.11.11" diff --git a/src/ipc/mitmproxy_ipc/mitmproxy_ipc.rs b/src/ipc/mitmproxy_ipc/mitmproxy_ipc.rs new file mode 100644 index 00000000..2f2ac653 --- /dev/null +++ b/src/ipc/mitmproxy_ipc/mitmproxy_ipc.rs @@ -0,0 +1,100 @@ +// @generated +// This file is @generated by prost-build. +// Note: The protobuf definition is shared between the Rust and Swift parts. +// We are not using prost-build because providing protoc is a hassle on many platforms. +// See .github/workflows/autofix.yml for how to update the respective files, +// or file a PR and let CI handle it. + +/// Packet with associated tunnel info (Windows pipe to mitmproxy) +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +pub struct PacketWithMeta { + #[prost(bytes="bytes", tag="1")] + pub data: ::prost::bytes::Bytes, + #[prost(message, optional, tag="2")] + pub tunnel_info: ::core::option::Option, +} +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +pub struct TunnelInfo { + #[prost(uint32, optional, tag="1")] + pub pid: ::core::option::Option, + #[prost(string, optional, tag="2")] + pub process_name: ::core::option::Option<::prost::alloc::string::String>, +} +/// Packet or intercept spec (Windows pipe to redirector) +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +pub struct FromProxy { + #[prost(oneof="from_proxy::Message", tags="1, 2")] + pub message: ::core::option::Option, +} +/// Nested message and enum types in `FromProxy`. +pub mod from_proxy { + #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)] + pub enum Message { + #[prost(message, tag="1")] + Packet(super::Packet), + #[prost(message, tag="2")] + InterceptConf(super::InterceptConf), + } +} +/// Packet (macOS UDP Stream) +/// ⚠️ Bump network extension version on changes, +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +pub struct Packet { + #[prost(bytes="bytes", tag="1")] + pub data: ::prost::bytes::Bytes, +} +/// Intercept conf (macOS Control Stream) +/// ⚠️ Bump network extension version on changes, +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +pub struct InterceptConf { + #[prost(string, repeated, tag="1")] + pub actions: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +/// New flow (macOS TCP/UDP Stream) +/// ⚠️ Bump network extension version on changes, +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +pub struct NewFlow { + #[prost(oneof="new_flow::Message", tags="1, 2")] + pub message: ::core::option::Option, +} +/// Nested message and enum types in `NewFlow`. +pub mod new_flow { + #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)] + pub enum Message { + #[prost(message, tag="1")] + Tcp(super::TcpFlow), + #[prost(message, tag="2")] + Udp(super::UdpFlow), + } +} +/// ⚠️ Bump network extension version on changes, +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +pub struct TcpFlow { + #[prost(message, optional, tag="1")] + pub remote_address: ::core::option::Option
, + #[prost(message, optional, tag="2")] + pub tunnel_info: ::core::option::Option, +} +/// ⚠️ Bump network extension version on changes, +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +pub struct UdpFlow { + #[prost(message, optional, tag="1")] + pub local_address: ::core::option::Option
, + #[prost(message, optional, tag="3")] + pub tunnel_info: ::core::option::Option, +} +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +pub struct UdpPacket { + #[prost(bytes="bytes", tag="1")] + pub data: ::prost::bytes::Bytes, + #[prost(message, optional, tag="2")] + pub remote_address: ::core::option::Option
, +} +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +pub struct Address { + #[prost(string, tag="1")] + pub host: ::prost::alloc::string::String, + #[prost(uint32, tag="2")] + pub port: u32, +} +// @@protoc_insertion_point(module)