MCPcopy Index your code
hub / github.com/s0md3v/Photon

github.com/s0md3v/Photon @v1.3.0

repository ↗ · DeepWiki ↗ · release v1.3.0 ↗ · + Follow
26 symbols 145 edges 16 files 24 documented · 92% 1 cross-repo links
README

Photon Photon

Incredibly fast crawler designed for OSINT.

pypi

demo

Photon WikiHow To UseCompatibilityPhoton LibraryContributionRoadmap

Key Features

Data Extraction

Photon can extract the following data while crawling:

  • URLs (in-scope & out-of-scope)
  • URLs with parameters (example.com/gallery.php?id=2)
  • Intel (emails, social media accounts, amazon buckets etc.)
  • Files (pdf, png, xml etc.)
  • Secret keys (auth/API keys & hashes)
  • JavaScript files & Endpoints present in them
  • Strings matching custom regex pattern
  • Subdomains & DNS related data

The extracted information is saved in an organized manner or can be exported as json.

save demo

Flexible

Control timeout, delay, add seeds, exclude URLs matching a regex pattern and other cool stuff. The extensive range of options provided by Photon lets you crawl the web exactly the way you want.

Genius

Photon's smart thread management & refined logic gives you top notch performance.

Still, crawling can be resource intensive but Photon has some tricks up it's sleeves. You can fetch URLs archived by archive.org to be used as seeds by using --wayback option.

In Ninja Mode which can be accessed by --ninja, 4 online services are used to make requests to the target on your behalf.

So basically, now you have 4 clients making requests to the same server simultaneously which gives you a speed boost if you have a slow connection, minimizes the risk of connection reset as well as delays requests from a single client.

Plugins

Docker

Photon can be launched using a lightweight Python-Alpine (103 MB) Docker image.

$ git clone https://github.com/s0md3v/Photon.git
$ cd Photon
$ docker build -t photon .
$ docker run -it --name photon photon:latest -u google.com

To view results, you can either head over to the local docker volume, which you can find by running docker inspect photon or by mounting the target loot folder:

$ docker run -it --name photon -v "$PWD:/Photon/google.com" photon:latest -u google.com

Frequent & Seamless Updates

Photon is under heavy development and updates for fixing bugs. optimizing performance & new features are being rolled regularly.

If you would like to see features and issues that are being worked on, you can do that on Development project board.

Updates can be installed & checked for with the --update option. Photon has seamless update capabilities which means you can update Photon without losing any of your saved data.

Contribution & License

You can contribute in following ways:

  • Report bugs
  • Develop plugins
  • Add more "APIs" for ninja mode
  • Give suggestions to make it better
  • Fix issues & submit a pull request

Please read the guidelines before submitting a pull request or issue.

Do you want to have a conversation in private? Hit me up on my twitter, inbox is open :)

Photon is licensed under GPL v3.0 license

Core symbols most depended-on inside this repo

verb
called by 13
core/utils.py
requester
called by 3
core/requester.py
remove_file
called by 2
photon.py
remove_regex
called by 2
core/utils.py
writer
called by 2
core/utils.py
top_level
called by 2
core/utils.py
flash
called by 2
core/flash.py
time_machine
called by 2
plugins/wayback.py

Shape

Function 26

Languages

Python100%

Modules by API surface

core/utils.py10 symbols
photon.py5 symbols
core/requester.py2 symbols
plugins/wayback.py1 symbols
plugins/find_subdomains.py1 symbols
plugins/exporter.py1 symbols
plugins/dnsdumpster.py1 symbols
core/zap.py1 symbols
core/updater.py1 symbols
core/prompt.py1 symbols
core/mirror.py1 symbols
core/flash.py1 symbols

Used by 1 indexed graphs manifest dependencies, hub-wide

For agents

$ claude mcp add Photon \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact