79 Commits

Author SHA1 Message Date
Alicia Sykes
499191becc feat: Removed carbon dep, remove partytown, open links in new tab 2026-05-09 16:31:24 +01:00
Alicia Sykes
1ba14ef0c0 ref: Clearer error messaging for upstream 403 and chromium bin 2026-05-07 21:46:04 +01:00
Alicia Sykes
ac13b20e61 fix: Chromium now working on Netlify 2026-05-07 17:55:25 +01:00
Alicia Sykes
6d716c667c fix: Update lamda function signature for node 24 2026-05-07 16:48:33 +01:00
Alicia Sykes
01d0cf1a0d chore: Format 2026-05-07 16:22:22 +01:00
Alicia Sykes
5acd6da911 fix: Many data fixes 2026-05-07 08:49:19 +01:00
Alicia Sykes
f674fb814d ref: Improved URL detection and parsing 2026-05-06 19:50:24 +01:00
Alicia Sykes
3ba5e58b10 feat: Local carbon calculations, fixed location 2026-05-05 16:57:13 +01:00
Alicia Sykes
33e778cb15 feat: More robust whois and sitemap checks 2026-05-05 16:21:56 +01:00
Alicia Sykes
3aeb8cf86d chore: Upgrades all deps, migrate to new astro, ts, etc. removes non-essential deps 2026-05-05 12:10:19 +01:00
Alicia Sykes
24e13885ba ref: Remove builtwith and traceroute 2026-05-05 08:42:50 +01:00
Alicia Sykes
c60dc5d574 ref: Consistent API error/skip obj shapes 2026-05-05 06:47:13 +01:00
Alicia Sykes
9900d2b540 feat: Re-write TLS checking, removes mozilla replaces with SSL Labs 2026-05-04 22:38:21 +01:00
Alicia Sykes
b38a457d03 ref: Simpler hook and way of managing checks 2026-05-04 21:03:52 +01:00
Alicia Sykes
6ae6b25d45 fix: Vercel Node 20 deploy, and sec visibility
- Fixes Vercel deployment by pinning to 20.x
- Refactors console outputs into logger.js
- Fixes sections still visible when no data (Server Info)
- Fixes checks still show error after fallback succeeds (Screenshot)
- Updates client-side env var names, from `REACT_APP_` to `PUBLIC_`
2026-05-04 15:59:07 +01:00
Alicia Sykes
1298b9431d ref: Reliability improvments and fixes
- Sitemap endpoint now recursively expands sitemap-index files
  - Fixes #165
- Strips :port from target URLs in get-ip, dns, dns-server, ports, mail-config
  - Fixes #203
- Configurable trust proxy (TRUST_PROXY env) so app works behind Traefik/nginx
  - Fixes #157
- Tranco rank now correctly says "top 1 million" (was "100 million")
  - Fixes #257
- Adds engines.node ">=20" so Vercel picks a supported runtime
  - Re #212
- Raises Vercel maxDuration from 10s to 60s, cutting most 504 timeouts
  - Re #251
  - Re #287
- Bumps axios 1.4.8 to 1.16, closing 4 high-severity SSRF/DoS CVEs
  - Re #289
- Fixes mail-config crash where dns module was awaited as if promise-based
- Adds reusable structured logging util for the API
- Bumps a whole bunch of deps, and resolves lots of open npm CVEs
2026-05-04 14:32:51 +01:00
jorgearma
795d41ff42 fix: add User-Agent header to avoid bot-blocking on security.txt fetch 2026-04-21 00:33:02 +02:00
jorgearma
44b8b44575 fix: continue checking paths when security.txt returns HTML 2026-04-16 03:06:50 +02:00
Sid
a163c356b9 fix: handle non-JSON responses in carbon.js to prevent crash
When the WebsiteCarbon API is protected by Cloudflare and requests
originate from datacenter IPs, Cloudflare may return an HTML challenge
page instead of JSON. This caused JSON.parse() to throw an uncaught
SyntaxError exception, crashing the entire application.

This fix:
- Checks if the response starts with HTML markers before parsing
- Wraps JSON.parse in try-catch for additional safety
- Returns a descriptive error message instead of crashing

Fixes #268
2026-01-08 21:54:20 +05:30
jayrizon
8715274c9a adds ports to check environment variable.
Checks if the env PORTS_TO_CHECK is set, if so the string is split via "," to get an array of ports to check.
If the env is not set, return the default commonly used ports.
2025-08-01 08:27:15 +02:00
Alicia Sykes
0e4958aa10 security: Replace exec with execFile 2025-04-12 12:11:11 +01:00
Tobias
bbf519e110 fix screenshot.js 2025-02-26 13:55:48 +01:00
Alicia Sykes
da0204c156 feat: Temporarily disable, because I am poor. 2024-12-17 20:16:36 +00:00
Alicia Sykes
ba8880cff7 feat: Add old-school export option for Netlify 2024-06-18 22:07:27 +01:00
Alicia Sykes
43fb27eade Merge branch 'master' of github.com:lissy93/web-check into FEAT/astroify 2024-06-16 21:18:41 +01:00
Denis Simonov
b55a1cc1b3 Sort openPorts and failedPorts before returning 2024-05-28 02:59:30 +03:00
Alicia Sykes
cb8db0b1f5 JSON parsing in API endpoints 2024-05-18 15:01:52 +01:00
Denis Simonov
7125eeff5d Update firewall.js, add ddos-guard WAF
Add ddos-guard WAF
https://ddos-guard.net/en
2024-05-17 00:00:56 +03:00
Alicia Sykes
c9e57400fd Convert all API endpoints into ESM modules 2024-05-06 21:51:32 +01:00
Denis Simonov
9609cd3701 Update firewall.js, add QRATOR WAF
Add new firewall: https://qrator.net/
2024-05-03 18:23:04 +03:00
KostLinux
38d6b5b97e Fix bug with JSON Doctype #120 2024-03-26 15:35:24 +02:00
Alicia Sykes
24ca677021 Fix timeout parsing, and show timeout on Vercel 2024-03-22 06:40:36 +00:00
Alicia Sykes
ada1dccc5b Update timeout message for sitemap 2024-03-20 21:19:58 +00:00
Alicia Sykes
523419df11 Adds timeout functionality 2024-03-20 20:43:51 +00:00
Alicia Sykes
ee74c5866a Slight improvments to error messaging for sitemap and quality report 2024-03-14 07:59:03 +00:00
Gertje823
e77075764e Added Mimecast as mail provider 2024-03-09 13:49:38 +01:00
Murray Christopherson
09e5b5d888 Check the correct header for the strictTransportPolicy property
See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security
2023-09-13 19:29:58 -07:00
Marco Ochse
2bce29e3cb Allow for Screenshot within Docker
Chromium in Docker needs to be startet without sandbox or screenshot will fail.
2023-09-12 11:01:49 +02:00
Alicia Sykes
5297b2ffe7 Fixes block-lists job (#50) 2023-09-09 20:29:19 +01:00
Alicia Sykes
8a7b024e99 Return plain JSON, to be handled by middleware instead 2023-09-03 16:58:46 +01:00
Alicia Sykes
59203acdfa Update the env check, to determine what handler format to use 2023-09-03 15:32:58 +01:00
Alicia Sykes
1a95a42853 Updates all API functions, to work on both Vercel & Netlify 2023-09-03 12:27:04 +01:00
Alicia Sykes
3695c82472 Updates middleware, with both AWS and Express support 2023-09-03 12:26:41 +01:00
Alicia Sykes
749a61358c Improve SSL check, by useing direct TLS connection and listen for secureConnect event 2023-08-26 13:09:08 +01:00
Alicia Sykes
86bb64a4d0 Adds an endpoint for fetching TLS info via Moz observetory 2023-08-22 21:40:22 +01:00
Alicia Sykes
8ca747c02f Adds support for Google Safe Browsing in threats API endpoint 2023-08-19 23:36:47 +01:00
Alicia Sykes
759bb603df Adds functionality for threats, malware, phishing, viruses 2023-08-19 22:00:15 +01:00
Alicia Sykes
93ed8d6c44 Working on lambda function for malware, phishing and viruses check 2023-08-18 19:33:49 +01:00
Alicia Sykes
dbcbd36874 Skip check if robots.txt not present 2023-08-18 19:27:38 +01:00
Alicia Sykes
519d2f0f79 Adds checking for Blocklists 2023-08-18 16:20:16 +01:00