File size: 5,063 Bytes
236f43c
 
79f993e
 
058edcf
59ed8ba
 
430c2f6
59961c2
058edcf
 
59961c2
 
058edcf
 
 
236f43c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
dde30fa
 
 
 
 
 
2f6c49d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
058edcf
 
236f43c
430c2f6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
import gradio as gr
from utils.gradio_utils import *
import os


USER = os.getenv("USERNAME")
PASS = os.getenv("PASSWORD")


list_iface = gr.Interface(fn=compute_offer,
            inputs=[gr.File(label="Upload CSV", type="file"),
                    gr.Slider(1, 365, value=30, step=1, label="Days", info="Number of days to look back"),
                    gr.Slider(5000, 100000, value=15000, step=1, label="Minimum Sent", info="Minimum number of emails sent")
                    ],
            outputs="dataframe")

domains_template = """tenderax.com
reach-fortune.com
joyful-healthy-hair.com
roadbastion.com
telesellshow.com
quoteinalley.com
pulsetrens.com
conzurup.com
enhancexp.com
crystaldump.com
wizuite.com
rental-navigate.com
habitatbutler.com
equir-group.com
gardenscented.com
send-xp.com
muzicarea.com
markiq-brand.com
oceanoger.com
sagepagecos.com
onestopdistribute.com
zotep.com
social-ascend.com
sorganbell.com
dotbokeeping.com
prentior.com
allign-simple.com
healthskoot.com
busadminister.com
roboryzor.com
theadaptivetrips.com
neat-true.com
race-move.com
chap-views.com
sunysuites.com
willpowersocial.com
avantezores.com
snortbears.com
avatarctica.com
realbloxes.com
tradessprint.com
pulsecoverage.com
devicesco.com
skyward-bill-board.com
match-salon-finder.com
appcanister.com
natural-dermi-cool.com
appotor.com
kid-pocket.com
cebnext.com
inno-crista.com
craftitbyhand.com
taveas.com
pro-story-anthology.com
textropolitan.com
decorld.com
knockand-blok.com
stratusdomain.com
cloriyes.com
intromobs.com
funnygrids.com
bright-seen.com
close-stop.com
lets-tech.com
globehereme.com
lemon-abode.com
skyzark.com
tracwares.com
extraclubs.com
magicspix.com
technayas.com
queltys.com
meta-choose.com
salesultrax.com
travelingnarrative.com
domtions.com
rising-beats.com
vintacrafts.com
blaze-trophy.com
clever-wiz.com
encraftey.com
canvats.com
ad-nu-vu.com
thehandshops.com
craft-pleasure.com
patio-style-chef.com
rollerdip.com
skilled-code.com
atomic-boom.com
thedropgears.com"""


with gr.Blocks() as aeon:
    with gr.Tab(label="SWAKS"):
        with gr.Row():
            with gr.Column():
                ip_addresses_raw = gr.Textbox(lines=2, value="192.168.1.1/24", label="IP Classes")
            with gr.Column():
                with gr.Row():
                    with gr.Column():
                        max_ips = gr.Number(value=0, label="Max IPs to search for before stopping")
                    with gr.Column():
                        sample_size = gr.Number(value=5, label="Number of commands per subdomain")
            domains = gr.Textbox(lines=5, max_lines=5,value=domains_template, label="Domains")
        with gr.Row():
            header_box = gr.Textbox(label="Header Used to Create Commands", visible=False)
            max_ips.change(fn=update_header, inputs=max_ips, outputs=header_box)
        with gr.Row():
            with gr.Column():
                gen_cmds_btn = gr.Button(label="Generate Commands")
                
            # with gr.Column():
            #     reset_btn = gr.ClearButton(components=[ip_subclasses_raw, num_of_ips, domains_raw])
        with gr.Row():
            cmds = gr.Code(lines=20, value="Generate Commands")
        
        gen_cmds_btn.click(fn=generate_cmds_from_bulk, inputs=[ip_addresses_raw, domains, max_ips, sample_size], outputs=[cmds])
            
        with gr.Accordion("Tips and tricks"):
            gr.Markdown("""The subdomains are IPs from [1-19] and [201-254].
            - Copy the commands and copy them in a file `nano check.sh` and paste and save.
            - Run in terminal `sh check.sh` and wait for it to finish
            - There will two types of files: `bune_IP_addr.txt` and `blocate_IP_addr.txt`
            - To get all the good IPs run: `cat bune*`
            """)


    with gr.Tab(label="Mix domains and IPs"):
        with gr.Row():
            with gr.Column():
                ip_subclasses_raw = gr.Textbox(label="IP Subclasses plain text", \
                                    value="""192.168.1.1/24""", lines=2)
            with gr.Column():
                num_of_ips = gr.Number(label="Number of IPs per /24", value=4)
        with gr.Row():
                domains_raw = gr.Textbox(label="Domains", value="gogu.com\nasd.com\ndsa.com\ngigi.com")
        greet_btn = gr.Button("Compute IPs")
        output_ips = gr.Textbox(label="List of IPs")

        greet_btn.click(fn=generate_ips_per_subclass, inputs=[ip_subclasses_raw, num_of_ips],\
                        outputs=output_ips)
        
        
        output_mix = gr.Code(label="Mixed IPs and Domains")

        with gr.Row():
            with gr.Column():
                reset_btn = gr.ClearButton(label="Reset", components=[ip_subclasses_raw, domains_raw])
            with gr.Column():
                mix_btn = gr.Button("Mix IPs and Domains")
                mix_btn.click(fn=mix, inputs=[domains_raw, output_ips, num_of_ips],\
                        outputs=output_mix)

    with gr.Tab(label="Top Lists"):
        list_iface.render()

aeon.launch(auth=(USER, PASS))