Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
b01758e
Fillout forms
paul-at Sep 14, 2024
7cca514
Merge pull request #194 from TitovDigital/fillout
enthec-opensource Sep 16, 2024
ecbe9b8
oops
enthec-opensource Sep 16, 2024
99792c1
fix outdated links
RignonNoel Nov 3, 2024
048817f
Merge pull request #196 from RignonNoel/patch-1
enthec-opensource Nov 4, 2024
7d88b01
some new technologies
enthec-opensource Nov 4, 2024
583e672
icons fix
enthec-opensource Nov 4, 2024
fdfeb1c
oops
enthec-opensource Nov 4, 2024
55c1eb1
Merge pull request #197 from enthec/sync
enthec-opensource Nov 4, 2024
e22e25d
structure auto fix script
enthec-opensource Nov 9, 2024
f07f9e1
Merge pull request #199 from enthec/scripts
enthec-opensource Nov 9, 2024
ac6df33
Rename icon to avoid conflicts
thc202 Nov 11, 2024
79e7569
Merge pull request #200 from thc202/correct-icon
enthec-opensource Nov 11, 2024
e7b1274
Merge branch 'main' into sync
enthec-opensource Dec 27, 2024
81a024a
tech resync
enthec-opensource Dec 27, 2024
f476bbc
Merge branch 'main' into sync
enthec-opensource Dec 27, 2024
aaf3709
Merge pull request #201 from enthec/sync
enthec-opensource Dec 27, 2024
150e169
tech resync
enthec-opensource Jan 22, 2025
2024451
Merge pull request #202 from enthec/sync
enthec-opensource Jan 22, 2025
f64f0e3
dns issues
enthec-opensource Jan 30, 2025
a55153d
cleaner readme
enthec-opensource Jan 30, 2025
c5235cd
dns doc
enthec-opensource Jan 31, 2025
b8dab3c
note
enthec-opensource Jan 31, 2025
5c0ddae
note format
enthec-opensource Jan 31, 2025
a93aef8
html
enthec-opensource Jan 31, 2025
67419cd
Merge pull request #203 from enthec/readme
enthec-opensource Jan 31, 2025
7281529
Update README.md
kingthorin Feb 16, 2025
424878a
Merge pull request #204 from kingthorin/patch-1
enthec-opensource Feb 17, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
22 changes: 21 additions & 1 deletion .github/workflows/scripts/technology_validator.py
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,26 @@ def get_type(self) -> list[Type]:
return [dict]


class DNSValidator(DictValidator):
def _validate(self, tech_name: str, data: Any) -> bool:
if not super()._validate(tech_name, data):
return False
for k, v in data.items():
if not isinstance(k, str):
self._set_custom_error(InvalidKeyException(f"key in DNS for tech '{tech_name}' has an invalid type. 'str' is required, got type '{type(k).__name__}' -> '{k}'"))
return False
if not isinstance(v, list):
self._set_custom_error(InvalidKeyException(f"value in DNS for tech '{tech_name}' has an invalid type. 'list' is required, got type '{type(v).__name__}' -> '{v}'"))
return False
for record in v:
if not isinstance(record, str):
self._set_custom_error(InvalidTypeForFieldException(f"Invalid type for dns in tech '{tech_name}', selector '{v}' '{record}' key must be string!"))
return False
if not self._validate_regex(tech_name, record):
return False
return True


class CategoryValidator(ArrayValidator):
def __init__(self, categories: list[int], required: bool = False):
super().__init__(required)
Expand Down Expand Up @@ -323,7 +343,7 @@ def __init__(self, file_name: str):
"requiresCategory": CategoryValidator(self._CATEGORIES),
"cookies": DictValidator(contains_regex=True),
"dom": DomValidator(),
"dns": DictValidator(contains_regex=True),
"dns": DNSValidator(contains_regex=True),
"js": DictValidator(contains_regex=True),
"headers": DictValidator(contains_regex=True),
"text": ArrayValidator(contains_regex=True),
Expand Down
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
.idea/

.project
.settings
.settings

.sync/
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Contributing

WebAppAnalyzer is an [GPLv3 licensed](https://github.com/wappalyzer/wappalyzer/blob/master/LICENSE), open source project written in JavaScript. Anyone is welcome to contribute.
WebAppAnalyzer is an [GPLv3 licensed](https://github.com/enthec/webappanalyzer/blob/master/LICENSE), open source project written in JavaScript. Anyone is welcome to contribute.

## Getting started

To get started, see the [README](https://github.com/wappalyzer/wappalyzer/blob/master/README.md).
To get started, see the [README](https://github.com/enthec/webappanalyzer/blob/master/README.md).

## Adding a new technology

Expand Down
Loading