Kumo 蜘蛛 is a domain OSINT & security reconnaissance framework. Drop a domain, get everything back in real time across 27 parallel modules: DNS, open ports, leaked credentials, infostealer infections, vulnerable endpoints, subdomains, CVEs, malware families, and more.
See the code
Give Kumo a domain and it maps everything reachable about it in one pass: DNS and email security, certificates and subdomains from CT logs, open ports, technology fingerprints, leaked credentials and infostealer infections, cloud buckets, and 358 vulnerability checks against known exposures. Twenty-seven modules run in parallel, each one streaming its own card the moment it lands — in the terminal or in the browser.
No API key is required for any of it.
pip install flask requests dnspython urllib3
python3 kumo.py # home screen — pick modules by number
python3 kumo.py --web # web dashboard → http://127.0.0.1:8888
python3 kumo.py example.com # straight to a full scan
The dashboard mid-scan: cards stream in as each module finishes,
glowing by severity, with the vulnerability scanner leading on findings.
| OS | Linux, macOS or Windows |
| Python | 3.8+ |
| Rights | none — Kumo never needs root |
| API keys | none required |
git clone https://github.com/karim852/KUMO-Domain-Recon-Tool
cd KUMO-Domain-Recon-Tool
pip install flask requests dnspython urllib3
Optional extras, each used by a single module and skipped cleanly when absent:
pip install brotli zstandard playwright
Nothing to configure. There is no config file, no key file and no database. Kumo reads what it needs from public sources at run time.
python3 kumo.py
With no target, Kumo opens its home screen: every module numbered and grouped, with the web interface on top.
| Input | Runs |
|---|---|
1 4 12 | just those modules |
a | all 27 |
f | fast scan — skips the slow modules |
w | the web dashboard |
q | quit |
Then enter the domain when prompted. Or skip the menu entirely:
python3 kumo.py example.com -m dns ssl
Modules run in parallel, so results do not arrive in order. A spider crawls the strand while they run, spinning silk behind it as each one lands, with the modules still in flight trailing the counter.
python3 kumo.py example.com -o report.json
The terminal is not a fallback — every module renders in full, with its own layout, tables and severity colouring.
| Home screen | all modules numbered, grouped, sized to the terminal |
| Selection | by number, or a / f / w |
| Themes | four palettes in 24-bit colour, --theme or KUMO_THEME |
python3 kumo.py --web # → http://127.0.0.1:8888
python3 kumo.py --web -p 9000 # custom port
Each module gets a card that appears immediately, shows a rotating edge while it is still running, then fills and takes on the colour of what it found — red for critical, amber for warnings, green for clean.
| Streaming | cards arrive as modules finish, no waiting for the slowest |
| Severity glow | card colour is derived from the badges it renders |
| Module pills | click to enable or disable before scanning |
| Export | JSON, or a standalone HTML report |
| Themes | four, switchable live, remembered across reloads |
Four palettes, in both the dashboard and the terminal. Click a dot in the header, or press Ctrl+Shift+T to cycle. The choice is saved and survives a reload.
| Theme | Character |
|---|---|
| Void (default) | deepest navy, cyan bloom, flat surfaces |
| Void Glass | lit card edges, under-glow, larger radius |
| Web 蜘蛛 | violet accent, strongest glow |
| Carbon | neutral surfaces, restrained glow — best for client screenshots |
In the terminal:
python3 kumo.py --theme carbon example.com
export KUMO_THEME=web
Adding a fifth theme is one palette block plus one dot — every renderer reads its colours through the same token set.
358 checks, no external tool and no template directory to sync. The engine
mirrors nuclei's matcher model — status, word, regex, size and a small
dsl, combined with matchers_condition.
27 modules, every one running in parallel. Click a module to see what it returns on a real scan.
Run them by number from the home screen, or by name: python3 kumo.py corp.demo -m dns ssl nuclei
dnsFull DNS enumeration with a security grade on email protection. Detects missing DMARC, weak SPF policies, absent DKIM, and open zone transfers.

geoResolves the domain to IPv4/IPv6, geolocates each IP, and pulls ASN, ISP, and organization data.

whoisFull registrar record including creation date, expiry, registrant info, and nameservers. Detects domains expiring soon and privacy-protected registrations.

sslInspects the full certificate chain — issuer, expiry, Subject Alternative Names, cipher suite, and protocol version. Flags expired, self-signed, or misconfigured certificates.

portsScans 70+ common ports and grabs service banners for each open one. False-positive hardened: the host is first probed on random unused ports — if it answers those too (tarpit, transparent proxy, or firewall that accepts everything), only ports with real application-layer evidence (a service banner, a TLS handshake, or a valid HTTP reply) are reported. Every open port is also re-verified before being listed. Enriched with data from Shodan and Censys when available.

subdomainsQueries crt.sh, HackerTarget, RapidDNS, and AlienVault OTX simultaneously, cross-references with Certificate Transparency logs, resolves every result, checks if it's alive, and flags anything that looks sensitive.

bruteTests thousands of common subdomain names via DNS with wildcard detection — eliminates false positives automatically. Finds subdomains that passive sources miss entirely.

faviconFetches the favicon (HTML-declared first, then common paths in parallel — bounded so it never hangs), computes the MMH3 hash used by Shodan/Censys, and maps known hashes to technologies. Handy for fingerprinting the stack and pivoting to other hosts running the same favicon.
![]()
screenshotTakes a live screenshot of the target and runs it against the ransomware.live feed. Pulls the page title, meta description, favicon, CMS fingerprint, and checks whether the domain appears in any ransomware gang's leak posts.

whatwebIdentifies the full tech stack — CMS, frameworks, JavaScript libraries, analytics, CDN, server, and more. Runs 80+ signature checks without sending a single intrusive request.

robotsParses robots.txt for disallowed and allowed paths, highlights sensitive ones, and checks for a security.txt vulnerability disclosure contact. Also discovers sitemaps.

waybackQueries the Wayback Machine for archived snapshots of the target — mining old endpoints, forgotten login pages, exposed config files, and paths that no longer exist on the live site but reveal the attack surface history.

content_intelScrapes the homepage HTML, inline scripts, and every first-party JS file, then extracts the valuable signal — not just secrets. Endpoints, internal/external URLs, API routes, database connection URIs, cloud storage (S3 / GCS / Azure / Firebase), emails, internal hosts, JWTs, private keys, source maps, and risky code comments. Static assets (.css, .js, images, fonts) and documentation domains (MDN, W3C) are filtered out; external URLs are collapsed to unique third-party hosts.

http_inspectYour browser's DevTools Network tab, headless. Shows exactly what Kumo sent and exactly what came back — the full request headers, every response header verbatim, the complete redirect chain, cookie security flags, allowed HTTP methods, CORS behaviour, and any non-standard or leaky headers worth a second look.

api_fuzzerSmart API discovery. Probes a random baseline first to detect catch-all servers, confirms a base API path actually exists before fuzzing, then discovers live endpoints and checks for GraphQL introspection. Every hit shows its HTTP status and response byte size.

js_secretsPulls and scans first-party JavaScript for hardcoded secrets — API keys, tokens, cloud credentials, and private keys — with clear-text output and the exact source line for each hit.

endpointsProbes 80+ paths that are commonly left exposed: admin panels, backup files, config files, debug interfaces, API docs, source control, and infrastructure files. Every hit is severity-graded. A 403 Forbidden response still confirms the path exists and is automatically downgraded one severity level.

headersChecks every security-relevant response header and grades the configuration. Flags missing headers that leave the site open to XSS, clickjacking, MIME sniffing, and information disclosure.

wafw00fFingerprints the WAF or CDN sitting in front of the target using 40+ signatures — headers, cookies, server banners, and active probe responses. If nothing is detected, it says so clearly.

nuclei
Checks include: Log4Shell · Spring4Shell · Drupalgeddon2 · Confluence OGNL · Oracle WebLogic · 15 WordPress plugin CVEs · CORS misconfiguration · Host header injection · Clickjacking and many more.
Recent CVE detection (2024–2026) — a dedicated set of detection-only templates fingerprints exposure/version for the newest, actively-exploited CVEs (no exploitation, just correlation):
RECENT CVE cPanel / WHM Login Panel Exposed CVE-2026-41940
RECENT CVE Next.js Middleware Auth Bypass CVE-2025-29927
RECENT CVE SharePoint "ToolShell" RCE CVE-2025-53770
RECENT CVE SAP NetWeaver Visual Composer CVE-2025-31324
RECENT CVE Ivanti EPMM / Connect Secure CVE-2025-4427
RECENT CVE CrushFTP Auth Bypass CVE-2025-31161
... 15 more (Fortinet · Palo Alto · Oracle EBS · Craft CMS · Vite · Langflow · Wazuh)
shodanQueries Shodan InternetDB (free, no key) for open ports, CPEs, hostnames, and CVEs. Every CVE is enriched with CVSS score, severity, KEV flag, and description via Shodan's free CVEDB API.

censysPulls host data and certificate intelligence from Censys. Enriched with optional API key for full results.

breachintelAggregates from 5 free sources and runs an automatic per-email stealer check against Hudson Rock's database — showing which employee machines were infected, what malware ran, what passwords were stolen, and which services were compromised.

email_harvestDiscovers @domain employee email addresses across multiple open sources, then merges in every confirmed email found during the breach intelligence scan.

Sources: Hunter.io · crt.sh certificate logs · web page scraping (contact / about / team) · DNS SOA record · WHOIS contact · Wayback Machine archive · common business prefixes.
cloud_bucketsEnumerates likely AWS S3 / GCP / Azure bucket names derived from the domain and checks for public exposure. Only a confirmed HTTP 200 (publicly readable) is reported — unreliable 403 responses are never flagged as findings.

dorksGenerates 61 targeted Google dork queries pre-built for the domain — one click opens them in Google. Covers exposed files, login pages, sensitive directories, subdomains, cached pages, code repositories, and more.

osintPre-generates 26 investigation links for the target across the most useful OSINT platforms — one click and you're there.

Everything above works with no key at all. These only unlock richer data:
| Variable | Unlocks |
|---|---|
SHODAN_API_KEY | full Shodan host data — banners, services, history |
CENSYS_API_ID + CENSYS_API_SECRET | full Censys host & certificate search |
HIBP_API_KEY | per-email HaveIBeenPwned lookup |
CHIASMODON_API_KEY | Chiasmodon pro tier — more results |
RANSOMWARE_LIVE_API_KEY | Ransomware.live pro feed |
export SHODAN_API_KEY="your_key_here"
# read at run time — never written to disk
python3 kumo.py home screen — pick modules by number
python3 kumo.py example.com full scan
python3 kumo.py example.com --fast skip the slow modules
python3 kumo.py example.com -m dns ssl ports specific modules only
python3 kumo.py example.com -o report.json export to JSON
python3 kumo.py --web web dashboard (port 8888)
python3 kumo.py --web -p 9000 custom port
python3 kumo.py --list-modules every module, grouped
python3 kumo.py --theme carbon example.com void · glass · web · carbon
python3 kumo.py example.com --no-spider disable the crawl animation
python3 kumo.py example.com --no-color pipe-friendly output
| Flag | Default |
|---|---|
--theme | void, or $KUMO_THEME |
-p / --port | 8888 |
--host | 0.0.0.0 |
Fast mode skips: wayback · brute · subdomains · screenshot ·
email_harvest · nuclei · cloud_buckets
python3 test_rules.py # every rule fires on its fixture and on no decoy
python3 test_modules.py # every module returns cleanly inside its budget
python3 test_live.py # end-to-end against a real domain
test_rules.py is the one that matters. It runs each vulnerability rule
against a vulnerable fixture and against seven decoys, and fails if a rule
either misses its target or fires on something harmless.
Kumo collects and correlates — the data belongs to the sources below, and they deserve the star far more than this repo does:
| Source | Used for |
|---|---|
| crt.sh | certificate transparency logs, subdomain discovery |
| Shodan InternetDB | open ports, CVEs, host tags — free, keyless |
| Hudson Rock | infostealer infection intelligence |
| ProjectDiscovery | the templates behind most vulnerability rules |
| Wayback Machine | archived URLs and historical surface |
Respect each source's own terms of use and rate limits.
| Tool | Domain | |
|---|---|---|
| ☁️ | Kumo 蜘蛛 | domain OSINT & reconnaissance |
| 🌑 | Kage 影 | DFIR host triage |
⚠️ For authorized security testing only. Only scan domains you own or have explicit written permission to test. Free to use, modify and share for educational and personal purposes — please credit the work. Commercial use requires explicit permission from the author.
Built for those who move fast. 蜘蛛
233 followers · starred Aug 2026
123 followers · starred Jul 2026
Kumo 蜘蛛 is a domain OSINT & security reconnaissance framework. Drop a domain, get everything back in real time across 27 parallel modules: DNS, open ports, leaked credentials, infostealer infections, vulnerable endpoints, subdomains, CVEs, malware families, and more.
See the code
Give Kumo a domain and it maps everything reachable about it in one pass: DNS and email security, certificates and subdomains from CT logs, open ports, technology fingerprints, leaked credentials and infostealer infections, cloud buckets, and 358 vulnerability checks against known exposures. Twenty-seven modules run in parallel, each one streaming its own card the moment it lands — in the terminal or in the browser.
No API key is required for any of it.
pip install flask requests dnspython urllib3
python3 kumo.py # home screen — pick modules by number
python3 kumo.py --web # web dashboard → http://127.0.0.1:8888
python3 kumo.py example.com # straight to a full scan
The dashboard mid-scan: cards stream in as each module finishes,
glowing by severity, with the vulnerability scanner leading on findings.
| OS | Linux, macOS or Windows |
| Python | 3.8+ |
| Rights | none — Kumo never needs root |
| API keys | none required |
git clone https://github.com/karim852/KUMO-Domain-Recon-Tool
cd KUMO-Domain-Recon-Tool
pip install flask requests dnspython urllib3
Optional extras, each used by a single module and skipped cleanly when absent:
pip install brotli zstandard playwright
Nothing to configure. There is no config file, no key file and no database. Kumo reads what it needs from public sources at run time.
python3 kumo.py
With no target, Kumo opens its home screen: every module numbered and grouped, with the web interface on top.
| Input | Runs |
|---|---|
1 4 12 | just those modules |
a | all 27 |
f | fast scan — skips the slow modules |
w | the web dashboard |
q | quit |
Then enter the domain when prompted. Or skip the menu entirely:
python3 kumo.py example.com -m dns ssl
Modules run in parallel, so results do not arrive in order. A spider crawls the strand while they run, spinning silk behind it as each one lands, with the modules still in flight trailing the counter.
python3 kumo.py example.com -o report.json
The terminal is not a fallback — every module renders in full, with its own layout, tables and severity colouring.
| Home screen | all modules numbered, grouped, sized to the terminal |
| Selection | by number, or a / f / w |
| Themes | four palettes in 24-bit colour, --theme or KUMO_THEME |
python3 kumo.py --web # → http://127.0.0.1:8888
python3 kumo.py --web -p 9000 # custom port
Each module gets a card that appears immediately, shows a rotating edge while it is still running, then fills and takes on the colour of what it found — red for critical, amber for warnings, green for clean.
| Streaming | cards arrive as modules finish, no waiting for the slowest |
| Severity glow | card colour is derived from the badges it renders |
| Module pills | click to enable or disable before scanning |
| Export | JSON, or a standalone HTML report |
| Themes | four, switchable live, remembered across reloads |
Four palettes, in both the dashboard and the terminal. Click a dot in the header, or press Ctrl+Shift+T to cycle. The choice is saved and survives a reload.
| Theme | Character |
|---|---|
| Void (default) | deepest navy, cyan bloom, flat surfaces |
| Void Glass | lit card edges, under-glow, larger radius |
| Web 蜘蛛 | violet accent, strongest glow |
| Carbon | neutral surfaces, restrained glow — best for client screenshots |
In the terminal:
python3 kumo.py --theme carbon example.com
export KUMO_THEME=web
Adding a fifth theme is one palette block plus one dot — every renderer reads its colours through the same token set.
358 checks, no external tool and no template directory to sync. The engine
mirrors nuclei's matcher model — status, word, regex, size and a small
dsl, combined with matchers_condition.
27 modules, every one running in parallel. Click a module to see what it returns on a real scan.
Run them by number from the home screen, or by name: python3 kumo.py corp.demo -m dns ssl nuclei
dnsFull DNS enumeration with a security grade on email protection. Detects missing DMARC, weak SPF policies, absent DKIM, and open zone transfers.

geoResolves the domain to IPv4/IPv6, geolocates each IP, and pulls ASN, ISP, and organization data.

whoisFull registrar record including creation date, expiry, registrant info, and nameservers. Detects domains expiring soon and privacy-protected registrations.

sslInspects the full certificate chain — issuer, expiry, Subject Alternative Names, cipher suite, and protocol version. Flags expired, self-signed, or misconfigured certificates.

portsScans 70+ common ports and grabs service banners for each open one. False-positive hardened: the host is first probed on random unused ports — if it answers those too (tarpit, transparent proxy, or firewall that accepts everything), only ports with real application-layer evidence (a service banner, a TLS handshake, or a valid HTTP reply) are reported. Every open port is also re-verified before being listed. Enriched with data from Shodan and Censys when available.

subdomainsQueries crt.sh, HackerTarget, RapidDNS, and AlienVault OTX simultaneously, cross-references with Certificate Transparency logs, resolves every result, checks if it's alive, and flags anything that looks sensitive.

bruteTests thousands of common subdomain names via DNS with wildcard detection — eliminates false positives automatically. Finds subdomains that passive sources miss entirely.

faviconFetches the favicon (HTML-declared first, then common paths in parallel — bounded so it never hangs), computes the MMH3 hash used by Shodan/Censys, and maps known hashes to technologies. Handy for fingerprinting the stack and pivoting to other hosts running the same favicon.
![]()
screenshotTakes a live screenshot of the target and runs it against the ransomware.live feed. Pulls the page title, meta description, favicon, CMS fingerprint, and checks whether the domain appears in any ransomware gang's leak posts.

whatwebIdentifies the full tech stack — CMS, frameworks, JavaScript libraries, analytics, CDN, server, and more. Runs 80+ signature checks without sending a single intrusive request.

robotsParses robots.txt for disallowed and allowed paths, highlights sensitive ones, and checks for a security.txt vulnerability disclosure contact. Also discovers sitemaps.

waybackQueries the Wayback Machine for archived snapshots of the target — mining old endpoints, forgotten login pages, exposed config files, and paths that no longer exist on the live site but reveal the attack surface history.

content_intelScrapes the homepage HTML, inline scripts, and every first-party JS file, then extracts the valuable signal — not just secrets. Endpoints, internal/external URLs, API routes, database connection URIs, cloud storage (S3 / GCS / Azure / Firebase), emails, internal hosts, JWTs, private keys, source maps, and risky code comments. Static assets (.css, .js, images, fonts) and documentation domains (MDN, W3C) are filtered out; external URLs are collapsed to unique third-party hosts.

http_inspectYour browser's DevTools Network tab, headless. Shows exactly what Kumo sent and exactly what came back — the full request headers, every response header verbatim, the complete redirect chain, cookie security flags, allowed HTTP methods, CORS behaviour, and any non-standard or leaky headers worth a second look.

api_fuzzerSmart API discovery. Probes a random baseline first to detect catch-all servers, confirms a base API path actually exists before fuzzing, then discovers live endpoints and checks for GraphQL introspection. Every hit shows its HTTP status and response byte size.

js_secretsPulls and scans first-party JavaScript for hardcoded secrets — API keys, tokens, cloud credentials, and private keys — with clear-text output and the exact source line for each hit.

endpointsProbes 80+ paths that are commonly left exposed: admin panels, backup files, config files, debug interfaces, API docs, source control, and infrastructure files. Every hit is severity-graded. A 403 Forbidden response still confirms the path exists and is automatically downgraded one severity level.

headersChecks every security-relevant response header and grades the configuration. Flags missing headers that leave the site open to XSS, clickjacking, MIME sniffing, and information disclosure.

wafw00fFingerprints the WAF or CDN sitting in front of the target using 40+ signatures — headers, cookies, server banners, and active probe responses. If nothing is detected, it says so clearly.

nuclei
Checks include: Log4Shell · Spring4Shell · Drupalgeddon2 · Confluence OGNL · Oracle WebLogic · 15 WordPress plugin CVEs · CORS misconfiguration · Host header injection · Clickjacking and many more.
Recent CVE detection (2024–2026) — a dedicated set of detection-only templates fingerprints exposure/version for the newest, actively-exploited CVEs (no exploitation, just correlation):
RECENT CVE cPanel / WHM Login Panel Exposed CVE-2026-41940
RECENT CVE Next.js Middleware Auth Bypass CVE-2025-29927
RECENT CVE SharePoint "ToolShell" RCE CVE-2025-53770
RECENT CVE SAP NetWeaver Visual Composer CVE-2025-31324
RECENT CVE Ivanti EPMM / Connect Secure CVE-2025-4427
RECENT CVE CrushFTP Auth Bypass CVE-2025-31161
... 15 more (Fortinet · Palo Alto · Oracle EBS · Craft CMS · Vite · Langflow · Wazuh)
shodanQueries Shodan InternetDB (free, no key) for open ports, CPEs, hostnames, and CVEs. Every CVE is enriched with CVSS score, severity, KEV flag, and description via Shodan's free CVEDB API.

censysPulls host data and certificate intelligence from Censys. Enriched with optional API key for full results.

breachintelAggregates from 5 free sources and runs an automatic per-email stealer check against Hudson Rock's database — showing which employee machines were infected, what malware ran, what passwords were stolen, and which services were compromised.

email_harvestDiscovers @domain employee email addresses across multiple open sources, then merges in every confirmed email found during the breach intelligence scan.

Sources: Hunter.io · crt.sh certificate logs · web page scraping (contact / about / team) · DNS SOA record · WHOIS contact · Wayback Machine archive · common business prefixes.
cloud_bucketsEnumerates likely AWS S3 / GCP / Azure bucket names derived from the domain and checks for public exposure. Only a confirmed HTTP 200 (publicly readable) is reported — unreliable 403 responses are never flagged as findings.

dorksGenerates 61 targeted Google dork queries pre-built for the domain — one click opens them in Google. Covers exposed files, login pages, sensitive directories, subdomains, cached pages, code repositories, and more.

osintPre-generates 26 investigation links for the target across the most useful OSINT platforms — one click and you're there.

Everything above works with no key at all. These only unlock richer data:
| Variable | Unlocks |
|---|---|
SHODAN_API_KEY | full Shodan host data — banners, services, history |
CENSYS_API_ID + CENSYS_API_SECRET | full Censys host & certificate search |
HIBP_API_KEY | per-email HaveIBeenPwned lookup |
CHIASMODON_API_KEY | Chiasmodon pro tier — more results |
RANSOMWARE_LIVE_API_KEY | Ransomware.live pro feed |
export SHODAN_API_KEY="your_key_here"
# read at run time — never written to disk
python3 kumo.py home screen — pick modules by number
python3 kumo.py example.com full scan
python3 kumo.py example.com --fast skip the slow modules
python3 kumo.py example.com -m dns ssl ports specific modules only
python3 kumo.py example.com -o report.json export to JSON
python3 kumo.py --web web dashboard (port 8888)
python3 kumo.py --web -p 9000 custom port
python3 kumo.py --list-modules every module, grouped
python3 kumo.py --theme carbon example.com void · glass · web · carbon
python3 kumo.py example.com --no-spider disable the crawl animation
python3 kumo.py example.com --no-color pipe-friendly output
| Flag | Default |
|---|---|
--theme | void, or $KUMO_THEME |
-p / --port | 8888 |
--host | 0.0.0.0 |
Fast mode skips: wayback · brute · subdomains · screenshot ·
email_harvest · nuclei · cloud_buckets
python3 test_rules.py # every rule fires on its fixture and on no decoy
python3 test_modules.py # every module returns cleanly inside its budget
python3 test_live.py # end-to-end against a real domain
test_rules.py is the one that matters. It runs each vulnerability rule
against a vulnerable fixture and against seven decoys, and fails if a rule
either misses its target or fires on something harmless.
Kumo collects and correlates — the data belongs to the sources below, and they deserve the star far more than this repo does:
| Source | Used for |
|---|---|
| crt.sh | certificate transparency logs, subdomain discovery |
| Shodan InternetDB | open ports, CVEs, host tags — free, keyless |
| Hudson Rock | infostealer infection intelligence |
| ProjectDiscovery | the templates behind most vulnerability rules |
| Wayback Machine | archived URLs and historical surface |
Respect each source's own terms of use and rate limits.
| Tool | Domain | |
|---|---|---|
| ☁️ | Kumo 蜘蛛 | domain OSINT & reconnaissance |
| 🌑 | Kage 影 | DFIR host triage |
⚠️ For authorized security testing only. Only scan domains you own or have explicit written permission to test. Free to use, modify and share for educational and personal purposes — please credit the work. Commercial use requires explicit permission from the author.
Built for those who move fast. 蜘蛛
233 followers · starred Aug 2026
123 followers · starred Jul 2026