buf sizes changes and socks5 remove to rawcast
This commit is contained in:
+8
-40
@@ -6,9 +6,8 @@ mod tun;
|
||||
use crate::tun::{routing::reset_platform_routing, tun::Tun};
|
||||
use net::engine::{EngineBuilder, EngineConfig};
|
||||
|
||||
// Импортируем компоненты локального прокси
|
||||
use netrunner_core::net::ConnectionRole;
|
||||
use netrunner_core::net::network::Network;
|
||||
// Импортируем глобальный конфиг сети
|
||||
use netrunner_core::net::network::NetworkConfig;
|
||||
use tokio_util::sync::CancellationToken;
|
||||
|
||||
#[tokio::main]
|
||||
@@ -17,45 +16,18 @@ async fn main() -> anyhow::Result<()> {
|
||||
info!("Initializing NetRunner Stack...");
|
||||
|
||||
let remote_address = "147.45.43.70:443".to_string();
|
||||
let local_proxy_host = "127.0.0.1".to_string();
|
||||
let local_proxy_port = 8080; // Локальный порт прокси
|
||||
|
||||
// Токен для управления жизненным циклом фоновых задач
|
||||
let cancel_token = CancellationToken::new();
|
||||
|
||||
// ==================================================
|
||||
// 1. ЗАПУСК ЛОКАЛЬНОГО ПРОКСИ (NETWORK)
|
||||
// ==================================================
|
||||
let proxy_token = cancel_token.clone();
|
||||
let remote_addr_clone = remote_address.clone();
|
||||
|
||||
tokio::spawn(async move {
|
||||
info!(
|
||||
"Starting Local Proxy (Network) on {}:{}",
|
||||
local_proxy_host, local_proxy_port
|
||||
);
|
||||
let network = Network::new(
|
||||
local_proxy_host,
|
||||
local_proxy_port,
|
||||
ConnectionRole::Client,
|
||||
Some(remote_addr_clone),
|
||||
);
|
||||
|
||||
// Эта функция заблокирует поток, пока не сработает proxy_token
|
||||
network.run(proxy_token).await;
|
||||
info!("Local Proxy (Network) task stopped.");
|
||||
});
|
||||
|
||||
// Даем локальному прокси немного времени на бинд порта и установку соединения
|
||||
tokio::time::sleep(tokio::time::Duration::from_millis(100)).await;
|
||||
|
||||
// ==================================================
|
||||
// 2. ИНИЦИАЛИЗАЦИЯ ДВИЖКА И TUN
|
||||
// 1. ИНИЦИАЛИЗАЦИЯ ДВИЖКА И TUN
|
||||
// ==================================================
|
||||
let config = EngineConfig::new(&remote_address)
|
||||
.with_cache_path(".")
|
||||
.with_mtu(1350);
|
||||
|
||||
// ВАЖНО: Инициализируем глобальные настройки сети (MTU, размеры буферов Muxer'а)
|
||||
NetworkConfig::init_global(config.mtu);
|
||||
|
||||
let tun_device = Tun::create(|tun_cfg| {
|
||||
tun_cfg
|
||||
.tun_name("netr0")
|
||||
@@ -75,7 +47,7 @@ async fn main() -> anyhow::Result<()> {
|
||||
.await;
|
||||
|
||||
// ==================================================
|
||||
// 3. ГЛАВНЫЙ ЦИКЛ ENGINE
|
||||
// 2. ГЛАВНЫЙ ЦИКЛ ENGINE
|
||||
// ==================================================
|
||||
match builder_result {
|
||||
Ok((mut engine, tun)) => {
|
||||
@@ -87,7 +59,6 @@ async fn main() -> anyhow::Result<()> {
|
||||
},
|
||||
_ = tokio::signal::ctrl_c() => {
|
||||
info!("Ctrl+C received, shutting down...");
|
||||
// Отменяем токен, чтобы Network.run завершился
|
||||
cancel_token.cancel();
|
||||
}
|
||||
}
|
||||
@@ -99,7 +70,7 @@ async fn main() -> anyhow::Result<()> {
|
||||
}
|
||||
|
||||
// ==================================================
|
||||
// 4. ОЧИСТКА РОУТИНГА
|
||||
// 3. ОЧИСТКА РОУТИНГА
|
||||
// ==================================================
|
||||
info!("Restoring system routing...");
|
||||
let addr: std::net::SocketAddr = remote_address.parse().expect("Invalid address format");
|
||||
@@ -111,8 +82,5 @@ async fn main() -> anyhow::Result<()> {
|
||||
info!("System routing restored successfully.");
|
||||
}
|
||||
|
||||
// Даем таске Network время на graceful shutdown (чтобы сокеты успели закрыться)
|
||||
tokio::time::sleep(tokio::time::Duration::from_millis(100)).await;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user