Skip to content

Commit f6aa0b6

Browse files
committed
docs
1 parent 41bcc3e commit f6aa0b6

1 file changed

Lines changed: 35 additions & 25 deletions

File tree

docs/config/remote.md

Lines changed: 35 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,34 @@ https://web.eca.dev?host=192.168.1.42:7777&pass=a3f8b2c1...&protocol=https
4040

4141
## Connection Methods
4242

43-
There are two ways to connect a web frontend to your ECA session. Which one to use depends on your network setup and whether you need HTTPS.
43+
There are three ways to connect the web frontend to your ECA session.
4444

45-
### Tailscale / VPN (Recommended)
45+
### Direct (LAN / Private IP)
4646

47-
The easiest approach. [Tailscale](https://tailscale.com)(free) creates a secure private network between your devices, and ECA can bind to your Tailscale interface so that `https://web.eca.dev` can reach it.
47+
The simplest approach — connect directly from `https://web.eca.dev` to your machine's private IP.
48+
49+
1. Enable remote in your config:
50+
51+
```javascript title="~/.config/eca/config.json"
52+
{
53+
"remote": {
54+
"enabled": true,
55+
"password": "something" // optioal - or ${env:MY_PASS}
56+
}
57+
}
58+
```
59+
60+
2. Start ECA — it will log the connection URL or auth token with random pass.
61+
3. Open `https://web.eca.dev` and enter your machine's LAN IP (e.g. `192.168.1.42`) and password
62+
4. Chrome will show a **Local Network Access** permission prompt — click **Allow**
63+
64+
!!! note "Firewall"
65+
Make sure your firewall allows incoming TCP connections on ports `7777`–`7787` (the default ECA port range) from your LAN.
66+
ECA start using `7777` and so one for each server running in your machine.
67+
68+
### Tailscale / VPN
69+
70+
For a seamless HTTPS-to-HTTPS connection with no browser prompts. [Tailscale](https://tailscale.com) (free) creates a secure private network between your devices with valid HTTPS certificates.
4871
4972
1. Install Tailscale and enable [HTTPS certificates](https://tailscale.com/kb/1153/enabling-https)
5073
2. Set `host` to your machine's Tailscale domain name:
@@ -53,31 +76,33 @@ The easiest approach. [Tailscale](https://tailscale.com)(free) creates a secure
5376
{
5477
"remote": {
5578
"enabled": true,
56-
"host": "my-machine.tail1234.ts.net"
79+
"password": "something-here",
80+
"host": "my-machine.tail1234.ts.net" // optional - just to get url easily when starting
5781
}
5882
}
5983
```
6084

6185
3. Start ECA — it will log a connection URL
62-
4. Open `https://web.eca.dev` and paste the connection URL or manual inform host and pass
86+
4. Open `https://web.eca.dev` and paste the connection URL or manually enter host and password
6387

64-
Because Tailscale provides valid HTTPS certificates for your machine, the browser can connect without any mixed-content issues.
88+
Because Tailscale provides valid HTTPS certificates for your machine, the browser connects without any mixed-content issues or permission prompts.
6589

66-
### LAN
90+
### Local Docker
6791

68-
For users without Tailscale, you can run the web frontend locally in the LAN (usually the same machine that is running the server). This keeps everything over plain HTTP, avoiding browser security restrictions entirely.
92+
If you prefer to keep everything over plain HTTP, you can run the web frontend locally. This avoids all browser security restrictions.
6993

7094
1. Enable remote in your config:
7195

7296
```javascript title="~/.config/eca/config.json"
7397
{
7498
"remote": {
75-
"enabled": true
99+
"enabled": true,
100+
"password": "something-here"
76101
}
77102
}
78103
```
79104

80-
2. Run the web frontend locally via Docker:
105+
2. Run the web frontend locally via Docker, usually in the same machine where server is running:
81106

82107
```bash
83108
docker run --pull=always -p 8080:80 ghcr.io/editor-code-assistant/eca-web
@@ -86,21 +111,6 @@ For users without Tailscale, you can run the web frontend locally in the LAN (us
86111
3. Start ECA — it will log the connection URL and auth token
87112
4. Open `http://localhost:8080` and paste the connection URL
88113

89-
!!! tip
90-
You can also set `host` to your machine's LAN IP (e.g. `192.168.1.42`) if you want to connect from another device on the same network.
91-
92-
## Browser Security
93-
94-
!!! warning "Why two methods?"
95-
Modern browsers enforce strict security policies that affect how web pages connect to local services:
96-
97-
- **Mixed content blocking** — HTTPS pages (like `https://web.eca.dev`) cannot make requests to plain HTTP endpoints. Browsers silently block these connections.
98-
- **Private Network Access** — Chrome additionally blocks requests from public websites to private/local IP addresses (e.g. `127.0.0.1`, `192.168.*`), even when the local server is running.
99-
100-
**Tailscale** solves both problems by providing valid HTTPS certificates for your machine within your private network.
101-
102-
**LAN mode** sidesteps both problems by serving the frontend locally over HTTP — since both the page and ECA are on `localhost` over HTTP, no security policies are triggered.
103-
104114
## Web UI
105115

106116
The web frontend provides a connect form where you enter the host and password (or use the deep-link URL logged by ECA).

0 commit comments

Comments
 (0)