linux-monster 1.4.6__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- linux_monster/__init__.py +2 -0
- linux_monster/data/__init__.py +0 -0
- linux_monster/data/facebook.json +6 -0
- linux_monster/data/generate.py +133 -0
- linux_monster/data/google.json +10 -0
- linux_monster/data/memory.py +98 -0
- linux_monster/data/proxy.txt +155 -0
- linux_monster/data/settings.json +7 -0
- linux_monster/data/temps.txt +1 -0
- linux_monster/main.py +740 -0
- linux_monster/migrate.py +158 -0
- linux_monster/password/__init__.py +0 -0
- linux_monster/password/passwords.txt +999998 -0
- linux_monster/password/shade.txt +147 -0
- linux_monster/server.py +53 -0
- linux_monster-1.4.6.dist-info/METADATA +270 -0
- linux_monster-1.4.6.dist-info/RECORD +21 -0
- linux_monster-1.4.6.dist-info/WHEEL +5 -0
- linux_monster-1.4.6.dist-info/entry_points.txt +5 -0
- linux_monster-1.4.6.dist-info/licenses/LICENSE +674 -0
- linux_monster-1.4.6.dist-info/top_level.txt +1 -0
|
File without changes
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import sys
|
|
3
|
+
import time
|
|
4
|
+
import random
|
|
5
|
+
import subprocess
|
|
6
|
+
|
|
7
|
+
red = '\033[1;31m'
|
|
8
|
+
blue = '\033[1;36m'
|
|
9
|
+
purple = '\033[2;35m'
|
|
10
|
+
yellow = '\033[1;33m'
|
|
11
|
+
green = '\033[1;32m'
|
|
12
|
+
plain = '\033[1;0m'
|
|
13
|
+
|
|
14
|
+
class generate:
|
|
15
|
+
def __init__(self,*args):
|
|
16
|
+
self.keywords = list(args)
|
|
17
|
+
|
|
18
|
+
def process_data(self):
|
|
19
|
+
data_str = list()
|
|
20
|
+
data_int = None
|
|
21
|
+
for data in self.keywords:
|
|
22
|
+
if isinstance(data, str):
|
|
23
|
+
if ':' in data:
|
|
24
|
+
parts = data.split(':')
|
|
25
|
+
if len(parts) == 3:
|
|
26
|
+
try:
|
|
27
|
+
day, month, year, full_year = (parts[0]), (parts[1]), (parts[2][-2:]), parts[2]
|
|
28
|
+
data_int = [day,month,year,full_year]
|
|
29
|
+
except ValueError:
|
|
30
|
+
sys.stderr.write(f'Error parsing {parts}')
|
|
31
|
+
pass
|
|
32
|
+
else:
|
|
33
|
+
data_str.append(data)
|
|
34
|
+
|
|
35
|
+
return data_str, data_int
|
|
36
|
+
|
|
37
|
+
def password_total(self):
|
|
38
|
+
total = 0
|
|
39
|
+
str_data, int_data = self.process_data()
|
|
40
|
+
for each in str_data:
|
|
41
|
+
total += len(each)
|
|
42
|
+
|
|
43
|
+
return total * 21
|
|
44
|
+
|
|
45
|
+
def write_password(self):
|
|
46
|
+
str_data,int_data = self.process_data()
|
|
47
|
+
special_chars = ['@','&','!','#','*','.','$']
|
|
48
|
+
|
|
49
|
+
data = random.choice(str_data)
|
|
50
|
+
if isinstance(data, str):
|
|
51
|
+
init_chars = ''.join(random.choice([char.upper(), char.lower()]) for char in data)
|
|
52
|
+
spec_chars = random.choice(special_chars)
|
|
53
|
+
if int_data != None:
|
|
54
|
+
birth_data = random.choice(list(int_data))
|
|
55
|
+
format_ = [
|
|
56
|
+
f'{init_chars}{spec_chars}',
|
|
57
|
+
f'{init_chars}{birth_data}',
|
|
58
|
+
f'{spec_chars}{init_chars}{birth_data}',
|
|
59
|
+
f'{init_chars}{spec_chars}{birth_data}'
|
|
60
|
+
]
|
|
61
|
+
else:
|
|
62
|
+
format_ =[
|
|
63
|
+
f'{init_chars}{spec_chars}',
|
|
64
|
+
f'{spec_chars}{init_chars}'
|
|
65
|
+
]
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
return random.choice(format_)
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
banner = f'''
|
|
72
|
+
{blue}
|
|
73
|
+
Take keywords, return a password
|
|
74
|
+
. .
|
|
75
|
+
,-| . ,-. |- . ,-. ,-. ,-. ,-. . .
|
|
76
|
+
| | | | | | | | | | ,-| | | |
|
|
77
|
+
`-^ ' `-' `' ' `-' ' ' `-^ ' `-|
|
|
78
|
+
/|
|
|
79
|
+
`-'
|
|
80
|
+
Entering a full date of birth should
|
|
81
|
+
be in this format >>> Day:Month:Year
|
|
82
|
+
|
|
83
|
+
{yellow}
|
|
84
|
+
Note :
|
|
85
|
+
You can enter help | exit when necessary
|
|
86
|
+
{plain}
|
|
87
|
+
'''
|
|
88
|
+
os.system('cls' if os.name == 'nt' else 'clear')
|
|
89
|
+
def take_keywords():
|
|
90
|
+
print(banner)
|
|
91
|
+
keywords_collected = set()
|
|
92
|
+
i = 0
|
|
93
|
+
while i >= 0:
|
|
94
|
+
value = input("Keyword >>> ").lower()
|
|
95
|
+
value = value.strip()
|
|
96
|
+
if value != "" and value != 'help' and value != 'exit':
|
|
97
|
+
keywords_collected.add(value)
|
|
98
|
+
i += 1
|
|
99
|
+
elif value == 'help':
|
|
100
|
+
subprocess.run(['xdg-open','https://github.com/harkerbyte'])
|
|
101
|
+
elif value == 'exit':
|
|
102
|
+
break
|
|
103
|
+
else:
|
|
104
|
+
if not len(keywords_collected) <= 0:
|
|
105
|
+
file = input(f'\n{purple}Name the dictionary : {plain}').strip()
|
|
106
|
+
if '.' in file:
|
|
107
|
+
file,ext = file.split('.')
|
|
108
|
+
|
|
109
|
+
file = f'{file}.txt'
|
|
110
|
+
|
|
111
|
+
if not os.path.exists(f'password/{file}'):
|
|
112
|
+
collect_passwords = set()
|
|
113
|
+
generator = generate(*keywords_collected)
|
|
114
|
+
total_returnee = generator.password_total()
|
|
115
|
+
while len(collect_passwords) < total_returnee:
|
|
116
|
+
f_password = generator.write_password()
|
|
117
|
+
print(f'{yellow}Retrieved {f_password}{plain}')
|
|
118
|
+
collect_passwords.add(f_password)
|
|
119
|
+
i += 1
|
|
120
|
+
|
|
121
|
+
parse_dict = list(collect_passwords)
|
|
122
|
+
save_to = open(f'password/{file}', 'a')
|
|
123
|
+
for data in parse_dict:
|
|
124
|
+
save_to.write(f'{data}\n')
|
|
125
|
+
|
|
126
|
+
print(f'{green}Dictionary saved >>> password/{file}{plain}')
|
|
127
|
+
break
|
|
128
|
+
|
|
129
|
+
sys.stderr.write(f'{red}{file} already exists{plain}')
|
|
130
|
+
break
|
|
131
|
+
|
|
132
|
+
if __name__ == '__main__':
|
|
133
|
+
take_keywords()
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import json
|
|
3
|
+
|
|
4
|
+
green = '\033[2;32m'
|
|
5
|
+
plain = '\033[2;0m'
|
|
6
|
+
|
|
7
|
+
base_dir = os.path.dirname(os.path.abspath(__file__))
|
|
8
|
+
def write_json(value):
|
|
9
|
+
if not os.path.exists(value):
|
|
10
|
+
init = open(value, 'w')
|
|
11
|
+
init.write('{}')
|
|
12
|
+
init.close()
|
|
13
|
+
return ['completed']
|
|
14
|
+
return True
|
|
15
|
+
|
|
16
|
+
class memory:
|
|
17
|
+
def __init__(self,target,type_,last_checked,dict_path):
|
|
18
|
+
self.target, self.type_ = target, type_
|
|
19
|
+
self.last_checked, self.dict_path = last_checked, dict_path
|
|
20
|
+
|
|
21
|
+
def which_path(self):
|
|
22
|
+
google_mem = f'{base_dir}/google.json'
|
|
23
|
+
facebook_mem = f'{base_dir}/facebook.json'
|
|
24
|
+
if self.type_ == 1:
|
|
25
|
+
if write_json(google_mem):
|
|
26
|
+
file = open(google_mem, 'r').readlines()
|
|
27
|
+
if len(file) != 0:
|
|
28
|
+
return google_mem
|
|
29
|
+
#incase google.json had been unknowingly emptied
|
|
30
|
+
init_ = open(google_mem, 'w')
|
|
31
|
+
init_.write('{}')
|
|
32
|
+
init_.close()
|
|
33
|
+
return google_mem
|
|
34
|
+
else:
|
|
35
|
+
if write_json(facebook_mem):
|
|
36
|
+
file = open(facebook_mem, 'r').readlines()
|
|
37
|
+
if len(file) != 0:
|
|
38
|
+
return facebook_mem
|
|
39
|
+
#incase facebook.json had been unknowingly emptied
|
|
40
|
+
init_ = open(facebook_mem, 'w')
|
|
41
|
+
init_.write('{}')
|
|
42
|
+
init_.close()
|
|
43
|
+
return facebook_mem
|
|
44
|
+
|
|
45
|
+
def update_(self):
|
|
46
|
+
path = self.which_path()
|
|
47
|
+
|
|
48
|
+
with open(path, 'r') as memo:
|
|
49
|
+
memory = json.load(memo)
|
|
50
|
+
try:
|
|
51
|
+
memory[self.target]["index"] = self.last_checked
|
|
52
|
+
memory[self.target]["dictionary"] = self.dict_path
|
|
53
|
+
except KeyError:
|
|
54
|
+
frame = {
|
|
55
|
+
"index" : f'{self.last_checked}',
|
|
56
|
+
"dictionary" : f'{self.dict_path}'
|
|
57
|
+
}
|
|
58
|
+
memory.update({f'{self.target}':frame})
|
|
59
|
+
|
|
60
|
+
with open(path, 'w') as save_memory:
|
|
61
|
+
json.dump(memory,save_memory,indent =2)
|
|
62
|
+
save_memory.close()
|
|
63
|
+
|
|
64
|
+
def read_(self):
|
|
65
|
+
path = self.which_path()
|
|
66
|
+
with open(path, 'r') as memo:
|
|
67
|
+
memory = json.load(memo)
|
|
68
|
+
try:
|
|
69
|
+
memory[self.target]
|
|
70
|
+
prev_index = memory[self.target]["index"]
|
|
71
|
+
prev_dict = memory[self.target]["dictionary"]
|
|
72
|
+
if prev_dict == self.dict_path:
|
|
73
|
+
print(f'Resuming from where we last stopped ✅')
|
|
74
|
+
re = open(self.dict_path, 'r')
|
|
75
|
+
index = [line.strip() for line in re.readlines() if line.strip()]
|
|
76
|
+
try:
|
|
77
|
+
return index.index(prev_index)
|
|
78
|
+
except ValueError:
|
|
79
|
+
print('Failed to do so: file content doesn\'t match')
|
|
80
|
+
return None
|
|
81
|
+
return None
|
|
82
|
+
except KeyError:
|
|
83
|
+
return None
|
|
84
|
+
|
|
85
|
+
def terminate_(self):
|
|
86
|
+
path = self.which_path()
|
|
87
|
+
with open(path, 'r') as memo:
|
|
88
|
+
memory = json.load(memo)
|
|
89
|
+
try:
|
|
90
|
+
del memory[self.target]
|
|
91
|
+
with open(path, 'w') as save_rem:
|
|
92
|
+
json.dump(memory, save_rem, indent = 2)
|
|
93
|
+
save_rem.close()
|
|
94
|
+
except KeyError:
|
|
95
|
+
pass
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
83.217.23.34:8090:socks5
|
|
2
|
+
46.226.148.105:15357:socks5
|
|
3
|
+
81.12.157.98:5678:socks5
|
|
4
|
+
8.130.36.245:1449:socks5
|
|
5
|
+
13.126.79.133:3128:socks5
|
|
6
|
+
18.134.236.231:1080:socks5
|
|
7
|
+
8.213.129.15:50001:socks5
|
|
8
|
+
128.199.202.122:3128:socks5
|
|
9
|
+
78.46.225.37:19051:socks5
|
|
10
|
+
180.191.49.99:8082:socks5
|
|
11
|
+
82.129.233.5:1976:socks5
|
|
12
|
+
103.51.21.249:8080:socks5
|
|
13
|
+
0.0.0.0:80:socks5
|
|
14
|
+
35.178.104.4:3128:socks5
|
|
15
|
+
103.58.16.106:4145:socks5
|
|
16
|
+
116.203.15.29:3128:socks5
|
|
17
|
+
16.16.239.39:3128:socks5
|
|
18
|
+
8.211.49.86:8081:socks5
|
|
19
|
+
8.211.200.183:5060:socks5
|
|
20
|
+
103.204.208.208:8080:socks5
|
|
21
|
+
15.207.35.241:80:socks5
|
|
22
|
+
61.118.38.234:60808:socks5
|
|
23
|
+
52.63.129.110:3128:socks5
|
|
24
|
+
181.204.81.178:999:socks5
|
|
25
|
+
176.37.139.137:41890:socks5
|
|
26
|
+
103.151.140.124:17171:socks5
|
|
27
|
+
170.78.211.161:1080:socks5
|
|
28
|
+
8.211.42.167:3128:socks5
|
|
29
|
+
8.211.51.115:84:socks5
|
|
30
|
+
152.32.148.233:3128:socks5
|
|
31
|
+
104.207.52.26:3128:socks5
|
|
32
|
+
104.207.49.160:3128:socks5
|
|
33
|
+
190.119.167.154:5678:socks5
|
|
34
|
+
192.111.135.17:18302:socks5
|
|
35
|
+
8.213.128.6:111:socks5
|
|
36
|
+
103.120.202.53:5678:socks5
|
|
37
|
+
47.88.59.79:82:socks5
|
|
38
|
+
97.74.87.226:80:socks5
|
|
39
|
+
103.189.218.154:1080:socks5
|
|
40
|
+
103.127.223.126:1080:socks5
|
|
41
|
+
45.87.68.17:15321:socks5
|
|
42
|
+
149.129.226.9:9160:socks5
|
|
43
|
+
31.59.33.105:6681:socks5
|
|
44
|
+
41.190.69.38:60606:socks5
|
|
45
|
+
103.152.112.157:80:socks5
|
|
46
|
+
47.252.11.233:9050:socks5
|
|
47
|
+
190.103.177.131:80:socks5
|
|
48
|
+
3.71.239.218:3128:socks5
|
|
49
|
+
45.249.101.65:56457:socks5
|
|
50
|
+
156.228.76.173:3128:socks5
|
|
51
|
+
141.147.66.231:3128:socks5
|
|
52
|
+
83.217.23.36:8090:socks5
|
|
53
|
+
213.16.81.182:35559:socks5
|
|
54
|
+
64.227.120.131:21561:socks5
|
|
55
|
+
110.232.87.251:8080:socks5
|
|
56
|
+
45.128.133.1:1080:socks5
|
|
57
|
+
172.233.155.25:1080:socks5
|
|
58
|
+
185.130.219.10:4153:socks5
|
|
59
|
+
8.213.195.191:3333:socks5
|
|
60
|
+
196.0.111.194:48009:socks5
|
|
61
|
+
212.39.114.139:5678:socks5
|
|
62
|
+
103.156.15.114:3127:socks5
|
|
63
|
+
63.143.57.115:80:socks5
|
|
64
|
+
185.172.214.112:80:socks5
|
|
65
|
+
104.207.58.94:3128:socks5
|
|
66
|
+
156.228.124.129:3128:socks5
|
|
67
|
+
103.86.117.53:1080:socks5
|
|
68
|
+
103.180.203.142:6969:socks5
|
|
69
|
+
162.220.247.232:6827:socks5
|
|
70
|
+
91.107.130.145:11000:socks5
|
|
71
|
+
199.102.105.242:4145:socks5
|
|
72
|
+
95.188.79.3:1080:socks5
|
|
73
|
+
8.220.204.92:3128:socks5
|
|
74
|
+
8.211.195.139:4145:socks5
|
|
75
|
+
195.234.62.51:80:socks5
|
|
76
|
+
68.185.57.66:80:socks5
|
|
77
|
+
47.238.134.126:8081:socks5
|
|
78
|
+
8.213.128.90:8058:socks5
|
|
79
|
+
47.91.89.3:9098:socks5
|
|
80
|
+
156.228.100.140:3128:socks5
|
|
81
|
+
45.179.71.90:3180:socks5
|
|
82
|
+
134.209.76.169:3128:socks5
|
|
83
|
+
8.215.108.194:7777:socks5
|
|
84
|
+
156.228.116.246:3128:socks5
|
|
85
|
+
37.120.188.15:80:socks5
|
|
86
|
+
156.228.84.94:3128:socks5
|
|
87
|
+
158.255.77.166:80:socks5
|
|
88
|
+
44.195.247.145:80:socks5
|
|
89
|
+
103.13.204.89:8083:socks5
|
|
90
|
+
220.81.123.23:48678:socks5
|
|
91
|
+
8.211.194.78:443:socks5
|
|
92
|
+
52.196.1.182:80:socks5
|
|
93
|
+
104.207.57.86:3128:socks5
|
|
94
|
+
71.42.125.220:4444:socks5
|
|
95
|
+
91.222.238.112:80:socks5
|
|
96
|
+
8.218.141.129:10001:socks5
|
|
97
|
+
222.252.194.204:8080:socks5
|
|
98
|
+
131.100.51.143:999:socks5
|
|
99
|
+
203.192.217.6:8080:socks5
|
|
100
|
+
146.103.3.227:7280:socks5
|
|
101
|
+
147.135.228.38:27040:socks5
|
|
102
|
+
1.10.238.104:4145:socks5
|
|
103
|
+
187.188.169.169:59329:socks5
|
|
104
|
+
83.168.74.163:8080:socks5
|
|
105
|
+
36.255.86.113:83:socks5
|
|
106
|
+
190.120.251.9:8989:socks5
|
|
107
|
+
36.50.11.196:8080:socks5
|
|
108
|
+
44.218.183.55:80:socks5
|
|
109
|
+
50.223.246.237:80:socks5
|
|
110
|
+
8.213.137.155:102:socks5
|
|
111
|
+
45.173.7.10:999:socks5
|
|
112
|
+
103.243.238.188:21360:socks5
|
|
113
|
+
103.112.54.21:58080:socks5
|
|
114
|
+
89.46.249.252:8765:socks5
|
|
115
|
+
203.115.101.55:82:socks5
|
|
116
|
+
155.254.38.117:5793:socks5
|
|
117
|
+
104.207.43.168:3128:socks5
|
|
118
|
+
37.187.109.70:10111:socks5
|
|
119
|
+
13.37.73.214:80:socks5
|
|
120
|
+
70.63.90.245:8080:socks5
|
|
121
|
+
209.14.115.101:999:socks5
|
|
122
|
+
103.143.169.130:84:socks5
|
|
123
|
+
8.213.128.6:50:socks5
|
|
124
|
+
104.207.61.218:3128:socks5
|
|
125
|
+
156.228.106.56:3128:socks5
|
|
126
|
+
103.189.218.83:6969:socks5
|
|
127
|
+
8.210.17.35:8444:socks5
|
|
128
|
+
143.137.116.72:1080:socks5
|
|
129
|
+
200.188.246.122:60606:socks5
|
|
130
|
+
8.213.222.247:1080:socks5
|
|
131
|
+
45.172.1.4:800:socks5
|
|
132
|
+
39.102.214.152:10002:socks5
|
|
133
|
+
210.246.200.135:3128:socks5
|
|
134
|
+
8.211.195.139:4100:socks5
|
|
135
|
+
45.43.64.30:6288:socks5
|
|
136
|
+
8.213.137.155:258:socks5
|
|
137
|
+
50.122.86.118:80:socks5
|
|
138
|
+
47.254.36.213:9080:socks5
|
|
139
|
+
47.91.29.151:9098:socks5
|
|
140
|
+
188.165.204.225:22263:socks5
|
|
141
|
+
141.11.103.136:8080:socks5
|
|
142
|
+
104.207.47.132:3128:socks5
|
|
143
|
+
171.6.204.226:1080:socks5
|
|
144
|
+
157.230.89.83:3128:socks5
|
|
145
|
+
45.128.133.199:1080:socks5
|
|
146
|
+
18.134.236.231:3128:socks5
|
|
147
|
+
45.144.64.153:8080:socks5
|
|
148
|
+
5.45.126.128:8080:socks5
|
|
149
|
+
168.205.100.36:8080:socks5
|
|
150
|
+
103.195.252.37:83:socks5
|
|
151
|
+
13.56.192.187:3128:socks5
|
|
152
|
+
156.228.90.26:3128:socks5
|
|
153
|
+
8.217.124.178:49440:socks5
|
|
154
|
+
13.208.56.180:80:socks5
|
|
155
|
+
45.249.122.198:8080:socks5
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
afsjssvs - 123456 - Facebook - 1740697465.5183377
|