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
+10Lines changed: 10 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,16 @@
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
6
+
7
+
### Added
8
+
9
+
-`ii send` and `ii recv` support `--checksum md5|sha256`; checksums are calculated and printed locally only, never stored in tickets or compared automatically.
10
+
-`ii send <file> --preserve-metadata` uses the existing tar payload to retain single-file mtime, permissions, and read-only metadata; directory and multi-path archives support `--symlinks follow|preserve|reject`.
11
+
- Added process-local FIFO `ii queue` and polling `ii watch`, including delay, repeat, stability detection, and existing sending backends.
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
+
-`ii web --once` exits after the first complete ordinary-file download; directory pages, HEAD, Range, uploads, and failed requests do not stop it.
Copy file name to clipboardExpand all lines: README.en.md
+27Lines changed: 27 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,6 +22,7 @@
22
22
`ii` is a CLI for temporary file transfer: it connects peer-to-peer by default, discovers services on the LAN, and automatically falls back to Iroh's default n0 relay when direct connectivity is unavailable.
23
23
24
24
- Send files, folders, multiple paths, or piped data. Receives resume, skip matching MD5 files, and overwrite conflicts.
25
+
- Compute local checksums, preserve single-file metadata, choose symlink behavior, and run FIFO queues or directory watches.
25
26
- Use generic S3, Cloudflare R2, Azure Blob, WebDAV, FTP, or SFTP as optional backends, with cleanup after receiving.
26
27
- It also provides LAN web sharing, WebDAV, browser transfer, TCP tunnels, and self-hosted relays.
27
28
@@ -112,10 +113,29 @@ ii send .\video.mp4 -o recv.txt
112
113
113
114
# JSON Lines for automation
114
115
ii send .\video.mp4 --json
116
+
117
+
# Print a checksum of the bytes being sent
118
+
ii send .\video.mp4 --checksum sha256
119
+
120
+
# Preserve mtime, permissions, and read-only metadata for one file
121
+
ii send .\video.mp4 --preserve-metadata
115
122
```
116
123
117
124
Plain `ii send` exits after its first successful transfer. `-t` serves up to 16 receivers concurrently and queues up to 1,000 more in first-in, first-out order. Concurrent receivers share sender bandwidth; retry later when the queue is full. With `--json`, stdout contains JSON Lines only.
118
125
126
+
`--checksum md5|sha256` computes and prints the local payload checksum. It is not stored in the ticket and is not compared automatically. `--preserve-metadata` accepts one regular file only and wraps it in the existing tar payload; it rejects stdin and `--web`, and disables resume and MD5 skip for that send.
127
+
128
+
### Queues and Directory Watches
129
+
130
+
```powershell
131
+
ii queue .\a.zip .\b.zip
132
+
ii queue .\report.pdf --after 10s
133
+
ii queue .\folder --every 1h
134
+
ii watch .\incoming --interval 2s --stabilize 2s
135
+
```
136
+
137
+
`queue` and `watch` are process-local and non-persistent. They accept `--rate`, storage backends, relay, `--local`, `--no-relay`, `--checksum`, `--preserve-metadata`, and `--symlinks`; they reject `-t`, `-c`, `-o`, `--web`, and `--json`. `--quic-port <1..65535>` fixes the Iroh UDP port for P2P jobs.
138
+
119
139
### Storage Backends
120
140
121
141
| Backend | Send command | Notes |
@@ -144,6 +164,8 @@ ii recv ii1k7v...x9a --json
144
164
145
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`.
146
166
167
+
`--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
+
147
169
## Extended Capabilities
148
170
149
171
### LAN Web Sharing and WebDAV
@@ -167,6 +189,8 @@ ii dav .\shared --port 8443 --username alice --password secret --tls --domain da
167
189
168
190
`--port 8080` fixes the port, `--bind ::` listens on IPv6 only, and bare `--token` generates a path token while `--token <value>` uses the supplied token. A path token is not account authentication.
169
191
192
+
`ii web --once` exits only after the first complete ordinary-file `GET 200`. HEAD, Range, directory pages, 404 responses, and uploads do not consume the one-shot lifetime, and `--once` conflicts with `--upload`.
193
+
170
194
### LAN Discovery
171
195
172
196
```powershell
@@ -231,9 +255,12 @@ ii recv ii1k7v...x9a --trace
231
255
232
256
# Check local networking, ports, permissions, and version
233
257
ii doctor
258
+
ii doctor --nat
234
259
ii version
235
260
```
236
261
262
+
`ii doctor --nat` runs a short-lived UDP/NAT/relay probe and reports bound UDP sockets, IPv4/IPv6, NAT mapping behavior, the preferred relay, and relay reachability. Hairpin is explicitly unavailable because Iroh does not expose that probe.
263
+
237
264
## Full Manual
238
265
239
266
Full command, configuration, and troubleshooting reference: [ii.md](ii.md).
`ii help` 显示命令总览;`ii help send`、`ii help web`、`ii help webrtc`、`ii help tunnel`、`ii help recv`、`ii help relay`、`ii help doctor`、`ii help version` 显示对应命令帮助,内容与 `<command> --help` 相同。
28
+
`ii help` 显示命令总览;`ii help send`、`ii help watch`、`ii help queue`、`ii help web`、`ii help dav`、`ii help webrtc`、`ii help tunnel`、`ii help recv`、`ii help relay`、`ii help discover`、`ii help doctor`、`ii help version` 显示对应命令帮助,内容与 `<command> --help` 相同。
27
29
28
30
## 核心规则
29
31
@@ -110,6 +112,18 @@ tar czf - .\project | ii send --name project.tar.gz
0 commit comments