You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
44
44
45
-
### Tailscale / VPN (Recommended)
45
+
### Direct (LAN / Private IP)
46
46
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.
48
71
49
72
1. Install Tailscale and enable [HTTPS certificates](https://tailscale.com/kb/1153/enabling-https)
50
73
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
53
76
{
54
77
"remote": {
55
78
"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
57
81
}
58
82
}
59
83
```
60
84
61
85
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
63
87
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.
65
89
66
-
### LAN
90
+
### Local Docker
67
91
68
-
For users without Tailscale, you can run the web frontend locallyin the LAN (usually the same machine that is running the server). Thiskeeps 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. Thisavoids all browser security restrictions.
69
93
70
94
1. Enable remote in your config:
71
95
72
96
```javascript title="~/.config/eca/config.json"
73
97
{
74
98
"remote": {
75
-
"enabled": true
99
+
"enabled": true,
100
+
"password": "something-here"
76
101
}
77
102
}
78
103
```
79
104
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:
81
106
82
107
```bash
83
108
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
86
111
3. Start ECA — it will log the connection URL and auth token
87
112
4. Open `http://localhost:8080` and paste the connection URL
88
113
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
-
104
114
## Web UI
105
115
106
116
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