Skip to content

Commit 85bba23

Browse files
committed
Restructure project into spyhunt package
Moved all source files, modules, payloads, scripts, and tools into the 'spyhunt' package directory for improved organization and packaging. Updated MANIFEST.in and pyproject.toml to reflect new paths and package metadata. Added new dependencies (impacket, PySocks, urllib3) and removed setuptools_scm. setup.py is now a minimal stub for backward compatibility.
1 parent 6ca04eb commit 85bba23

File tree

198 files changed

+47
-1932
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

198 files changed

+47
-1932
lines changed

MANIFEST.in

Lines changed: 23 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,39 @@
11
# Include documentation
22
include README.md
33
include LICENSE
4+
include QUICKSTART.md
45

56
# Include requirements
67
include requirements.txt
78

8-
# Include payload files
9-
recursive-include payloads *.txt
10-
11-
# Include scripts
12-
recursive-include scripts *.sh
13-
recursive-include scripts *.py
9+
# Include package data
10+
recursive-include spyhunt *.py
11+
recursive-include spyhunt/payloads *.txt
12+
recursive-include spyhunt/scripts *.sh
13+
recursive-include spyhunt/scripts *.py
14+
recursive-include spyhunt/modules *.py
1415

1516
# Include tools directory
16-
recursive-include tools *.py
17-
include tools/assetfinder
17+
recursive-include spyhunt/tools *.py
18+
include spyhunt/tools/assetfinder
1819

1920
# Include smuggler tool
20-
recursive-include tools/smuggler *.py
21-
recursive-include tools/smuggler/configs *.py
22-
recursive-include tools/smuggler/payloads *
23-
include tools/smuggler/LICENSE
24-
include tools/smuggler/README.md
21+
recursive-include spyhunt/tools/smuggler *.py
22+
recursive-include spyhunt/tools/smuggler/configs *.py
23+
recursive-include spyhunt/tools/smuggler/payloads *
24+
include spyhunt/tools/smuggler/LICENSE
25+
include spyhunt/tools/smuggler/README.md
2526

2627
# Include whatwaf tool
27-
recursive-include tools/whatwaf *.py
28-
recursive-include tools/whatwaf/content *.txt
29-
recursive-include tools/whatwaf/content *.lst
30-
include tools/whatwaf/LICENSE.md
31-
include tools/whatwaf/README.md
32-
include tools/whatwaf/requirements.txt
33-
include tools/whatwaf/bootstrap.sh
34-
include tools/whatwaf/install_helper.sh
35-
include tools/whatwaf/Dockerfile
36-
37-
# Include modules
38-
recursive-include modules *.py
28+
recursive-include spyhunt/tools/whatwaf *.py
29+
recursive-include spyhunt/tools/whatwaf/content *.txt
30+
recursive-include spyhunt/tools/whatwaf/content *.lst
31+
include spyhunt/tools/whatwaf/LICENSE.md
32+
include spyhunt/tools/whatwaf/README.md
33+
include spyhunt/tools/whatwaf/requirements.txt
34+
include spyhunt/tools/whatwaf/bootstrap.sh
35+
include spyhunt/tools/whatwaf/install_helper.sh
36+
include spyhunt/tools/whatwaf/Dockerfile
3937

4038
# Exclude compiled Python files
4139
global-exclude *.pyc

pyproject.toml

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[build-system]
2-
requires = ["setuptools>=45", "wheel", "setuptools_scm>=6.2"]
2+
requires = ["setuptools>=45", "wheel"]
33
build-backend = "setuptools.build_meta"
44

55
[project]
@@ -8,9 +8,12 @@ version = "4.0.0"
88
description = "A comprehensive network scanning and vulnerability assessment tool designed for security professionals"
99
readme = "README.md"
1010
requires-python = ">=3.7"
11-
license = {text = "MIT"}
11+
license = "MIT"
1212
authors = [
13-
{name = "Pymmdrza"}
13+
{name = "Pymmdrza", email = "pymmdrza@gmail.com"}
14+
]
15+
maintainers = [
16+
{name = "Mmdrza", email = "pymmdrza@gmail.com"}
1417
]
1518
keywords = [
1619
"security", "vulnerability", "scanner", "penetration-testing",
@@ -26,7 +29,6 @@ classifiers = [
2629
"Topic :: Security",
2730
"Topic :: System :: Networking",
2831
"Topic :: Internet :: WWW/HTTP",
29-
"License :: OSI Approved :: MIT License",
3032
"Programming Language :: Python :: 3",
3133
"Programming Language :: Python :: 3.7",
3234
"Programming Language :: Python :: 3.8",
@@ -58,6 +60,9 @@ dependencies = [
5860
"boto3",
5961
"ipinfo",
6062
"tqdm",
63+
"impacket",
64+
"PySocks",
65+
"urllib3",
6166
]
6267

6368
[project.optional-dependencies]
@@ -79,9 +84,13 @@ Repository = "https://github.com/Pymmdrza/spyhunt"
7984
spyhunt = "spyhunt.__main__:main"
8085

8186
[tool.setuptools]
82-
packages = ["spyhunt", "spyhunt.modules", "spyhunt.tools"]
8387
include-package-data = true
8488

89+
[tool.setuptools.packages.find]
90+
where = ["."]
91+
include = ["spyhunt*"]
92+
exclude = ["tests*"]
93+
8594
[tool.setuptools.package-data]
8695
spyhunt = [
8796
"payloads/*.txt",

requirements.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,7 @@ ratelimit
1616
pyjwt
1717
boto3
1818
ipinfo
19-
fake-useragent
2019
tqdm
20+
impacket
21+
PySocks
22+
urllib3

setup.py

Lines changed: 7 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -1,102 +1,14 @@
11
#!/usr/bin/env python3
22
"""
33
SpyHunt - A comprehensive network scanning and vulnerability assessment tool
4-
"""
5-
6-
from setuptools import setup, find_packages
7-
import os
8-
import sys
94
10-
# Read the long description from README
11-
with open("README.md", "r", encoding="utf-8") as fh:
12-
long_description = fh.read()
5+
This setup.py is kept for backward compatibility.
6+
All configuration is now in pyproject.toml.
7+
"""
138

14-
# Read requirements
15-
with open("requirements.txt", "r", encoding="utf-8") as fh:
16-
requirements = [line.strip() for line in fh if line.strip() and not line.startswith("#")]
9+
from setuptools import setup
1710

18-
# Package metadata
19-
setup(
20-
name="spyhunt",
21-
version="4.0.0",
22-
author="Mmdrza",
23-
author_email="",
24-
description="A comprehensive network scanning and vulnerability assessment tool designed for security professionals",
25-
long_description=long_description,
26-
long_description_content_type="text/markdown",
27-
url="https://github.com/Pymmdrza/spyhunt",
28-
project_urls={
29-
"Bug Reports": "https://github.com/Pymmdrza/spyhunt/issues",
30-
"Source": "https://github.com/Pymmdrza/spyhunt",
31-
"Documentation": "https://github.com/Pymmdrza/spyhunt#readme",
32-
},
33-
packages=find_packages(exclude=["tests", "tests.*"]),
34-
classifiers=[
35-
"Development Status :: 5 - Production/Stable",
36-
"Intended Audience :: Information Technology",
37-
"Intended Audience :: System Administrators",
38-
"Intended Audience :: Developers",
39-
"Topic :: Security",
40-
"Topic :: System :: Networking",
41-
"Topic :: Internet :: WWW/HTTP",
42-
"License :: OSI Approved :: MIT License",
43-
"Programming Language :: Python :: 3",
44-
"Programming Language :: Python :: 3.7",
45-
"Programming Language :: Python :: 3.8",
46-
"Programming Language :: Python :: 3.9",
47-
"Programming Language :: Python :: 3.10",
48-
"Programming Language :: Python :: 3.11",
49-
"Operating System :: OS Independent",
50-
"Operating System :: POSIX :: Linux",
51-
"Operating System :: MacOS",
52-
"Environment :: Console",
53-
],
54-
keywords=[
55-
"security", "vulnerability", "scanner", "penetration-testing",
56-
"reconnaissance", "bug-bounty", "web-security", "network-security",
57-
"subdomain-enumeration", "vulnerability-scanner", "security-tools",
58-
"pentesting", "ethical-hacking", "infosec", "cybersecurity",
59-
"xxe", "ssrf", "ssti", "nosql-injection", "crlf", "xss", "sqli"
60-
],
61-
python_requires=">=3.7",
62-
install_requires=requirements,
63-
extras_require={
64-
"dev": [
65-
"pytest>=7.0.0",
66-
"pytest-cov>=3.0.0",
67-
"black>=22.0.0",
68-
"flake8>=4.0.0",
69-
"mypy>=0.950",
70-
],
71-
},
72-
entry_points={
73-
"console_scripts": [
74-
"spyhunt=spyhunt.__main__:main",
75-
],
76-
},
77-
include_package_data=True,
78-
package_data={
79-
"spyhunt": [
80-
"payloads/*.txt",
81-
"scripts/*.sh",
82-
"scripts/*.py",
83-
"tools/f5bigip_scanner.py",
84-
"tools/pathhunt.py",
85-
"tools/assetfinder",
86-
"tools/smuggler/*.py",
87-
"tools/smuggler/configs/*.py",
88-
"tools/smuggler/payloads/*",
89-
"tools/whatwaf/**/*.py",
90-
"tools/whatwaf/content/files/*.txt",
91-
"tools/whatwaf/content/files/*.lst",
92-
"LICENSE",
93-
"README.md",
94-
],
95-
},
96-
zip_safe=False,
97-
platforms=["any"],
98-
license="MIT",
99-
maintainer="Mmdrza",
100-
maintainer_email="pymmdrza@gmail.com",
101-
)
11+
# All configuration is in pyproject.toml
12+
# This minimal setup.py is kept for backward compatibility with older pip versions
13+
setup()
10214

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)