允许自定义用户名前缀
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1 +1,2 @@
|
||||
/target
|
||||
/.idea
|
||||
|
||||
25
src/main.rs
25
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<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()
|
||||
}
|
||||
20
src/utils.rs
20
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();
|
||||
@@ -37,3 +42,18 @@ pub fn parse_json_component(json: &str) -> String {
|
||||
}
|
||||
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()
|
||||
}
|
||||
Reference in New Issue
Block a user