-
Notifications
You must be signed in to change notification settings - Fork 0
Contributing
Anyone who wants to contribute is more than welcome to do so! Wappalyzer has been improved by many.
To get started, please read the README, the guidelines below and the specification. For instructions on how to install Wappalyzer to test your changes, see the Drivers page.
-
Edit
src/apps.json
(use a JSON validator). -
You can now use SVGs. These are preferred to PNGs, as they are vector graphics and can scale to any size. If you do anything with Inkscape, be sure to save it as a Plain SVG. They will be compressed later in the build script, so don't worry about that. Open it in any browser just to be sure that it displays correctly. Width and height doesn't matter, as it is a vector image. You can open EPS files with Inkscape and save them as SVGs if you install the Ghostcript Postscript and PDF interpreter/renderer. The filename should be the same as the application name and should be added to
src/icons
. To find a logo you can use Instant Logo Search. -
If you can't find an SVG, add a 32x32 PNG image to
src/icons
matching the application name (use iConvert Icons to convert from ICO format if needed; and then Kraken, Tinypng.com or OptiPNG for compression).
Please open an issue to discuss. Adding a category involves updating apps.json
, locales and wappalyzer.com.
Copy src/drivers/firefox/locale/en-US.properties
and update its contents.
Copy src/drivers/chrome/_locales/en
and update its contents.
I'm much more likely to merge a pull request if it's an incremental change rather than rewritten or added functionality. If you have an idea please open an issue to discuss it first. I'm interested to hear it.
- Use these regular expressions to spot potential problems. Note that these patterns are not perfect (i.e. false positive can occur) and we are constantly trying to improve them so share your patterns to spot problems.
Syntax problems | Regular expression |
---|---|
Missing \\ | ^.*[^\\];(?:version|confidence).*$ |
Missing ?: in groups | ^.*[^\\]\([^?](?!.*(?:version|\\\\1)).*$ |
Missing ?: in groups 2 | ^.*version:\\\\[^1].*$ |
Unescaped dot | ^\t{3}"[^wi].*[^\\][^\\\[]\.[^+*\]].*$ |
Replace 0-9 by \\d | ^.*0-9.*$ |
Useless array | ^.*\[ "[^"]+" \].*$ |
Backslash not escaped | ^.*[^\\]\\[^\\/"].*$ |
Useless ?: | ^.*\\\(?:.*$ |
Patterns problems | Regular expression |
---|---|
HTML matching plain text | ^.*"html"[^<>\n]*$ |
HTML slow matching | ^.*"html".*\.[+*].*$ |
Useless http(s) | ^.* "http.*$ |
Useless group | ^.*\(\?:[^\n|]*[^\\?]\)[^?)*|].*$ |
Useless .+ or .* at the end | ^.*"[^"]{2,}[*+]".*$ |