tools / app.py
zzmez's picture
feat: add new slider for min sent
59961c2
raw
history blame
5.06 kB
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))