bh-ab commited on
Commit
b1755e9
·
verified ·
1 Parent(s): 2629785

Upload 5 files

Browse files
app/routers/__pycache__/__init__.py ADDED
File without changes
app/routers/__pycache__/pdf.py ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import APIRouter, UploadFile, File
2
+ from ..services.pdf_service import extract_from_url, extract_from_upload, summarize_pdf
3
+
4
+ router = APIRouter(prefix="/pdf", tags=["PDF"])
5
+
6
+
7
+ @router.post("/extract")
8
+ def extract_text(url: str = None, file: UploadFile = File(None)):
9
+ if file:
10
+ content = file.file.read()
11
+ return extract_from_upload(content)
12
+ elif url:
13
+ return extract_from_url(url)
14
+ return {"error": "Provide url or file"}
15
+
16
+
17
+ @router.post("/summarize")
18
+ def summarize(url: str = None, file: UploadFile = File(None)):
19
+ file_bytes = file.file.read() if file else None
20
+ return summarize_pdf(url=url, file_bytes=file_bytes)
app/routers/__pycache__/pentest.py ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import APIRouter
2
+ from ..models.schemas import (
3
+ PortScanRequest, SubdomainRequest, DNSRequest,
4
+ WHOISRequest, HeadersRequest, SSLRequest,
5
+ )
6
+ from ..services.pentest_service import (
7
+ port_scan, subdomain_enum, dns_enum,
8
+ whois_lookup, headers_check, ssl_check, vuln_scan,
9
+ )
10
+
11
+ router = APIRouter(prefix="/pentest", tags=["Pentest"])
12
+
13
+
14
+ @router.post("/port-scan")
15
+ def scan_ports(req: PortScanRequest):
16
+ return port_scan(req.target, req.ports)
17
+
18
+
19
+ @router.post("/subdomain")
20
+ def enumerate_subdomains(req: SubdomainRequest):
21
+ return subdomain_enum(req.domain)
22
+
23
+
24
+ @router.post("/dns")
25
+ def enumerate_dns(req: DNSRequest):
26
+ return dns_enum(req.domain, req.record_type)
27
+
28
+
29
+ @router.post("/whois")
30
+ def lookup_whois(req: WHOISRequest):
31
+ return whois_lookup(req.domain)
32
+
33
+
34
+ @router.post("/headers")
35
+ def check_headers(req: HeadersRequest):
36
+ return headers_check(req.url)
37
+
38
+
39
+ @router.post("/ssl")
40
+ def check_ssl(req: SSLRequest):
41
+ return ssl_check(req.target, req.port)
42
+
43
+
44
+ @router.post("/vuln-scan")
45
+ def scan_vulns(req: HeadersRequest):
46
+ return vuln_scan(req.url)
app/routers/__pycache__/rss.py ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import APIRouter
2
+ from ..models.schemas import RSSRequest
3
+ from ..services.rss_service import parse_feed, fetch_feeds
4
+
5
+ router = APIRouter(prefix="/rss", tags=["RSS"])
6
+
7
+
8
+ @router.post("/parse")
9
+ def parse_single(req: RSSRequest):
10
+ return parse_feed(req.url, req.max_entries)
11
+
12
+
13
+ @router.post("/parse/batch")
14
+ def parse_many(urls: list[str], max_entries: int = 10):
15
+ return fetch_feeds(urls, max_entries)
app/routers/__pycache__/scrape.py ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import APIRouter
2
+ from ..models.schemas import ScrapeRequest, ScrapeBatchRequest
3
+ from ..services.scrape_service import scrape_page, scrape_batch
4
+
5
+ router = APIRouter(prefix="/scrape", tags=["Scraping"])
6
+
7
+
8
+ @router.post("")
9
+ def scrape_single(req: ScrapeRequest):
10
+ result = scrape_page(
11
+ req.url,
12
+ extract_links=req.extract_links,
13
+ extract_images=req.extract_images,
14
+ extract_text=req.extract_text,
15
+ )
16
+ return result
17
+
18
+
19
+ @router.post("/batch")
20
+ def scrape_many(req: ScrapeBatchRequest):
21
+ results = scrape_batch(
22
+ req.urls,
23
+ extract_links=req.extract_links,
24
+ extract_images=req.extract_images,
25
+ extract_text=req.extract_text,
26
+ )
27
+ return {"total": len(results), "results": results}