Incredibly fast crawler which extracts urls, emails, files, website accounts and much more.
- Photon is a lightning fast web crawler which extracts URLs, files, intel & endpoints from a target.
- 160 requests per second while extensive data extraction is just another day for Photon!
Photon has been tested on Linux (Arch, Debian, Ubnutu), Termux, Windows (7 & 10), Mac, and works as expected.
Data ExtractionPhoton extracts the following data while crawling by default:
- 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.)
- Strings based on custom regex pattern
The extracted information is saved in an organized manner.
Intelligent MultithreadingHere's a secret, most of the tools floating on the internet aren't properly multi-threaded even if they are supposed to. They either supply a list of items to threads which results in multiple threads accessing the same item or they simply put a thread lock and end up rendering multi-threading useless.
But Photon is different or should I say "genius"? Take a look at this and decide yourself.
Ninja ModeIn Ninja Mode, 3 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.
Here's a comparison generated by Quark where the lines represent threads:
Photon's capabilites can be further extended by using plugins.
- dnsdumpster: Generates an image containing the DNS data of the target domain.
- Exporter: Plugin to export results in JSON, support for more formats is being worked on.
Plugins in active development:
- Quark: A plugin to plot a graph making it easier to inspect relationships between different web-pages using Quark.
- XSStrike: Modular & targeted version of XSStrike to be used with Photon.
- dnsdumpster: A new version of the plugin is in development which will save the DNS data in a nicely formatted HTML file.
usage: photon.py [options]
-u --url root url
-l --level levels to crawl
-t --threads number of threads
-d --delay delay between requests
-c --cookie cookie
-r --regex regex pattern
-s --seeds additional seed urls
-e --export export formatted result
-o --output specify output directory
--timeout http requests timeout
--ninja ninja mode
--update update photon
--dns dump dns data
--only-urls only extract urls
--user-agent specify user-agent(s)
Frequent & Seemless UpdatesThe project is under heavy development and updates for fixing bugs. optimizing performance & new features are being rolled everyday.
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.