https://github.com/blackarrowsec/wappy
Discover web technologies in web applications from your terminal
https://github.com/blackarrowsec/wappy
Last synced: 11 months ago
JSON representation
Discover web technologies in web applications from your terminal
- Host: GitHub
- URL: https://github.com/blackarrowsec/wappy
- Owner: blackarrowsec
- License: gpl-3.0
- Created: 2020-09-09T09:51:14.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2021-11-18T11:25:29.000Z (over 4 years ago)
- Last Synced: 2025-06-19T05:17:44.805Z (about 1 year ago)
- Language: Python
- Homepage:
- Size: 428 KB
- Stars: 53
- Watchers: 2
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# wappy
[]() []()
A tool to discover technologies in web applications from your terminal. It uses the
[wap library](https://github.com/blackarrowsec/wap), that is a python implementation of the great
[Wappalyzer](https://www.wappalyzer.com) browser extension. In fact, it uses
the rules defined in the file
[technologies.json](https://github.com/AliasIO/wappalyzer/blob/master/src/technologies.json)
of the [Wappalyzer repository](https://github.com/AliasIO/wappalyzer).
Note that results could not be exactly the same as the [Wappalyzer](https://www.wappalyzer.com) extension. This is because part of the information collected by wappy comes from the raw html, before being modified by javascript, as would be the case in a browser.
## Setup
To install from pypi:
```shell
pip3 install wappy
```
To install from repo:
```shell
git clone https://github.com/blackarrowsec/wappy
cd wappy/
make install
```
To install dependencies:
```shell
git clone https://github.com/blackarrowsec/wappy
cd wappy/
make
python3 wappy.py -h
```
To update technologies.json file:
```shell
wappy-update
```
## Usage
As input, you should provide urls, and wappy will make a request and identify
technologies based on the response.
To get technologies from url:
```shell
$ wappy https://twitter.com
https://twitter.com/ Express
https://twitter.com/ Node.js
```
To get technologies from several urls you can provide a file or send
urls for stdin:
```shell
$ cat urls.txt | wappy
$ wappy urls.txt
https://www.google.com/ Google Web Server
https://twitter.com/ Express
https://twitter.com/ Node.js
https://www.reddit.com/ Varnish
https://www.reddit.com/ Reddit
https://www.reddit.com/ Python
```
In json format:
```shell
$ wappy urls.txt -j
[{"name": "Google Web Server", "url": "https://www.google.com/"}, {"name": "Express", "url": "https://twitter.com/"}, {"name": "Node.js", "url": "https://twitter.com/"}, {"name": "Reddit", "url": "https://www.reddit.com/"}, {"name": "Python", "url": "https://www.reddit.com/"}, {"name": "Varnish", "url": "https://www.reddit.com/"}]
```
In [schema.json](./schema.json) you have the schema of the json output.
Show version (`-b`), categories (`-k`) and confidence (`-c`) with `;`
as delimiter (`-d`):
```shell
$ wappy https://python.org -kbc -d ';'
https://www.python.org/;jQuery;1.8.2;100;JavaScript libraries
https://www.python.org/;Varnish;;100;Caching
https://www.python.org/;Modernizr;;100;JavaScript libraries
https://www.python.org/;Nginx;;100;Web servers,Reverse proxies
```
In json format:
```shell
$ wappy https://python.org -kbc -j
[{"name": "Modernizr", "url": "https://www.python.org/", "version": "", "confidence": 100, "categories": ["JavaScript libraries"]}, {"name": "jQuery", "url": "https://www.python.org/", "version": "1.8.2", "confidence": 100, "categories": ["JavaScript libraries"]}, {"name": "Varnish", "url": "https://www.python.org/", "version": "", "confidence": 100, "categories": ["Caching"]}, {"name": "Nginx", "url": "https://www.python.org/", "version": "", "confidence": 100, "categories": ["Web servers", "Reverse proxies"]}]
```
## Adding new technologies
If you want that wappy detects a new technology, you can add your rules to the
[technologies.json](https://github.com/AliasIO/wappalyzer/blob/master/src/technologies.json)
file and load it with wappy.
Please, consider to do a pull request to
[Wappalyzer repo](https://github.com/AliasIO/wappalyzer)
and share your rules with the community. Follow the rules in
[Adding a new technology](https://www.wappalyzer.com/docs/dev/contributing#adding-a-new-technology).
Please do not submit pull requests related to technologies.json, since this repository is
not related with Wappalyzer.
## Author
Eloy Pérez ([@Zer1t0](https://github.com/Zer1t0)) [ [www.blackarrow.net](http://blackarrow.net/) - [www.tarlogic.com](https://www.tarlogic.com/en/) ]
## License
All the code included in this project is licensed under the terms of the GNU GPLv3 license.
#
[](https://www.blackarrow.net) [](https://twitter.com/BlackArrowSec) [](https://www.linkedin.com/company/blackarrowsec/)