diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7aa419f --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +pypi.sh +build +dist +*.egg-info \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..df2c50b --- /dev/null +++ b/README.md @@ -0,0 +1,23 @@ +# The Panthera(P.)uncia of Cybersecurity +### Subdomain & Exploit Hunter powered by AI +[![Downloads](https://pepy.tech/badge/puncia)](https://pepy.tech/project/puncia) + +GitHub stars +
+ +
+Puncia utilizes two of our intelligent APIs - [Subdomain Center](https://subdomain.center) & [Exploit Observer](https://exploit.observer), to gather the results. +**Please note that although these results can sometimes be pretty inaccurate & unreliable, they can greatly differ from time to time due to their self-improvement capabilities.** + +## Installation +1. From PyPi - `pip3 install puncia` +2. From Source - `pip3 install .`
+ +## Usage +1. Subdomain - `puncia subdomain ` +2. Exploit - `puncia exploit `
+ + +## Noteworthy Mentions +- [PUNCIA — The Panthera(P.)uncia of Cybersecurity](https://g147.medium.com/puncia-the-panthera-p-uncia-of-cybersecurity-ft-puncia-subdomain-center-exploit-observer-9a9d8cca9576) +- [Subdomain Enumeration Tool Face-off - 2023 Edition](https://blog.blacklanternsecurity.com/p/subdomain-enumeration-tool-face-off-4e5) \ No newline at end of file diff --git a/puncia.png b/puncia.png new file mode 100644 index 0000000..6bdd0de Binary files /dev/null and b/puncia.png differ diff --git a/puncia/__init__.py b/puncia/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/puncia/puncia.py b/puncia/puncia.py new file mode 100755 index 0000000..f9f5211 --- /dev/null +++ b/puncia/puncia.py @@ -0,0 +1,30 @@ +import requests +import sys +import json +import time + +def main(): + print("Panthera(P.)uncia [v0.11]\nSubdomain & Exploit Hunter powered by AI\n---------") + if len(sys.argv)<2: + sys.exit('additional command required (subdomain/exploit)') + if len(sys.argv)<3: + sys.exit('additional input required') + if len(sys.argv)>4: + sys.exit('refer usage at - https://github.com/ARPSyndicate/puncia#usage') + time.sleep(2) + if sys.argv[1] == 'subdomain': + response = requests.get("http://api.subdomain.center/?domain="+sys.argv[2]).json() + result = "\n".join(response) + print(result) + if len(sys.argv)==4: + with open(sys.argv[3], "w") as f: + f.write(result) + elif sys.argv[1] == 'exploit': + response = requests.get("http://api.exploit.observer/?keyword="+sys.argv[2]).json() + result = "\n".join(response['entries']) + print(result) + if len(sys.argv)==4: + with open(sys.argv[3], "w") as f: + f.write(result) + else: + sys.exit('refer usage at - https://github.com/ARPSyndicate/puncia#usage') \ No newline at end of file diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..c4517c9 --- /dev/null +++ b/setup.py @@ -0,0 +1,19 @@ +from setuptools import setup, find_packages + +setup( + name="puncia", + version="0.11", + author="ARPSyndicate", + author_email="arpsyndicate@pm.me", + keywords="subdomains subdomain exploits exploit arpsyndicate panthera uncia puncia snow leopard", + url="https://github.com/ARPSyndicate/puncia", + project_urls={ + "Subdomain Center": "https://subdomain.center", + "Exploit Observer": "https://exploit.observer" + }, + long_description=open('README.md').read(), + long_description_content_type='text/markdown', + description='The Panthera(P.)uncia of Cybersecurity - Subdomain & Exploit Hunter powered by AI', + packages=find_packages(), + entry_points={"console_scripts": ["puncia=puncia.puncia:main"]} +)