impl commander for invasion
This commit is contained in:
parent
d467f62400
commit
0c2b3a351d
@ -15,4 +15,4 @@ toml = "0.7.2"
|
|||||||
serde = "1.0.152"
|
serde = "1.0.152"
|
||||||
tokio-openssl = "0.6.3"
|
tokio-openssl = "0.6.3"
|
||||||
colored = "2"
|
colored = "2"
|
||||||
socks = "0.3.4"
|
socks = "0.3.4"
|
||||||
|
35
README.md
35
README.md
@ -1,6 +1,39 @@
|
|||||||
# G.1.R - GARBAGE INTERNET ROBOT
|
# G.1.R - GARBAGE INTERNET ROBOT
|
||||||
|
|
||||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
```
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣤⣴⣿⣿⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⠶⣻⡿⠛⠁⠀⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣠⣤⣤⣤⡤⠤⢤⣤⣤⣤⣤⣀⣀⣠⡶⢋⣡⡾⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⢰⡿⠛⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠛⠻⠿⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠳⣦⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠒⠀⠙⢷⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡌⠀⠀⠀⠁⢙⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⠁⠀⠀⠀⠀⣸⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⢀⡀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⠀⠀⠀⠀⠀⠉⠀⠀⠀⠀⢀⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⢀⣾⠛⠻⣿⢶⣤⣀⣿⠀⠀⠀⠀⠀⠀⠀⣀⡴⠖⠋⠉⠉⠉⠛⠳⣦⡀⠀⠀⠀⠀⠀⠀⣼⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⣸⠇⠀⠀⠹⡆⠘⡟⠻⣶⣄⠀⠀⠀⢀⡼⠋⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣆⠀⠀⠀⠀⢰⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⣿⠀⠀⠀⠀⢧⠀⢿⡀⢹⠈⣧⠀⠀⡼⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⡄⠀⠀⠀⣾⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⣿⠀⠀⠀⠀⢸⠀⢸⠇⣾⠀⡿⠀⢀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⣸⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⢻⡆⠀⠀⠀⣼⠀⡿⢠⡏⣸⠃⠀⠀⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣁⡄⢠⣿⣄⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠈⢷⡀⠀⣰⠃⣸⣣⡾⣿⠁⠀⠀⠀⠘⢧⡀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡼⠛⠁⠀⣼⣷⣾⣭⣭⣛⡓⠶⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠈⠻⠾⠿⠛⠉⠁⠀⠸⣧⡀⠀⠀⠀⠈⠙⢦⣀⡀⠀⠀⠀⣀⡴⠋⠀⠀⠀⣰⣿⣿⡏⢩⠉⢻⣿⣿⣶⣬⣙⠳⣦⣀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠳⣄⡀⠀⠰⠖⠋⠉⠉⠉⠉⡉⠁⠀⠀⠀⠀⣴⣿⣿⣿⣷⣾⣤⣿⣿⣿⡿⠿⠛⠃⠀⢻⡆⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠦⣄⣀⡀⠀⠀⠀⠀⠙⠀⠀⣀⣴⣿⣿⣿⣿⡿⠿⠛⠛⠉⠁⠀⠀⠀⠀⢀⣠⠼⠷⠤⢤⣄⡀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣏⠙⢿⣶⣶⣟⣹⡿⠿⠛⠛⠉⢁⣀⣀⣀⣀⡤⠀⠀⠀⠀⠀⡴⠋⠀⠀⠀⠀⠀⠈⠻⣆
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣽⡷⢾⣿⡯⠽⠶⢶⠒⠛⠛⣿⠛⠉⠉⠉⠉⠻⡀⠀⠀⠀⣼⠁⠀⠀⠀⠀⠀⠀⠀⠀⢻
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⢞⡁⢀⡼⢹⡇⠀⢀⣿⣦⡀⢰⡏⠀⠀⠀⠀⠀⠀⠙⡆⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠃⠀⣿
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠻⢧⣿⣣⡟⡗⢸⠀⠀⢸⣿⣿⣿⣾⠀⠀⠀⠀⠀⠀⠀⠀⠘⠀⠀⢻⡀⠀⠀⠀⠀⠀⠀⢀⣾⠃
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⠃⢹⢷⠃⢸⠀⠀⢸⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⢠⠇⠀⠀⠀⠙⠦⣄⣀⣀⣤⡶⠟⠁⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⠇⠀⢸⣀⡇⢸⠀⠀⠸⣿⣿⣿⣽⠀⠀⠀⠀⠀⠀⣠⠏⠀⠀⠀⠀⠀⠀⠀⠀⣸⡟⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⡀⠀⢸⣧⡀⢸⠀⠀⠀⠈⠛⠋⣿⠀⣠⡾⠁⠀⡰⠃⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⠁⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣤⣘⠛⠛⠋⠀⠀⠀⠀⠀⠀⣿⡾⠋⠀⠀⠘⠁⠀⠀⠀⠀⠀⠀⠀⠀⣀⣾⠃⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⣿⣿⣿⡟⠒⣶⣶⣤⣤⣿⠁⠀⠀⠀⠀⠀⠀⠀⢀⣀⣠⣤⠶⠟⠛⠁⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⣿⣷⠀⠸⣿⣿⣿⣯⠙⠛⠲⠶⠶⠶⣾⣟⠛⠉⠁⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⡿⠀⠀⠙⣿⣿⣿⠀⠀⠀⠀⠀⠀⠙⠿⠿⠶⠶⠶⠶⠶⠾⠟⠋⠀⠀⠀⠀⠀
|
||||||
|
```
|
||||||
|
|
||||||
|
# FEATURES
|
||||||
|
|
||||||
|
|
||||||
# TODO
|
# TODO
|
||||||
- [ ] multi server
|
- [ ] multi server
|
||||||
|
@ -2,7 +2,7 @@ nick = "g1r"
|
|||||||
server = "ircd.chat"
|
server = "ircd.chat"
|
||||||
port = 6697
|
port = 6697
|
||||||
password = ""
|
password = ""
|
||||||
channels = [ "#tcpdirect", "#macros" ]
|
channels = [ "#tcpdirect", "#macros", "#b0tsh0p" ]
|
||||||
admin_users = ["s4d", "s4d[m]"]
|
admin_users = ["s4d", "s4d[m]"]
|
||||||
ignore_users = ["maple", "aibird", "professorOak", "van"]
|
ignore_users = ["maple", "aibird", "professorOak", "van"]
|
||||||
openai = "sk-"
|
openai = "sk-"
|
||||||
@ -11,3 +11,4 @@ accents = "funny, completely insane, and hyperactive"
|
|||||||
personalities = "GIR from Invader Zim"
|
personalities = "GIR from Invader Zim"
|
||||||
# INVADER SETTINGS
|
# INVADER SETTINGS
|
||||||
invaders = ["d1b", "z1m", "t4k", "m3mbr4n3", "g4z", "4l4n", "m1yuk1", "purpl3", "r3d", "5p0rk", "t3nn", "l4rb", "ch1nn", "d00ky", "3l", "fl0rb3", "g00ch", "gr4p4", "gr00t", "k00t", "k1m", "krunk", "l4dn4r", "n3n", "p3st0", "p00t"]
|
invaders = ["d1b", "z1m", "t4k", "m3mbr4n3", "g4z", "4l4n", "m1yuk1", "purpl3", "r3d", "5p0rk", "t3nn", "l4rb", "ch1nn", "d00ky", "3l", "fl0rb3", "g00ch", "gr4p4", "gr00t", "k00t", "k1m", "krunk", "l4dn4r", "n3n", "p3st0", "p00t"]
|
||||||
|
proxy_list = "./proxies.txt"
|
78
proxies.txt
Normal file
78
proxies.txt
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
184.185.2.12:4145
|
||||||
|
174.138.33.62:59166
|
||||||
|
206.220.175.2:4145
|
||||||
|
96.126.113.216:59166
|
||||||
|
205.240.77.164:4145
|
||||||
|
174.75.211.222:4145
|
||||||
|
72.210.252.137:4145
|
||||||
|
192.111.129.145:16894
|
||||||
|
68.71.254.6:4145
|
||||||
|
159.203.13.82:59166
|
||||||
|
107.170.81.141:59166
|
||||||
|
159.65.220.89:59166
|
||||||
|
192.241.143.216:59166
|
||||||
|
149.56.247.67:59166
|
||||||
|
157.245.223.201:59166
|
||||||
|
203.57.114.228:59166
|
||||||
|
192.111.135.18:18301
|
||||||
|
192.252.216.81:4145
|
||||||
|
68.183.90.210:59166
|
||||||
|
123.171.245.162:1080
|
||||||
|
72.195.34.58:4145
|
||||||
|
208.111.40.144:59166
|
||||||
|
98.162.25.29:31679
|
||||||
|
192.252.214.20:15864
|
||||||
|
95.213.228.10:59166
|
||||||
|
142.93.77.151:59166
|
||||||
|
72.195.114.169:4145
|
||||||
|
192.111.135.17:18302
|
||||||
|
75.119.157.170:59166
|
||||||
|
75.127.13.195:59166
|
||||||
|
167.71.10.234:59166
|
||||||
|
51.255.219.244:59166
|
||||||
|
51.178.82.49:59166
|
||||||
|
184.178.172.14:4145
|
||||||
|
68.71.247.130:4145
|
||||||
|
192.111.137.37:18762
|
||||||
|
176.58.125.165:59166
|
||||||
|
205.186.162.190:59166
|
||||||
|
47.243.95.228:10080
|
||||||
|
142.54.228.193:4145
|
||||||
|
168.196.160.61:59166
|
||||||
|
138.68.124.120:59166
|
||||||
|
174.138.63.144:59166
|
||||||
|
74.119.147.209:4145
|
||||||
|
68.183.20.254:59166
|
||||||
|
67.205.181.126:59166
|
||||||
|
139.144.31.132:59166
|
||||||
|
159.89.49.172:59166
|
||||||
|
43.226.26.120:59166
|
||||||
|
23.253.253.26:59166
|
||||||
|
206.189.157.253:59166
|
||||||
|
184.170.248.5:4145
|
||||||
|
159.203.78.174:59166
|
||||||
|
46.101.37.189:59166
|
||||||
|
184.170.249.65:4145
|
||||||
|
192.111.137.34:18765
|
||||||
|
167.71.190.131:59166
|
||||||
|
174.64.199.79:4145
|
||||||
|
184.178.172.25:15291
|
||||||
|
45.79.46.53:59166
|
||||||
|
40.87.45.45:59166
|
||||||
|
199.58.184.97:4145
|
||||||
|
198.8.94.170:4145
|
||||||
|
192.252.208.67:14287
|
||||||
|
184.170.245.148:4145
|
||||||
|
69.164.224.53:59166
|
||||||
|
68.71.249.153:48606
|
||||||
|
143.198.229.170:59166
|
||||||
|
165.227.153.96:59166
|
||||||
|
192.252.220.89:4145
|
||||||
|
138.197.185.192:59166
|
||||||
|
151.80.45.47:59166
|
||||||
|
69.194.181.6:7497
|
||||||
|
170.210.156.33:59166
|
||||||
|
209.94.62.123:59166
|
||||||
|
198.8.94.174:39078
|
||||||
|
184.178.172.23:4145
|
||||||
|
72.221.232.155:4145
|
@ -14,7 +14,7 @@ mod modules {
|
|||||||
pub mod ai;
|
pub mod ai;
|
||||||
pub mod invade;
|
pub mod invade;
|
||||||
pub mod test;
|
pub mod test;
|
||||||
pub mod ai_invade;
|
//pub mod ai_invade;
|
||||||
}
|
}
|
||||||
|
|
||||||
use modules::ai::Ai; // FIX THIS BS
|
use modules::ai::Ai; // FIX THIS BS
|
||||||
|
@ -38,6 +38,7 @@ impl Command for InvadeCommand {
|
|||||||
let thread_invader = invader.to_string();
|
let thread_invader = invader.to_string();
|
||||||
let config_clone = config.clone();
|
let config_clone = config.clone();
|
||||||
let screaming = scream.to_string();
|
let screaming = scream.to_string();
|
||||||
|
let command_channel = channel.to_string();
|
||||||
|
|
||||||
std::thread::spawn(move || {
|
std::thread::spawn(move || {
|
||||||
let stream = TcpStream::connect((config_clone.server.as_str(), config_clone.port)).unwrap();
|
let stream = TcpStream::connect((config_clone.server.as_str(), config_clone.port)).unwrap();
|
||||||
@ -48,6 +49,8 @@ impl Command for InvadeCommand {
|
|||||||
ssl_stream.write_all(nick_command.as_bytes()).unwrap();
|
ssl_stream.write_all(nick_command.as_bytes()).unwrap();
|
||||||
ssl_stream.write_all(user_command.as_bytes()).unwrap();
|
ssl_stream.write_all(user_command.as_bytes()).unwrap();
|
||||||
let join_command = format!("JOIN {} \r\n", thread_channel);
|
let join_command = format!("JOIN {} \r\n", thread_channel);
|
||||||
|
let commander = format!("JOIN {} \r\n", command_channel);
|
||||||
|
ssl_stream.write_all(commander.as_bytes()).unwrap();
|
||||||
ssl_stream.write_all(join_command.as_bytes()).unwrap();
|
ssl_stream.write_all(join_command.as_bytes()).unwrap();
|
||||||
let msg = format!("PRIVMSG {} :{}\r\n", thread_channel, screaming);
|
let msg = format!("PRIVMSG {} :{}\r\n", thread_channel, screaming);
|
||||||
ssl_stream.write_all(msg.as_bytes()).unwrap();
|
ssl_stream.write_all(msg.as_bytes()).unwrap();
|
||||||
@ -71,10 +74,28 @@ impl Command for InvadeCommand {
|
|||||||
println!("{} {}","[%] PONG:".bold().green(), thread_invader.blue());
|
println!("{} {}","[%] PONG:".bold().green(), thread_invader.blue());
|
||||||
ssl_stream.write_all(response.as_bytes()).unwrap();
|
ssl_stream.write_all(response.as_bytes()).unwrap();
|
||||||
}
|
}
|
||||||
if message.contains("PRIVMSG") && message.contains(":%%fuck") {
|
// setup so these will only run from the commander
|
||||||
let response = format!("PRIVMSG {} :FUCKFUCKFUCK\r\n", thread_channel);
|
if message.contains("PRIVMSG") && message.contains(":%%join") {
|
||||||
|
let parts: Vec<&str> = message.splitn(3, ":%%join ").collect();
|
||||||
|
let invade_channel = parts[1];
|
||||||
|
let response = format!("JOIN {} \r\n", invade_channel);
|
||||||
ssl_stream.write_all(response.as_bytes()).unwrap();
|
ssl_stream.write_all(response.as_bytes()).unwrap();
|
||||||
}
|
}
|
||||||
|
if message.contains("PRIVMSG") && message.contains(":%%leave") {
|
||||||
|
let parts: Vec<&str> = message.splitn(3, ":%%leave ").collect();
|
||||||
|
let invade_channel = parts[1];
|
||||||
|
let response = format!("PART {} \r\n", invade_channel);
|
||||||
|
ssl_stream.write_all(response.as_bytes()).unwrap();
|
||||||
|
}
|
||||||
|
if message.contains("PRIVMSG") && message.contains(":%%scream") {
|
||||||
|
let parts: Vec<&str> = message.splitn(3, ":%%scream ").collect();
|
||||||
|
let invade_channel = parts[1];
|
||||||
|
if parts.len() == 2 {
|
||||||
|
let scream = parts[1];
|
||||||
|
let response = format!("PRIVMSG {} :{}\r\n", invade_channel, scream);
|
||||||
|
ssl_stream.write_all(response.as_bytes()).unwrap();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
eprintln!("{} {}","[!] ERROR FROM SERVER:".on_red(), e);
|
eprintln!("{} {}","[!] ERROR FROM SERVER:".on_red(), e);
|
||||||
|
Loading…
Reference in New Issue
Block a user