From 50b000604fcf63f8186911b0c11b9c3c8cce024a Mon Sep 17 00:00:00 2001 From: lim114514 <1941068@qq.com> Date: Sat, 25 Jan 2025 10:52:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=81=E8=AE=B8=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=90=8D=E5=89=8D=E7=BC=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + src/main.rs | 25 ++++++++----------------- src/utils.rs | 20 ++++++++++++++++++++ 3 files changed, 29 insertions(+), 17 deletions(-) diff --git a/.gitignore b/.gitignore index ea8c4bf..d81f12e 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /target +/.idea diff --git a/src/main.rs b/src/main.rs index 7671ad2..c9e2bbb 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,19 +3,21 @@ mod bot_socks5; mod utils; -use tokio::sync::Mutex; +use rand::Rng; +use reqwest; +use serde_json::Value; use std::sync::Arc; use std::thread; -use rand::Rng; -use rand::distributions::Alphanumeric; -use serde_json::Value; -use reqwest; +use tokio::sync::Mutex; +use crate::utils::generate_username; // 目标的ip地址(暂时不能解析dns) // 理论上你可以把它改成任何支持1.20.1的服务器 const SERVER_ADDR: &str = "49.70.3.146:33009"; // uu代理的api(用来实时获取代理) const UU_URL: &str = "http://uu-proxy.com/api/get_proxies?id=RZ7GS5ZYTA&size=1&schemes=socks5&support_https=false&format=json"; +// 用户名的开头 +const USERNAME_PREFIX: &str = "Nikke_"; // 2 3 3 #[tokio::main] async fn main() { @@ -71,7 +73,7 @@ async fn attack_thread(lock: Arc>) -> () { let proxy_list: Value = serde_json::from_str(&resp.text().await.unwrap()).unwrap(); let proxy = &proxy_list["proxies"].as_array().unwrap()[0]; - let username = generate_string(); + let username = generate_username(); // 这里用来标记是否需要重启 let mut flag = true; @@ -102,14 +104,3 @@ async fn attack_thread(lock: Arc>) -> () { } } } - -// 生成一个随机的用户名 -// author: 通义 -fn generate_string() -> String { - let mut rng = rand::thread_rng(); - let len = rng.gen_range(5..=10); - rng.sample_iter(&Alphanumeric) - .take(len) - .map(char::from) - .collect() -} \ No newline at end of file diff --git a/src/utils.rs b/src/utils.rs index 73327b4..365e70c 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -1,5 +1,10 @@ // 一些杂七杂八的小东西可以放在这 +use rand::distributions::Alphanumeric; +use rand::Rng; +use reqwest; +use crate::USERNAME_PREFIX; + // 处理json组件(有些TextComponent里面一堆extra看的我头皮发麻,所以整个这个) pub fn parse_json_component(json: &str) -> String { let data: serde_json::Value = serde_json::from_str(json).unwrap(); @@ -36,4 +41,19 @@ pub fn parse_json_component(json: &str) -> String { None => {} } return res; +} + +// 生成一个随机的用户名 +// author: 通义 +fn generate_string() -> String { + let mut rng = rand::thread_rng(); + let len = rng.gen_range(5..=10); + rng.sample_iter(&Alphanumeric) + .take(len) + .map(char::from) + .collect() +} + +pub fn generate_username() -> String { + USERNAME_PREFIX.to_string() + &*generate_string().to_string() } \ No newline at end of file