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
Copy file name to clipboardExpand all lines: CHANGELOG.en.md
+13-2Lines changed: 13 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,9 +2,20 @@
2
2
3
3
All notable changes to `ii` are documented here. The default Chinese version is [CHANGELOG.md](CHANGELOG.md).
4
4
5
-
## Unreleased
5
+
## 0.2.0 - 2026-07-31
6
6
7
-
Nothing yet.
7
+
### Added
8
+
9
+
- Added `ii webrtc [--token <value>]` for temporary LAN browser-to-browser WebRTC file transfer rooms; it prints a QR code and all IPv4 LAN URLs, keeps file bytes out of the `ii` process, and uses no public STUN/TURN.
10
+
11
+
### Fixed
12
+
13
+
- Fixed `ii webrtc` DataChannel setup between mobile browsers when mDNS host candidates could not be resolved or ICE gathering did not finish; signalling now uses the client's LAN IPv4 and trickles candidates immediately.
14
+
-`ii webrtc` now verifies an ICE host candidate before joining; browsers with disabled or blocked WebRTC receive an explicit message instead of only discovering peers without being able to transfer.
15
+
16
+
### Documentation
17
+
18
+
- Added [webrtc.md](webrtc.md) covering LAN scope, browser requirements, memory limits, the path token, and unsupported capabilities.
Copy file name to clipboardExpand all lines: README.en.md
+5-1Lines changed: 5 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,7 +23,7 @@
23
23
24
24
- The sender serves one successful receive by default, then exits
25
25
- It briefly probes for a usable path through complex networks, with S3, WebDAV, FTP, and SFTP backend options
26
-
-`ii send <file-or-folder> --web` opens a temporary LAN download page, while `ii web [directory]` browses a LAN directory
26
+
-`ii send <file-or-folder> --web` opens a temporary LAN download page, `ii web [directory]` browses a LAN directory, and `ii webrtc` transfers files directly between LAN browsers
27
27
- Receives resume automatically by default
28
28
- Existing files with the same MD5 are skipped
29
29
- Folders can be sent directly
@@ -134,12 +134,16 @@ ii send .\video.mp4 --web --token A1b2C3d4E5f6G7h8
134
134
ii send .\video.mp4 --web --path .\uploads
135
135
ii web
136
136
ii web .\shared --token A1b2C3d4E5f6G7h8 --path .\uploads
137
+
ii webrtc
138
+
ii webrtc --token A1b2C3d4E5f6G7h8
137
139
```
138
140
139
141
The command displays a QR code directly above the primary LAN URL for opening the download page, then lists the remaining physical and virtual adapter IPv4 URLs under `other:`. The QR code at the top of that page points directly to `/download` for phone downloads. The page can also upload multiple files into `./ii/` under the directory where the command started. Use `--path <dir>` to write directly into a different directory; relative paths are based on the startup directory, and the directory is created on the first upload. Directory uploads are not supported. Folders download as `.tar` archives. Press `Ctrl+C` to stop the server. Optional `--token <value>` adds a path access token to the page, download, and upload URLs; it must be 16 to 128 ASCII letters, digits, `-`, or `_`, and omitting it keeps the unprotected URLs. This mode has no account authentication and is intended only for short-lived, trusted LAN sharing.
140
142
141
143
Without a path, `ii web` serves the directory where the command starts; with a path, it accepts only an existing directory. Its page provides recursive nginx-style directory browsing, normal file responses, and multi-file uploads. The terminal still shows the QR code, primary IPv4 LAN URL, and `other:` adapter URLs, but the directory page has no QR code. `--token` and `--path` follow the same rules as `ii send ... --web`; `-p` does not apply to `ii web`.
142
144
145
+
`ii webrtc` opens a LAN browser-to-browser transfer room. The terminal prints a QR code, the primary IPv4 LAN URL, and `other:` adapter URLs. Browsers that open the same URL receive temporary device numbers, choose another online device, and send multiple independent files. Files travel directly between browser WebRTC DataChannels, never through the `ii` process or its disk. Before joining, the page verifies that the browser can create an ICE host candidate; if WebRTC is disabled or blocked it shows `WebRTC unavailable` and does not join the room. It exchanges host candidates only and has no public STUN/TURN fallback, so client isolation, firewalls, or blocked P2P can prevent connection. Receivers download automatically after buffering each file in browser memory, so it is unsuitable for files larger than the available browser memory. Optional `--token <value>` scopes the page and signalling URLs to a path token. See [webrtc.md](webrtc.md) for details.
146
+
143
147
Prefer local network paths and avoid public relays:
0 commit comments