Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
427 changes: 350 additions & 77 deletions Cargo.lock

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
4 changes: 2 additions & 2 deletions mitmproxy-contentviews/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
4 changes: 2 additions & 2 deletions mitmproxy-highlight/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
6 changes: 3 additions & 3 deletions mitmproxy-linux/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand Down
4 changes: 2 additions & 2 deletions mitmproxy-rs/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"] }
Expand Down
2 changes: 1 addition & 1 deletion mitmproxy-windows/redirector/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
100 changes: 100 additions & 0 deletions src/ipc/mitmproxy_ipc/mitmproxy_ipc.rs
Original file line number Diff line number Diff line change
@@ -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<TunnelInfo>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TunnelInfo {
#[prost(uint32, optional, tag="1")]
pub pid: ::core::option::Option<u32>,
#[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<from_proxy::Message>,
}
/// 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, <https://github.com/mitmproxy/mitmproxy_rs/pull/227.>
#[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, <https://github.com/mitmproxy/mitmproxy_rs/pull/227.>
#[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, <https://github.com/mitmproxy/mitmproxy_rs/pull/227.>
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct NewFlow {
#[prost(oneof="new_flow::Message", tags="1, 2")]
pub message: ::core::option::Option<new_flow::Message>,
}
/// 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, <https://github.com/mitmproxy/mitmproxy_rs/pull/227.>
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TcpFlow {
#[prost(message, optional, tag="1")]
pub remote_address: ::core::option::Option<Address>,
#[prost(message, optional, tag="2")]
pub tunnel_info: ::core::option::Option<TunnelInfo>,
}
/// ⚠️ Bump network extension version on changes, <https://github.com/mitmproxy/mitmproxy_rs/pull/227.>
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UdpFlow {
#[prost(message, optional, tag="1")]
pub local_address: ::core::option::Option<Address>,
#[prost(message, optional, tag="3")]
pub tunnel_info: ::core::option::Option<TunnelInfo>,
}
#[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<Address>,
}
#[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)
Loading