|
| 1 | +# Domain Whitelist for Zeuz Node |
| 2 | + |
| 3 | +Domain whitelist for organizations running Zeuz Node behind a firewall or proxy. Covers all |
| 4 | +external network dependencies: package managers, browser downloads, driver binaries, cloud |
| 5 | +services, and runtime APIs used by the framework and its sub-applications. |
| 6 | + |
| 7 | +> **Source**: [Zeuz_Python_Node](https://github.com/AutomationSolutionz/Zeuz_Python_Node) |
| 8 | +> repository analysis — `pyproject.toml`, `Apps/`, `Framework/install_handler/`, and |
| 9 | +> runtime code in `Framework/Built_In_Automation/`. |
| 10 | +
|
| 11 | +--- |
| 12 | + |
| 13 | +## Table of Contents |
| 14 | + |
| 15 | +- [Core Package Managers](#core-package-managers) |
| 16 | +- [GitHub / Source Hosting](#github--source-hosting) |
| 17 | +- [Go Module Proxy](#go-module-proxy) |
| 18 | +- [Browser Downloads & WebDrivers](#browser-downloads--webdrivers) |
| 19 | +- [Mobile Testing (Appium / Android / iOS)](#mobile-testing-appium--android--ios) |
| 20 | +- [Google Cloud Platform](#google-cloud-platform) |
| 21 | +- [Snowflake](#snowflake) |
| 22 | +- [OCR Models (EasyOCR / PyTorch)](#ocr-models-easyocr--pytorch) |
| 23 | +- [Temporary Email Services](#temporary-email-services) |
| 24 | +- [Chrome Extension Downloads](#chrome-extension-downloads) |
| 25 | +- [Security Testing Tools](#security-testing-tools) |
| 26 | +- [mitmproxy](#mitmproxy) |
| 27 | +- [Zeuz Server](#zeuz-server) |
| 28 | +- [TLS / Certificate Validation](#tls--certificate-validation) |
| 29 | +- [Consolidated List](#consolidated-list) |
| 30 | + |
| 31 | +--- |
| 32 | + |
| 33 | +## Core Package Managers |
| 34 | + |
| 35 | +### Python (uv / pip / PyPI) |
| 36 | + |
| 37 | +| Domain | Purpose | |
| 38 | +|--------|---------| |
| 39 | +| `pypi.org` | Package index | |
| 40 | +| `pypi.python.org` | Legacy package index | |
| 41 | +| `files.pythonhosted.org` | Package file downloads | |
| 42 | +| `python.org` | Python installer downloads | |
| 43 | +| `astral.sh` | `uv` package manager website | |
| 44 | + |
| 45 | +The `uv` binary itself is downloaded from GitHub releases (`github.com/astral-sh/uv`). |
| 46 | + |
| 47 | +### Node.js / npm |
| 48 | + |
| 49 | +| Domain | Purpose | |
| 50 | +|--------|---------| |
| 51 | +| `nodejs.org` | Node.js binary downloads (used by `nodejs_appium_installer.py`) | |
| 52 | +| `registry.npmjs.org` | npm package registry (Appium server, AI Recorder 2 deps) | |
| 53 | + |
| 54 | +**Note**: No Yarn domains needed. The project uses npm exclusively. |
| 55 | + |
| 56 | +### Go Modules (node_runner) |
| 57 | + |
| 58 | +| Domain | Purpose | |
| 59 | +|--------|---------| |
| 60 | +| `proxy.golang.org` | Go module proxy (default) | |
| 61 | +| `sum.golang.org` | Go checksum database | |
| 62 | +| `storage.googleapis.com` | Go module/binary storage | |
| 63 | + |
| 64 | +The `Apps/node_runner/` Go app has no external dependencies currently (`go.mod` has zero |
| 65 | +`require` directives), but Go tooling still contacts these for builds. |
| 66 | + |
| 67 | +--- |
| 68 | + |
| 69 | +## GitHub / Source Hosting |
| 70 | + |
| 71 | +| Domain | Purpose | |
| 72 | +|--------|---------| |
| 73 | +| `github.com` | Repo cloning, release downloads, `uv` binary, PyGetWindow fork, Arachni, WebDriverAgent | |
| 74 | +| `api.github.com` | GitHub API (Arachni latest release lookup) | |
| 75 | +| `raw.githubusercontent.com` | Raw file downloads (inspector.exe for Windows) | |
| 76 | +| `codeload.github.com` | Archive downloads (PyGetWindow zip) | |
| 77 | +| `objects.githubusercontent.com` | Release asset downloads | |
| 78 | +| `github-releases.githubusercontent.com` | Release binary downloads (EasyOCR models, uv, etc.) | |
| 79 | + |
| 80 | +Referenced repos: |
| 81 | +- `AutomationSolutionz/PyGetWindow-0.0.5` — custom fork (zip source install) |
| 82 | +- `AutomationSolutionz/Zeuz_Python_Node_Setup` — inspector.exe |
| 83 | +- `AutomationSolutionz/InstallerHelperFiles` — poppler_win.zip |
| 84 | +- `JaidedAI/EasyOCR` — OCR model weights |
| 85 | +- `Arachni/arachni` — security scanner releases |
| 86 | +- `appium/WebDriverAgent` — iOS WebDriver cloning |
| 87 | +- `astral-sh/uv` — uv binary releases |
| 88 | + |
| 89 | +--- |
| 90 | + |
| 91 | +## Browser Downloads & WebDrivers |
| 92 | + |
| 93 | +### Playwright Browsers |
| 94 | + |
| 95 | +| Domain | Purpose | |
| 96 | +|--------|---------| |
| 97 | +| `playwright.azureedge.net` | Playwright browser binaries (Chromium, Firefox, WebKit) | |
| 98 | + |
| 99 | +### Selenium / WebDriver Manager |
| 100 | + |
| 101 | +| Domain | Purpose | |
| 102 | +|--------|---------| |
| 103 | +| `googlechromelabs.github.io` | Chrome for Testing version JSON (last-known-good, known-good-versions) | |
| 104 | +| `storage.googleapis.com` | ChromeDriver binary downloads | |
| 105 | +| `edgedl.me.gvt1.com` | ChromeDriver alternative CDN | |
| 106 | +| `msedgedriver.azureedge.net` | Edge WebDriver downloads | |
| 107 | + |
| 108 | +WebDriver Manager also uses GitHub releases for GeckoDriver (covered by `github.com` above). |
| 109 | + |
| 110 | +### Browser Installers (install_handler) |
| 111 | + |
| 112 | +| Domain | Purpose | |
| 113 | +|--------|---------| |
| 114 | +| `go.microsoft.com` | Edge browser installer redirects | |
| 115 | +| `download.mozilla.org` | Firefox installer downloads | |
| 116 | + |
| 117 | +The `go.microsoft.com` URLs redirect to Microsoft CDN domains — you may also need: |
| 118 | +- `msedge.sf.dl.delivery.mp.microsoft.com` |
| 119 | +- `officecdn-microsoft-com.akamaized.net` |
| 120 | + |
| 121 | +(Exact redirect targets vary by region.) |
| 122 | + |
| 123 | +--- |
| 124 | + |
| 125 | +## Mobile Testing (Appium / Android / iOS) |
| 126 | + |
| 127 | +### Android SDK & JDK |
| 128 | + |
| 129 | +| Domain | Purpose | |
| 130 | +|--------|---------| |
| 131 | +| `dl.google.com` | Android SDK command-line tools | |
| 132 | +| `download.oracle.com` | Oracle JDK 21 downloads | |
| 133 | +| `api.adoptium.net` | Eclipse Temurin JDK API (alternative JDK source) | |
| 134 | +| `github.com` | Adoptium release binary downloads (redirects to `objects.githubusercontent.com`) | |
| 135 | + |
| 136 | +### iOS |
| 137 | + |
| 138 | +| Domain | Purpose | |
| 139 | +|--------|---------| |
| 140 | +| `github.com` | WebDriverAgent cloning (`appium/WebDriverAgent`) | |
| 141 | + |
| 142 | +### Appium Server |
| 143 | + |
| 144 | +Appium is installed via npm — covered by `registry.npmjs.org` above. The Appium Python |
| 145 | +client communicates only with the local Appium server instance. |
| 146 | + |
| 147 | +--- |
| 148 | + |
| 149 | +## Google Cloud Platform |
| 150 | + |
| 151 | +Required by `google-cloud-bigquery`, `google-cloud-bigquery-storage`, and |
| 152 | +`google-cloud-storage` dependencies. |
| 153 | + |
| 154 | +| Domain | Purpose | |
| 155 | +|--------|---------| |
| 156 | +| `storage.googleapis.com` | Cloud Storage API + general Google CDN | |
| 157 | +| `bigquery.googleapis.com` | BigQuery API | |
| 158 | +| `bigquerystorage.googleapis.com` | BigQuery Storage API | |
| 159 | +| `oauth2.googleapis.com` | OAuth 2.0 token endpoint | |
| 160 | +| `accounts.google.com` | Google account authentication | |
| 161 | +| `www.googleapis.com` | Google API discovery + legacy endpoints | |
| 162 | + |
| 163 | +--- |
| 164 | + |
| 165 | +## Snowflake |
| 166 | + |
| 167 | +Required by `snowflake-connector-python`. |
| 168 | + |
| 169 | +| Domain | Purpose | |
| 170 | +|--------|---------| |
| 171 | +| `*.snowflakecomputing.com` | Snowflake account endpoints | |
| 172 | +| `ocsp.snowflakecomputing.com` | Snowflake OCSP certificate validation | |
| 173 | + |
| 174 | +> **Recommendation**: Replace `*` with your organization's specific Snowflake account |
| 175 | +> subdomain (e.g., `myorg.snowflakecomputing.com`) for tighter control. |
| 176 | +
|
| 177 | +--- |
| 178 | + |
| 179 | +## OCR Models (EasyOCR / PyTorch) |
| 180 | + |
| 181 | +The bundled EasyOCR module downloads pre-trained models at runtime. |
| 182 | + |
| 183 | +| Domain | Purpose | |
| 184 | +|--------|---------| |
| 185 | +| `github.com` | EasyOCR model releases (`JaidedAI/EasyOCR`) | |
| 186 | +| `github-releases.githubusercontent.com` | Model zip file downloads | |
| 187 | +| `download.pytorch.org` | PyTorch pre-trained ResNet weights (DBNet backbone) | |
| 188 | + |
| 189 | +Models are downloaded on first use and cached locally in the model storage directory. |
| 190 | + |
| 191 | +--- |
| 192 | + |
| 193 | +## Temporary Email Services |
| 194 | + |
| 195 | +Used by the `utility.py` random/temporary email actions during test execution. |
| 196 | + |
| 197 | +| Domain | Purpose | |
| 198 | +|--------|---------| |
| 199 | +| `www.1secmail.com` | 1secmail temporary email API | |
| 200 | +| `www.developermail.com` | DeveloperMail temporary email API | |
| 201 | + |
| 202 | +These are only needed if your test cases use the temporary email actions. |
| 203 | + |
| 204 | +--- |
| 205 | + |
| 206 | +## Chrome Extension Downloads |
| 207 | + |
| 208 | +Used by Selenium actions that install Chrome extensions during testing. |
| 209 | + |
| 210 | +| Domain | Purpose | |
| 211 | +|--------|---------| |
| 212 | +| `clients2.google.com` | Chrome Web Store CRX download API | |
| 213 | +| `www.crx4chrome.com` | Alternative CRX download source | |
| 214 | + |
| 215 | +Only needed if test cases install Chrome extensions. |
| 216 | + |
| 217 | +--- |
| 218 | + |
| 219 | +## Security Testing Tools |
| 220 | + |
| 221 | +Used by the optional security testing module. |
| 222 | + |
| 223 | +| Domain | Purpose | |
| 224 | +|--------|---------| |
| 225 | +| `api.github.com` | Arachni latest release lookup | |
| 226 | +| `github.com` | Arachni binary download | |
| 227 | + |
| 228 | +Nmap and Nikto are expected to be pre-installed locally (no download domains needed at |
| 229 | +runtime). Strawberry Perl (`strawberryperl.com`) is referenced only in error messages |
| 230 | +directing users to manual installation. |
| 231 | + |
| 232 | +--- |
| 233 | + |
| 234 | +## mitmproxy |
| 235 | + |
| 236 | +| Domain | Purpose | |
| 237 | +|--------|---------| |
| 238 | +| `snapshots.mitmproxy.org` | mitmproxy binary/snapshot downloads | |
| 239 | + |
| 240 | +--- |
| 241 | + |
| 242 | +## Zeuz Server |
| 243 | + |
| 244 | +Your organization's Zeuz Server instance. This is the primary runtime dependency — the node |
| 245 | +polls it for test cases and uploads results. |
| 246 | + |
| 247 | +| Domain | Purpose | |
| 248 | +|--------|---------| |
| 249 | +| `*.zeuz.ai` | Zeuz Server (replace with your org's server domain) | |
| 250 | + |
| 251 | +> **Note**: Replace with your actual server domain. The node connects to endpoints like |
| 252 | +> `/api/v1/`, `/create_step_report/`, `/create_report_log_api/`, etc. |
| 253 | +
|
| 254 | +--- |
| 255 | + |
| 256 | +## TLS / Certificate Validation |
| 257 | + |
| 258 | +OCSP and CRL endpoints required for TLS certificate chain validation. |
| 259 | + |
| 260 | +| Domain | Purpose | |
| 261 | +|--------|---------| |
| 262 | +| `ocsp.digicert.com` | DigiCert OCSP responder | |
| 263 | +| `ocsp.sectigo.com` | Sectigo OCSP responder | |
| 264 | +| `crl.sectigo.com` | Sectigo CRL distribution | |
| 265 | +| `ocsp.pki.goog` | Google Trust Services OCSP | |
| 266 | +| `crl.pki.goog` | Google Trust Services CRL | |
| 267 | +| `ocsp.r2m01.amazontrust.com` | Amazon Trust OCSP (PyPI, npm) | |
| 268 | + |
| 269 | +--- |
| 270 | + |
| 271 | +## Consolidated List |
| 272 | + |
| 273 | +Flat list for firewall/proxy configuration. All entries are HTTPS (port 443) unless noted. |
| 274 | + |
| 275 | +``` |
| 276 | +# ── Package Managers ────────────────────────────────────────── |
| 277 | +pypi.org |
| 278 | +pypi.python.org |
| 279 | +files.pythonhosted.org |
| 280 | +python.org |
| 281 | +astral.sh |
| 282 | +nodejs.org |
| 283 | +registry.npmjs.org |
| 284 | +
|
| 285 | +# ── Go Module Proxy ────────────────────────────────────────── |
| 286 | +proxy.golang.org |
| 287 | +sum.golang.org |
| 288 | +
|
| 289 | +# ── GitHub ──────────────────────────────────────────────────── |
| 290 | +github.com |
| 291 | +api.github.com |
| 292 | +raw.githubusercontent.com |
| 293 | +codeload.github.com |
| 294 | +objects.githubusercontent.com |
| 295 | +github-releases.githubusercontent.com |
| 296 | +
|
| 297 | +# ── Playwright Browsers ────────────────────────────────────── |
| 298 | +playwright.azureedge.net |
| 299 | +
|
| 300 | +# ── Selenium / WebDrivers ──────────────────────────────────── |
| 301 | +googlechromelabs.github.io |
| 302 | +storage.googleapis.com |
| 303 | +edgedl.me.gvt1.com |
| 304 | +msedgedriver.azureedge.net |
| 305 | +
|
| 306 | +# ── Browser Installers ─────────────────────────────────────── |
| 307 | +go.microsoft.com |
| 308 | +download.mozilla.org |
| 309 | +
|
| 310 | +# ── Android SDK / JDK ──────────────────────────────────────── |
| 311 | +dl.google.com |
| 312 | +download.oracle.com |
| 313 | +api.adoptium.net |
| 314 | +
|
| 315 | +# ── Google Cloud Platform ───────────────────────────────────── |
| 316 | +bigquery.googleapis.com |
| 317 | +bigquerystorage.googleapis.com |
| 318 | +oauth2.googleapis.com |
| 319 | +accounts.google.com |
| 320 | +www.googleapis.com |
| 321 | +
|
| 322 | +# ── Snowflake ───────────────────────────────────────────────── |
| 323 | +*.snowflakecomputing.com |
| 324 | +
|
| 325 | +# ── OCR Models ──────────────────────────────────────────────── |
| 326 | +download.pytorch.org |
| 327 | +
|
| 328 | +# ── Temp Email (test runtime, optional) ─────────────────────── |
| 329 | +www.1secmail.com |
| 330 | +www.developermail.com |
| 331 | +
|
| 332 | +# ── Chrome Extensions (test runtime, optional) ──────────────── |
| 333 | +clients2.google.com |
| 334 | +www.crx4chrome.com |
| 335 | +
|
| 336 | +# ── mitmproxy ───────────────────────────────────────────────── |
| 337 | +snapshots.mitmproxy.org |
| 338 | +
|
| 339 | +# ── Zeuz Server (replace with your domain) ──────────────────── |
| 340 | +*.zeuz.ai |
| 341 | +
|
| 342 | +# ── TLS / OCSP / CRL ───────────────────────────────────────── |
| 343 | +ocsp.digicert.com |
| 344 | +ocsp.sectigo.com |
| 345 | +crl.sectigo.com |
| 346 | +ocsp.pki.goog |
| 347 | +crl.pki.goog |
| 348 | +ocsp.r2m01.amazontrust.com |
| 349 | +``` |
| 350 | + |
| 351 | +--- |
| 352 | + |
| 353 | +## Apps/ Sub-Application Analysis |
| 354 | + |
| 355 | +| App | Type | External Dependencies | |
| 356 | +|-----|------|----------------------| |
| 357 | +| `Apps/Web/AI_Recorder_2/` | React (Vite + TypeScript) Chrome extension | npm packages only (antd, react, bootstrap, jquery) — all from `registry.npmjs.org` | |
| 358 | +| `Apps/Web/aiplugin/` | Vanilla JS Chrome extension | No external downloads — static assets only | |
| 359 | +| `Apps/node_runner/` | Go CLI (no external deps) | Zero `require` in `go.mod` — Go proxy needed only for toolchain | |
| 360 | +| `Apps/lorust/` | Pre-built binaries | No runtime downloads — binaries are vendored | |
| 361 | +| `Apps/desktop-recorder/` | Python script | No external downloads | |
| 362 | +| `Apps/Authenticator/` | Utility | No external downloads | |
| 363 | + |
| 364 | +No Electron dependency was found in any sub-application. |
| 365 | + |
| 366 | +--- |
| 367 | + |
| 368 | +## Notes |
| 369 | + |
| 370 | +1. **Conditional domains**: Temp email, Chrome extension, and security testing domains are |
| 371 | + only needed if your test cases use those features. Mark them as optional in your firewall |
| 372 | + rules if you want a minimal whitelist. |
| 373 | + |
| 374 | +2. **Snowflake wildcard**: Scope `*.snowflakecomputing.com` to your specific account |
| 375 | + subdomain if your security policy requires it. |
| 376 | + |
| 377 | +3. **Microsoft Edge redirects**: `go.microsoft.com` redirects through Microsoft CDN domains |
| 378 | + that vary by region. Monitor your proxy logs during first Edge installation to capture the |
| 379 | + exact CDN domains needed. |
| 380 | + |
| 381 | +4. **PyTorch models**: `download.pytorch.org` is only needed on first EasyOCR use. Models |
| 382 | + are cached locally after download. |
| 383 | + |
| 384 | +5. **Port requirements**: All domains use HTTPS (port 443). No HTTP-only (port 80) |
| 385 | + dependencies were found in the codebase. |
0 commit comments