Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
FROM python:3.12-slim

ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
PYTHONPATH=/app

WORKDIR /app

RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
libxml2-dev \
libxslt1-dev \
libffi-dev \
libssl-dev \
git \
&& rm -rf /var/lib/apt/lists/*

# Install package dependencies using setup.py (uses install_requires to avoid conflicting pins)
COPY setup.py README.md MANIFEST.in /app/
RUN pip install --no-cache-dir .

# Copy project sources (we run as a module; this allows local changes via volume)
COPY . /app

# Default entrypoint runs the CLI as a module; user can pass CLI args to docker run
ENTRYPOINT ["python", "-m", "subsurfer"]
CMD ["--help"]
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ propcache==0.2.1
Pygments==2.18.0
pytest==8.3.4
pytest-asyncio==0.25.0
python-Wappalyzer==0.3.1
python-Wappalyzer @ git+https://github.com/mirusu400/python-Wappalyzer
PyYAML==6.0.2
requests==2.32.5
rich==13.9.4
Expand Down
62 changes: 31 additions & 31 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,50 +4,50 @@
name="subsurfer",
version="1.2.6",
description="Red Teaming and Web Bug Bounty Fast Asset Identification Tool",
long_description=open('README.md').read(),
long_description=open("README.md").read(),
long_description_content_type="text/markdown",
author="arrester",
author_email="arresterloyal@gmail.com",
url="https://github.com/arrester/subsurfer",
packages=find_namespace_packages(include=['subsurfer*']),
packages=find_namespace_packages(include=["subsurfer*"]),
package_data={
'subsurfer': ['core/config/*.yaml', 'core/handler/takeover/*.json'],
"subsurfer": ["core/config/*.yaml", "core/handler/takeover/*.json"],
},
include_package_data=True,
install_requires=[
'rich>=13.7.0',
'aiohttp>=3.9.1',
'beautifulsoup4>=4.12.2',
'dnspython>=2.4.2',
'aiodns>=3.0.0',
'pyyaml>=6.0.1',
'asyncio>=3.4.3',
'pytest>=7.4.3',
'pytest-asyncio>=0.23.2',
'python-Wappalyzer>=0.3.1',
'setuptools>=78.1.1'
"rich>=13.7.0",
"aiohttp>=3.9.1",
"beautifulsoup4>=4.12.2",
"dnspython>=2.4.2",
"aiodns>=3.0.0",
"pyyaml>=6.0.1",
"asyncio>=3.4.3",
"pytest>=7.4.3",
"pytest-asyncio>=0.23.2",
"python-Wappalyzer @ git+https://github.com/mirusu400/python-Wappalyzer",
"setuptools>=78.1.1",
],
entry_points={
'console_scripts': [
'subsurfer=subsurfer.__main__:run_main',
"console_scripts": [
"subsurfer=subsurfer.__main__:run_main",
],
},
python_requires='>=3.9',
python_requires=">=3.9",
classifiers=[
'Development Status :: 3 - Alpha',
'Intended Audience :: Information Technology',
'Intended Audience :: System Administrators',
'Topic :: Security',
'Topic :: Internet :: WWW/HTTP',
'License :: OSI Approved :: MIT License',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.13',
'Operating System :: OS Independent',
"Development Status :: 3 - Alpha",
"Intended Audience :: Information Technology",
"Intended Audience :: System Administrators",
"Topic :: Security",
"Topic :: Internet :: WWW/HTTP",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.13",
"Operating System :: OS Independent",
],
keywords='security, subdomain enumeration, bug bounty, red team, web security',
keywords="security, subdomain enumeration, bug bounty, red team, web security",
project_urls={
'Bug Reports': 'https://github.com/arrester/subsurfer/issues',
'Source': 'https://github.com/arrester/subsurfer',
'Documentation': 'https://github.com/arrester/subsurfer#readme',
"Bug Reports": "https://github.com/arrester/subsurfer/issues",
"Source": "https://github.com/arrester/subsurfer",
"Documentation": "https://github.com/arrester/subsurfer#readme",
},
)
)