import gradio as gr from utils.gradio_utils import * import os user = os.environ.get("USERNAME") password = os.environ.get("PASSWORD") 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="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="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]") aeon.launch(auth=(user, password))