允许自定义用户名前缀

This commit is contained in:
lim114514
2025-01-25 10:52:55 +08:00
parent 0fe86415ce
commit 50b000604f
3 changed files with 29 additions and 17 deletions

1
.gitignore vendored
View File

@@ -1 +1,2 @@
/target
/.idea

View File

@@ -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<Mutex<()>>) -> () {
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<Mutex<()>>) -> () {
}
}
}
// 生成一个随机的用户名
// 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()
}

View File

@@ -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()
}