diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 98fc2a82..d1c7b175 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -8,7 +8,7 @@ on:
push:
branches:
- master
- # - preview
+ - preview
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
diff --git a/_articles/faq/chromium-142-local-network-access-issue.md b/_articles/faq/chromium-142-local-network-access-issue.md
index 97c832a0..7d105bb9 100644
--- a/_articles/faq/chromium-142-local-network-access-issue.md
+++ b/_articles/faq/chromium-142-local-network-access-issue.md
@@ -7,7 +7,7 @@ keywords: Dynamic Web TWAIN, Error Troubleshooting, CORS, unknown address space,
breadcrumbText: Error message - Permission was denied for this request to access the unknown address space
description: CORS unknown address space
date: 2025-11-04 17:21:42 +0800
-last_modified: 2025-11-04 17:21:42 +0800
+last_modified: 2025-11-05 17:26:42 +0800
---
# Error Troubleshooting
@@ -15,38 +15,41 @@ last_modified: 2025-11-04 17:21:42 +0800
> [!IMPORTANT]
> This is a newly developing issue, and as such the information in this article may change over time.
-## Error message - Access to fetch at `https://127.0.0.1:18623` or `http://127.0.0.1:18622` has been blocked by CORS policy: Permission was denied for this request to access the unknown address space.
+## Error message - CORS Errors caused by local network access permissions when using Chromium 142 and later
-### Symptom
+### Overview
-When using Chromium-based browsers version 142 or later (released on October 28th, 2025), including Chrome, Edge, Brave, and Opera, the Dynamsoft Web TWAIN Service may fail to function properly:
+Starting in **Chromium-based browsers v142+** (released Oct 28, 2025)—including Chrome, Edge, Brave, and Opera—Dynamsoft Web TWAIN Service may not work as expected due to new local-network security rules.
-- Phenomenon 1: the browser prompts users to download the service installer even though it is already installed.
+### Symptoms
-
+You may experience one or more of the following:
+
+***1. Service installer repeatedly prompted***
-- Phenomenon 2: the initialization succeeds, but scanning or loading images results in blank images.
+The browser prompts you to download/install the service even though it is already installed.
+
-Open the browser console (press F12, then go to the Console tab), you should see the following error message:
+***2. Initialization succeeds, but scan/load shows blank images***
+The browser console (F12 → Console) shows a CORS rejection similar to:
```shell
Access to fetch at 'https://127.0.0.1:18623/fa/VersionInfo?ts=1761893667670' from origin 'https://your-domain.com' has been blocked by CORS policy: Permission was denied for this request to access the `unknown` address space.
```
-### Cause
+### Root Cause
-In Chromium 142 Google introduced a new [Local Network Access security policy](https://chromestatus.com/feature/5152728072060928). Requests from web pages to local addresses such as 127.0.0.1 or localhost get blocked unless explicit permission is granted.
+Chromium 142 introduces a new [Local Network Access security policy](https://chromestatus.com/feature/5152728072060928) requirement.
+Requests from web pages to loopback addresses such as `localhost` / `127.0.0.1` are blocked unless the user (or an admin policy) explicitly grants access.
-This affects the Dynamic Web TWAIN Service which relies on local services for communication.
+Because Dynamic Web TWAIN communicates with a local service, these restrictions can prevent normal operation.
### Resolution
-***Step 1: (For All End Users)***
-
-- Navigate to your Dynamic Web TWAIN web interface
-
-- Click the lock icon (or settings icon) next to your site URL in the browser’s address bar.
+***1. To Manually Correct This in Chrome***
+- Navigate to your Dynamic Web TWAIN page.
+- Click the lock/settings icon in the browser address bar.
- Ensure that **Local Network Access** is enabled.

@@ -54,31 +57,37 @@ This affects the Dynamic Web TWAIN Service which relies on local services for co
> [!NOTE]
> If you're unable to restore functionality after enabling 'Local Network Access,' please contact [Dynamsoft](https://www.dynamsoft.com/contact/).
-***Step 2: (For Developers Only)***
+***2. (For Admins) To Apply This Setting Across an Enterprise***
+
+Enterprise administrators can deploy a Chrome and/or Edge policy to set the "Local Network Access" setting to "Allow" for your website.
-**Option 1:**
+Please refer to:
+* [Chrome Enterprise Policy List & Management Documentation](https://chromeenterprise.google/policies/#LocalNetworkAccessAllowedForUrls)
+* [Microsoft Edge Browser Policy Documentation](https://learn.microsoft.com/en-us/deployedge/microsoft-edge-browser-policies/localnetworkaccessallowedforurls)
-You can check the permission programmatically:
+***3. Developer Notes***
+
+**a) Check Permission Programmatically**
```javascript
let status = await navigator.permissions.query({ name: "local-network-access" });
console.log(status.state);
```
-If the permission is not granted, prompt users to manually enable it (Chrome settings → Privacy and security → Site settings → Local network access).
+If not granted, guide users to:
+
+Chrome → Settings → Privacy and Security → Site Settings → Local network access
+
+**b) If Running Inside an `iframe`**
-> [!WARNING]
-> If Dynamic Web TWAIN is running in an iframe, ensure the iframe element includes the following attribute:
+> [!IMPORTANT]
+> If your site is embedded in an iframe, you MUST explicitly allow local-network access.
+Please explicitly allow `local-network-access` in the attributes of the iframe:
```html
```
-**Option 2: (For Enterprise Users)**
-
-Enterprise administrators can allow specified URLs to access local resources through Chrome’s Enterprise Policy configuration.
-Refer to: [Chrome Enterprise Policy List & Management | Documentation](https://chromeenterprise.google/policies/#LocalNetworkAccessAllowedForUrls)
-
-### Planning
+### Roadmap
Dynamsoft plans to add a feature that automatically detects local service connectivity and permission status. If the connection is blocked, users will be prompted with a message and directed to this FAQ page.
diff --git a/_articles/faq/failed-to-load-resource.md b/_articles/faq/failed-to-load-resource.md
index 357306e0..d65a61e2 100644
--- a/_articles/faq/failed-to-load-resource.md
+++ b/_articles/faq/failed-to-load-resource.md
@@ -7,7 +7,7 @@ keywords: Dynamic Web TWAIN, Error Message, Failed to load resource, CERT INVALI
breadcrumbText: Error Message - Failed to load resource
description: Error Message - Failed to load resource
date: 2021-12-01 17:04:03 +0800
-last_modified: 2025-10-11 15:23:24 +0800
+last_modified: 2025-11-05 15:23:24 +0800
---
# Error Troubleshooting
@@ -22,7 +22,7 @@ You get an error message that says **"Failed to load resource: net::ERR_CERT_DAT
By default, "127.0.0.1" is used for service connection. "127.0.0.1" uses a self-signed SSL certificate without an expiry date. It is installed to your system so that the browser can trust it. If your environment requires high level security, self-signed certificates may not be accepted. Moreover, it is not easy to install the self-signed certificate for systems like Chrome OS.
-In this case, we provide a domain, "local.dynamsoft.com", which points to "127.0.0.1". It has a VeriSign’ed certificate that has an expiry date. The most recent expired "local.dynamsoft.com" certificate expired on 2024 November 19th, and the latest certificate will expire on 2025 November 20th.
+In this case, we provide a domain, "local.dynamsoft.com", which points to "127.0.0.1". It has a VeriSign’ed certificate that has an expiry date. The most recent expired "local.dynamsoft.com" certificate expired on 2025 November 20th, and the latest certificate will expire on 2026 November 21st.
> ___Please note:___ _all official certificates issued by 3rd party come with an expiry date - generally one year. This means that each year the certificate will need to be updated if local.dynamsoft.com is used._
@@ -39,11 +39,39 @@ In this case, we provide a domain, "local.dynamsoft.com", which points to "127.0
If you have to use "local.dynamsoft.com", the following methods can be taken:
- - Method 1. Click here to download the new certificate and use the new server.pem.ldsc & server_key.pem.ldsc to replace the old one in the `cert` folder under the service's [installation folder](/_articles/extended-usage/dynamsoft-service-configuration.md#installation-folder). Then restart Dynamic Web TWAIN Service.
-
- - Method 2. [Contact Dynamsoft](/_articles/about/getsupport.md){:target="_blank"} for a new service installer for client-side. Please specify the exact service version build number found from the version your client currently has installed.
-
- - Method 3. You can also generate the certificate by yourself. Check out this [post](/_articles/faq/change-dynamsoft-service-certificate.md).
+ - Method 1.Use the following links to download and install the new Dynamic Web TWAIN Service Installer.
+ - For Windows
+ > Choose between Admin (requires admin privileges) or Personal (for individual users).
+ - Version 19.2
+ - [Windows Installer (Admin)](https://download2.dynamsoft.com/Demo/DWT/Resources/dist/19.2/DynamicWebTWAINServiceSetup.msi)
+ - [Windows Installer (Personal)](https://download2.dynamsoft.com/Demo/DWT/Resources/dist/19.2/DynamicWebTWAINServiceSetup.exe)
+ - Version 18
+ - [Windows Installer (Admin)](https://download2.dynamsoft.com/Demo/DWT/Resources/dist/18.5.2/DynamsoftServiceSetup.msi)
+ - [Windows Installer (Personal)](https://download2.dynamsoft.com/Demo/DWT/Resources/dist/18.5.2/DynamsoftServiceSetup.exe)
+ - For macOS
+ > Use the installer matching your SDK version.
+ - [macOS Installer v19.2](https://download2.dynamsoft.com/Demo/DWT/Resources/dist/19.2/DynamicWebTWAINServiceSetup.pkg)
+ - [macOS Installer v18](https://download2.dynamsoft.com/Demo/DWT/Resources/dist/18.5.2/DynamsoftServiceSetup.pkg)
+ - For Linux
+ > Select the installer format based on your distribution type.
+ - RPM Packages (Red Hat, Fedora, CentOS, etc.)
+ - [Linux RPM Installer v19.2](https://download2.dynamsoft.com/Demo/DWT/Resources/dist/19.2/DynamicWebTWAINServiceSetup.rpm)
+ - [Linux RPM Installer v18](https://download2.dynamsoft.com/Demo/DWT/Resources/dist/18.5.2/DynamsoftServiceSetup.rpm)
+ - DEB Packages (Ubuntu, Debian, etc.)
+ - [Linux DEB Installer v19.2](https://download2.dynamsoft.com/Demo/DWT/Resources/dist/19.2/DynamicWebTWAINServiceSetup.deb)
+ - [Linux DEB Installer v18](https://download2.dynamsoft.com/Demo/DWT/Resources/dist/18.5.2/DynamsoftServiceSetup.deb)
+ - ARM64 Architecture
+ - [Linux ARM64 DEB Installer v19.2](https://download2.dynamsoft.com/Demo/DWT/Resources/dist/19.2/DynamicWebTWAINServiceSetup-arm64.deb)
+ - [Linux ARM64 DEB Installer v18](https://download2.dynamsoft.com/Demo/DWT/Resources/dist/18.5.2/DynamsoftServiceSetup-arm64.deb)
+ - MIPS Architecture
+ - [Linux MIPS DEB Installer v19.2](https://download2.dynamsoft.com/Demo/DWT/Resources/dist/19.2/DynamicWebTWAINServiceSetup-mips64el.deb)
+ - [Linux MIPS DEB Installer v18](https://download2.dynamsoft.com/Demo/DWT/Resources/dist/18.5.2/DynamsoftServiceSetup-mips64el.deb)
+
+ - Method 2. Click here to download the new certificate and use the new server.pem.ldsc & server_key.pem.ldsc to replace the old one in the `cert` folder under the service's [installation folder](/_articles/extended-usage/dynamsoft-service-configuration.md#installation-folder). Then restart Dynamic Web TWAIN Service.
+
+ - Method 3. [Contact Dynamsoft](/_articles/about/getsupport.md){:target="_blank"} for a new service installer for client-side. Please specify the exact service version build number found from the version your client currently has installed.
+
+ - Method 4. You can also generate the certificate by yourself. Check out this [post](/_articles/faq/change-dynamsoft-service-certificate.md).