modified: Cargo.lock
Some checks failed
gitea/Frida-android-native/pipeline/head There was a failure building this commit

modified:   Cargo.toml
	modified:   src/client.rs
This commit is contained in:
Michael Wain 2024-10-08 17:30:27 +03:00
parent defb019000
commit 89747b349d
3 changed files with 17 additions and 5 deletions

10
Cargo.lock generated
View File

@ -695,6 +695,7 @@ dependencies = [
"jni 0.20.0", "jni 0.20.0",
"log", "log",
"network-interface", "network-interface",
"nonblock",
"packet", "packet",
"rand", "rand",
"robusta_jni", "robusta_jni",
@ -1271,6 +1272,15 @@ dependencies = [
"minimal-lexical", "minimal-lexical",
] ]
[[package]]
name = "nonblock"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "51c7a4f22e5f2e2bd805d6ab56f1ae87eb1815673e1b452048896fb687a8a3d4"
dependencies = [
"libc",
]
[[package]] [[package]]
name = "num-traits" name = "num-traits"
version = "0.2.19" version = "0.2.19"

View File

@ -35,9 +35,10 @@ base64 = "0.22.1"
chrono = "0.4.38" chrono = "0.4.38"
console-subscriber = "0.4.0" console-subscriber = "0.4.0"
network-interface = "2.0.0" network-interface = "2.0.0"
fast32 = "1.0.2"
[target.'cfg(target_os="android")'.dependencies] [target.'cfg(target_os="android")'.dependencies]
jni = "^0.20" jni = "^0.20"
robusta_jni = "0.2.2" robusta_jni = "0.2.2"
android_logger = "0.14.1" android_logger = "0.14.1"
nonblock = "0.2.0"
fast32 = "1.0.2"

View File

@ -1,6 +1,6 @@
use crossbeam_channel::unbounded; use crossbeam_channel::unbounded;
use socket2::SockAddr; use socket2::SockAddr;
use tokio::{net::UdpSocket, sync::Mutex}; use tokio::{net::UdpSocket, sync::Mutex, io::BufReader, io::BufWriter};
use base64::prelude::*; use base64::prelude::*;
use log::{error, info, warn}; use log::{error, info, warn};
use std::sync::Arc; use std::sync::Arc;
@ -8,7 +8,7 @@ use std::net::Ipv4Addr;
use x25519_dalek::{PublicKey, StaticSecret}; use x25519_dalek::{PublicKey, StaticSecret};
use std::{ use std::{
fs::File, fs::File,
io::{self, Read, Write, BufReader, BufWriter}, io::{self, Read, Write},
net::SocketAddr, net::SocketAddr,
process::Command, process::Command,
os::unix::io::FromRawFd, os::unix::io::FromRawFd,
@ -50,7 +50,8 @@ pub async fn client_mode(client_config: ClientConfiguration, fd: i32, env: &JNIE
tokio::spawn(async move { tokio::spawn(async move {
while let Ok(bytes) = rx.recv() { while let Ok(bytes) = rx.recv() {
lltx.send("Write to tun.".as_bytes().to_vec()); lltx.send("Write to tun.".as_bytes().to_vec());
dev_writer.write_all(&bytes).unwrap(); dev_writer.write_all(&bytes).await;
dev_writer.flush().await;
} }
}); });