# ===== ACTIONS =====
def add_url(self):
url = self.url_entry.get().strip()
if not url.startswith("http"):
messagebox.showerror("Greška", "URL mora početi sa http:// ili https://")
return
self.urls.append(url)
self.url_entry.delete(0, tk.END)
self.text.insert(tk.END, f"[DODAT URL] {url}\n", "green")
def load_m3u(self):
path = filedialog.askopenfilename(filetypes=[("M3U files","*.m3u")])
if not path:
return
with open(path, "r", errors="ignore") as f:
data = f.read()
found = re.findall(r'http?://[^\s]+', data)
self.urls.extend(found)
messagebox.showinfo("OK", f"Učitano {len(found)} URL‑ova")
def analyze(self):
if not self.urls:
messagebox.showwarning("Prazno", "Nema URL‑ova")
return
ips = set()
ports = []
live = vod = series = 0
risks = 0
panel = "Custom"
for u in self.urls:
p = urlparse(u)
ips.add(p.hostname)
ports.append(p.port or 80)
if "/live/" in u: live += 1
elif "/movie/" in u: vod += 1
elif "/series/" in u: series += 1
if "get.php" in u:
panel = "Xtream Codes / Xtream UI"
risks += 1
if "username=" in u and "password=" in u:
risks += 1
port_count = Counter(ports)
used_ports = set(port_count.keys())
free_ports = [p for p in COMMON_PORTS if p not in used_ports]
if len(ips) > 1: risks += 1
if len(port_count) > 1: risks += 1
if 80 in used_ports: risks += 1
if any(p in [25461,25500] for p in used_ports): risks += 1
score = "LOW" if risks <= 2 else "MEDIUM" if risks <= 5 else "HIGH"
if osfw == "ufw":
self.firewall_cmds += "# OSTAVI (ALLOW)\n"
for p in used_ports:
self.firewall_cmds += f"ufw allow {p}\n"
self.firewall_cmds += "\n# ZATVORI (DENY)\n"
for p in free_ports:
self.firewall_cmds += f"ufw deny {p}\n"
else:
self.firewall_cmds += "# OSTAVI (ACCEPT)\n"
for p in used_ports:
self.firewall_cmds += f"iptables -A INPUT -p tcp --dport {p} -j ACCEPT\n"
self.firewall_cmds += "\n# ZATVORI (DROP)\n"
for p in free_ports:
self.firewall_cmds += f"iptables -A INPUT -p tcp --dport {p} -j DROP\n"
def copy_firewall(self):
if not self.firewall_cmds:
return
self.root.clipboard_clear()
self.root.clipboard_append(self.firewall_cmds)
messagebox.showinfo("OK", "Firewall komande kopirane")
def export_txt(self):
with open("security_report.txt","w") as f:
f.write(self.report + "\n\n" + self.firewall_cmds)
messagebox.showinfo("OK","TXT snimljen")
def export_html(self):
html = f"<html><body style='background:#111;color:#0f0'><pre>{self.report}\n\n{self.firewall_cmds}</pre></body></html>"
with open("security_report.html","w") as f:
f.write(html)
messagebox.showinfo("OK","HTML snimljen")
Label and copyright Jugodisk & DO Jovice AjdarevicaZabranjeno svako kopiranje video i/ili audio snimaka i postavljanje na druge kanale!Music: J.Ajdareviclyri...
Label and copyright: Jugoton-Croatia Records @ Sejdic FejatPo licenci Jugoton - Croatia Records doohttp://www.goldprodukcija.comhttps://www.facebook.com/page...
️️ Uključi da dobijaš obaveštenja za sve nove pesme! Facebook: https://www.facebook.com/GrandProductionFejat Sejdic - Fejatova dirlada - (Audio 2000)M...
# ===== ACTIONS =====
def add_url(self):
url = self.url_entry.get().strip()
if not url.startswith("http"):
messagebox.showerror("Greška", "URL mora početi sa http:// ili https://")
return
self.urls.append(url)
self.url_entry.delete(0, tk.END)
self.text.insert(tk.END, f"[DODAT URL] {url}\n", "green")
def load_m3u(self):
path = filedialog.askopenfilename(filetypes=[("M3U files","*.m3u")])
if not path:
return
with open(path, "r", errors="ignore") as f:
data = f.read()
found = re.findall(r'http?://[^\s]+', data)
self.urls.extend(found)
messagebox.showinfo("OK", f"Učitano {len(found)} URL‑ova")
def analyze(self):
if not self.urls:
messagebox.showwarning("Prazno", "Nema URL‑ova")
return
ips = set()
ports = []
live = vod = series = 0
risks = 0
panel = "Custom"
for u in self.urls:
p = urlparse(u)
ips.add(p.hostname)
ports.append(p.port or 80)
if "/live/" in u: live += 1
elif "/movie/" in u: vod += 1
elif "/series/" in u: series += 1
if "get.php" in u:
panel = "Xtream Codes / Xtream UI"
risks += 1
if "username=" in u and "password=" in u:
risks += 1
port_count = Counter(ports)
used_ports = set(port_count.keys())
free_ports = [p for p in COMMON_PORTS if p not in used_ports]
if len(ips) > 1: risks += 1
if len(port_count) > 1: risks += 1
if 80 in used_ports: risks += 1
if any(p in [25461,25500] for p in used_ports): risks += 1
score = "LOW" if risks <= 2 else "MEDIUM" if risks <= 5 else "HIGH"
if osfw == "ufw":
self.firewall_cmds += "# OSTAVI (ALLOW)\n"
for p in used_ports:
self.firewall_cmds += f"ufw allow {p}\n"
self.firewall_cmds += "\n# ZATVORI (DENY)\n"
for p in free_ports:
self.firewall_cmds += f"ufw deny {p}\n"
else:
self.firewall_cmds += "# OSTAVI (ACCEPT)\n"
for p in used_ports:
self.firewall_cmds += f"iptables -A INPUT -p tcp --dport {p} -j ACCEPT\n"
self.firewall_cmds += "\n# ZATVORI (DROP)\n"
for p in free_ports:
self.firewall_cmds += f"iptables -A INPUT -p tcp --dport {p} -j DROP\n"
def copy_firewall(self):
if not self.firewall_cmds:
return
self.root.clipboard_clear()
self.root.clipboard_append(self.firewall_cmds)
messagebox.showinfo("OK", "Firewall komande kopirane")
def export_txt(self):
with open("security_report.txt","w") as f:
f.write(self.report + "\n\n" + self.firewall_cmds)
messagebox.showinfo("OK","TXT snimljen")
def export_html(self):
html = f"<html><body style='background:#111;color:#0f0'><pre>{self.report}\n\n{self.firewall_cmds}</pre></body></html>"
with open("security_report.html","w") as f:
f.write(html)
messagebox.showinfo("OK","HTML snimljen")
# ===== ACTIONS =====
def add_url(self):
url = self.url_entry.get().strip()
if not url.startswith("http"):
messagebox.showerror("Greška", "URL mora početi sa http:// ili https://")
return
self.urls.append(url)
self.url_entry.delete(0, tk.END)
self.text.insert(tk.END, f"[DODAT URL] {url}\n", "green")
def load_m3u(self):
path = filedialog.askopenfilename(filetypes=[("M3U files","*.m3u")])
if not path:
return
with open(path, "r", errors="ignore") as f:
data = f.read()
found = re.findall(r'http?://[^\s]+', data)
self.urls.extend(found)
messagebox.showinfo("OK", f"Učitano {len(found)} URL‑ova")
def analyze(self):
if not self.urls:
messagebox.showwarning("Prazno", "Nema URL‑ova")
return
ips = set()
ports = []
live = vod = series = 0
risks = 0
panel = "Custom"
for u in self.urls:
p = urlparse(u)
ips.add(p.hostname)
ports.append(p.port or 80)
if "/live/" in u: live += 1
elif "/movie/" in u: vod += 1
elif "/series/" in u: series += 1
if "get.php" in u:
panel = "Xtream Codes / Xtream UI"
risks += 1
if "username=" in u and "password=" in u:
risks += 1
port_count = Counter(ports)
used_ports = set(port_count.keys())
free_ports = [p for p in COMMON_PORTS if p not in used_ports]
if len(ips) > 1: risks += 1
if len(port_count) > 1: risks += 1
if 80 in used_ports: risks += 1
if any(p in [25461,25500] for p in used_ports): risks += 1
score = "LOW" if risks <= 2 else "MEDIUM" if risks <= 5 else "HIGH"
if osfw == "ufw":
self.firewall_cmds += "# OSTAVI (ALLOW)\n"
for p in used_ports:
self.firewall_cmds += f"ufw allow {p}\n"
self.firewall_cmds += "\n# ZATVORI (DENY)\n"
for p in free_ports:
self.firewall_cmds += f"ufw deny {p}\n"
else:
self.firewall_cmds += "# OSTAVI (ACCEPT)\n"
for p in used_ports:
self.firewall_cmds += f"iptables -A INPUT -p tcp --dport {p} -j ACCEPT\n"
self.firewall_cmds += "\n# ZATVORI (DROP)\n"
for p in free_ports:
self.firewall_cmds += f"iptables -A INPUT -p tcp --dport {p} -j DROP\n"
def copy_firewall(self):
if not self.firewall_cmds:
return
self.root.clipboard_clear()
self.root.clipboard_append(self.firewall_cmds)
messagebox.showinfo("OK", "Firewall komande kopirane")
def export_txt(self):
with open("security_report.txt","w") as f:
f.write(self.report + "\n\n" + self.firewall_cmds)
messagebox.showinfo("OK","TXT snimljen")
def export_html(self):
html = f"<html><body style='background:#111;color:#0f0'><pre>{self.report}\n\n{self.firewall_cmds}</pre></body></html>"
with open("security_report.html","w") as f:
f.write(html)
messagebox.showinfo("OK","HTML snimljen")
Ljudi zamopio bi vas da mi nesajete poruke vise Sjener sam postavio ovde na forumu samo ide u python stavite u notpade naziv skener.py tako stsvite instalirate python i skenirajte
Label and copyright Jugodisk & DO Jovice AjdarevicaZabranjeno svako kopiranje video i/ili audio snimaka i postavljanje na druge kanale!Music: J.Ajdareviclyri...
Label and copyright: Jugoton-Croatia Records @ Sejdic FejatPo licenci Jugoton - Croatia Records doohttp://www.goldprodukcija.comhttps://www.facebook.com/page...
️️ Uključi da dobijaš obaveštenja za sve nove pesme! Facebook: https://www.facebook.com/GrandProductionFejat Sejdic - Fejatova dirlada - (Audio 2000)M...
Label and copyright Jugodisk & DO Jovice AjdarevicaZabranjeno svako kopiranje video i/ili audio snimaka i postavljanje na druge kanale!Music: J.Ajdareviclyri...
Label and copyright: Jugoton-Croatia Records @ Sejdic FejatPo licenci Jugoton - Croatia Records doohttp://www.goldprodukcija.comhttps://www.facebook.com/page...
️️ Uključi da dobijaš obaveštenja za sve nove pesme! Facebook: https://www.facebook.com/GrandProductionFejat Sejdic - Fejatova dirlada - (Audio 2000)M...
Оваа страница користи колачиња за персонализирање на содржината. Со продолжување на користењето, се согласувате со нашата политика за користење колачиња.