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
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,6 +11,10 @@ All notable changes to `ii` are documented here. The default Chinese version is
11
11
- Added process-local FIFO `ii queue` and polling `ii watch`, including delay, repeat, stability detection, and existing sending backends.
12
12
-`ii send`, `ii recv`, `ii watch`, and `ii queue` support `--quic-port` to fix the P2P Iroh UDP port; `ii doctor --nat` reports a short-lived UDP, NAT, and relay probe.
13
13
-`ii web --once` exits after the first complete ordinary-file download; directory pages, HEAD, Range, uploads, and failed requests do not stop it.
14
+
-`ii recv --trace` now reports Iroh's selected LAN, direct, or relay path and RTT.
15
+
-`ii send`, `ii watch`, and `ii queue` accept repeated `--relay`; multiple explicit relays are probed for reachability and latency, while default n0 relay behavior is unchanged.
16
+
-`ii send --web` and `ii web --upload` support resumable browser uploads; reselecting the same file after a disconnect or refresh continues it.
17
+
- Added `ii socks5`, an ordinary SOCKS5 proxy with `CONNECT`, `UDP ASSOCIATE`, `BIND`, IPv4, IPv6, domain targets, and optional username/password authentication.
Copy file name to clipboardExpand all lines: README.en.md
+59-3Lines changed: 59 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,6 +26,53 @@
26
26
- Use generic S3, Cloudflare R2, Azure Blob, WebDAV, FTP, or SFTP as optional backends, with cleanup after receiving.
27
27
- It also provides LAN web sharing, WebDAV, browser transfer, TCP tunnels, and self-hosted relays.
28
28
29
+
## Common Use Cases
30
+
31
+
### `ii web`
32
+
33
+
- Run a temporary LAN file site from the current directory for browsing, downloads, and uploads.
34
+
- Import a phone photo library by starting `ii web` on a computer and uploading photos or videos after scanning its QR code.
35
+
- Distribute meeting materials through a QR code for direct download.
36
+
- Serve local static assets such as installers, videos, or web files to TVs, tablets, and development devices.
37
+
- Collect files from several people into a chosen directory.
38
+
- Provide a file portal on an offline LAN without cloud storage, accounts, or Internet access.
39
+
40
+
### `ii dav`
41
+
42
+
- Mount any directory as a network drive in Windows Explorer, macOS Finder, or a Linux file manager.
43
+
- Access a computer directory from a phone file manager to copy, move, delete, or create files and folders.
44
+
- Turn an old computer or small host into a lightweight NAS for one directory.
45
+
- Open and save remote text or configuration files from WebDAV-capable editors.
46
+
- Use one working directory as a shared asset drive for tablets, phones, and computers.
47
+
- Provide a temporary delivery directory that clients or colleagues can access as a network drive without installing `ii`.
48
+
49
+
### `ii socks5`
50
+
51
+
- Provide a standard SOCKS5 proxy endpoint for browsers, downloaders, and command-line tools.
52
+
- Route software without built-in proxy settings through another machine's network connection with a SOCKS5-capable proxyifier.
53
+
- Let LAN devices use a computer with Internet access, a VPN, or special routes as their proxy exit.
54
+
- Test proxy compatibility for `CONNECT`, UDP, DNS resolution, and IPv6.
55
+
- Provide a configurable proxy address to games, media players, or IoT devices that support one.
56
+
- Compare DNS and connection paths across enterprise, VPN, and home networks.
57
+
58
+
### `ii relay`
59
+
60
+
- Self-host an Iroh relay as the explicit cross-network forwarding path for `ii send --relay`.
61
+
- Deploy relays on an intranet, overseas, or in a specific region instead of relying entirely on public relays.
62
+
- Validate Iroh connection and forwarding behavior on restricted networks.
63
+
64
+
### `ii tunnel`
65
+
66
+
- Expose a local TCP service such as a development site, SSH server, database, or game server.
67
+
- Make a machine without a public IP reachable remotely.
68
+
- Provide temporary remote assistance without configuring router port forwarding.
69
+
70
+
### `ii discover`
71
+
72
+
- Scan for running `ii` services on the LAN.
73
+
- Find same-subnet send jobs, directory sites, and WebDAV services without typing IP addresses.
74
+
- Discover shared endpoints quickly in meeting rooms, labs, and server rooms.
75
+
29
76
## Install
30
77
31
78
Linux x86_64 and Apple Silicon macOS:
@@ -162,7 +209,7 @@ ii recv ii1k7v...x9a --stdout > project.tar.gz
162
209
ii recv ii1k7v...x9a --json
163
210
```
164
211
165
-
If the network drops halfway, run the same `ii recv` command again and it continues receiving. If the target file already exists with the same content, it is skipped. If the name matches but the content differs, it is overwritten. `ii send` and `ii recv` show progress, speed, and elapsed time; `--trace` prints connection diagnostics. `--stdout` cannot be combined with `--json`.
212
+
If the network drops halfway, run the same `ii recv` command again and it continues receiving. If the target file already exists with the same content, it is skipped. If the name matches but the content differs, it is overwritten. `ii send` and `ii recv` show progress, speed, and elapsed time; `ii recv --trace` prints connection stages, the final direct or relay path, and RTT. `--stdout` cannot be combined with `--json`.
166
213
167
214
`--checksum md5|sha256` computes the received file or directory tar stream after completion and cannot be combined with `--stdout`. `--quic-port` applies only to P2P tickets.
168
215
@@ -183,7 +230,7 @@ ii dav .\shared --read-only
183
230
ii dav .\shared --port 8443 --username alice --password secret --tls --domain dav.example.com --cert D:\certs\fullchain.pem --key D:\certs\privkey.pem
184
231
```
185
232
186
-
`ii send --web` serves a download page for one file or folder. It exits after the first complete `/download` response by default; add `-t` to keep serving until `Ctrl+C`, and the first concurrent download to finish ends the process. Visiting the page, uploads, and failed downloads do not exit. `ii web` displays an nginx-style directory listing and serves the current directory when no directory is given. `--upload` enables multi-file uploads only; their default destination is `./ii/` under the startup directory, while `--path <dir>` selects another directory. `ii dav` reads and writes its served directory directly, not the web upload directory.
233
+
`ii send --web` serves a download page for one file or folder. It exits after the first complete `/download` response by default; add `-t` to keep serving until `Ctrl+C`, and the first concurrent download to finish ends the process. Visiting the page, uploads, and failed downloads do not exit. `ii web` displays an nginx-style directory listing and serves the current directory when no directory is given. `--upload` enables multi-file uploads only; their default destination is `./ii/` under the startup directory, while `--path <dir>` selects another directory. Uploads are written in 1 MiB chunks; after a disconnect or refresh, selecting the same file resumes it. `ii dav` reads and writes its served directory directly, not the web upload directory.
187
234
188
235
`ii dav --username <username> --password <password>` enables HTTP Basic Auth; both options are required together. `--password` is visible in shell history and process listings, so use it only where that is acceptable. `--tls` enables HTTPS. Without `--cert` and `--key`, ii generates a self-signed certificate valid only for the running process, which clients must explicitly trust. For public access, use a trusted PEM certificate or terminate HTTPS in a reverse proxy and bind `ii dav` to `127.0.0.1`. Without `--tls`, Basic Auth credentials travel in clear text.
189
236
@@ -223,6 +270,15 @@ ii tunnel -c ii1k7v...x9a
223
270
224
271
B listens on `127.0.0.1:8080` by default and increments the port when it is occupied. Use `--listen 0.0.0.0:8022` only to expose B's listener to its LAN. Traffic is end-to-end encrypted by Iroh; a ticket holder can use the target until A stops the service. See [ii.md](ii.md) for the full protocol and relay options.
225
272
273
+
### SOCKS5 Proxy
274
+
275
+
```powershell
276
+
ii socks5
277
+
ii socks5 --port 1080 --username alice --password secret
278
+
```
279
+
280
+
`ii socks5` is a standalone ordinary network proxy. It listens on a random `0.0.0.0` port by default and prints the actual address. It supports SOCKS5 `CONNECT`, `UDP ASSOCIATE`, `BIND`, IPv4, IPv6, and domain targets. It does not use Iroh, tickets, or relays. Supplying `--username` and `--password` enables SOCKS5 username/password authentication; both options are required together.
ii send .\video.mp4 --relay https://relay.example.com:8443
242
298
```
243
299
244
-
Without `--port`, the relay chooses a free port. The terminal prints usable IPv4 URLs; `0.0.0.0` is bind-only, and a cloud public IP may need to come from the provider console. `-k` is only for self-signed HTTPS. An explicit HTTP or HTTPS relay forces traffic through that relay. See [ii.md](ii.md) for TLS, NAT, and security boundaries.
300
+
Without `--port`, the relay chooses a free port. The terminal prints usable IPv4 URLs; `0.0.0.0` is bind-only, and a cloud public IP may need to come from the provider console. `-k` is only for self-signed HTTPS. An explicit HTTP or HTTPS relay forces traffic through that relay. Repeating `--relay` makes `ii send` probe the explicit relays and select the fastest reachable one; the default n0 relay behavior is unchanged. See [ii.md](ii.md) for TLS, NAT, and security boundaries.
0 commit comments