Releases: Daniele-Tomassoni/peerino
Release list
Peerino v1.1.0
What's changed
Link sharing
- 70% shorter links: removed embedded TURN credentials and ICE parameters
from P2P share links. Links are now ~190 characters instead of ~650. - No credentials in links: TURN credentials are no longer exposed in the
share URL. The receiver fetches fresh credentials from the Worker when the
transfer starts.
TURN diagnostic-only
- No files pass through TURN relay. When a direct connection isn't
possible, Peerino now shows a clear message asking to try a less
restrictive network, and the transfer is rejected. - Better feedback: red LED with auto-show tooltip (10s) on the sender,
red status message on the receiver.
Infrastructure
- New
peerino-turn-monitorWorker with Durable Object Alarm tracking
monthly TURN egress. - Global shutdown flag in KV when usage approaches 100 GB.
- Rate limit raised to 40 credentials/hour per IP.
- TURN credential TTL set to 15 minutes.
Fixes
- TDZ crashes in receiver on early log calls (
LOG_LEVELS,MAX_LOG_ENTRIES). TURN_MAX_FILE_SIZE=0now treated as valid (was replaced by 10 MB fallback).- Inbox uploads blocked correctly after TURN rejection.
- Footer now shows app version (v1.1.0).
Compatibility
- Old links with
ice=parameter still work (legacy parsing kept in receiver). - New links require the updated receiver (already live on peerino.com).
Full changelog: https://github.com/Daniele-Tomassoni/peerino/blob/main/CHANGELOG.md
Peerino v1.0.10
Peerino v1.0.10
Relay safety release. The TURN relay file limit is reduced from 10 MB to 5 MB, and the relay infrastructure now has an IP-based rate limit and shorter credential lifetime.
Changed
- TURN file-size limit reduced from 10 MB to 5 MB. The relay is only used as a fallback when a direct connection isn't possible, and represents a small fraction of transfers. The lower limit protects the shared Cloudflare free-tier budget.
- Relay size-limit message rewritten in English with clearer guidance: retry first (direct connection is probabilistic), then local network, then different network, then smaller file.
Documentation
- README and landing page updated to reflect the new 5 MB relay limit.
Infrastructure (not tracked in this repo)
- The Cloudflare Worker
peerino-turn-proxynow includes:- IP-based rate limit (4 credentials per hour per IP) via Durable Object with SQLite-backed storage
- Credential TTL reduced from 24h to 1h
customIdentifierfield passed to Cloudflare TURN API for future usage analytics (currently hardcoded to "unknown"; will be populated in a follow-up release)
Download
| File | Description |
|---|---|
peerino-installer.exe |
Recommended. Guided setup, per-user install. |
peerino-installer.msi |
MSI package, for enterprise deployment. |
peerino-portable.exe |
Single executable, no installation. |
Notes
- Windows SmartScreen may warn on first run (binaries unsigned). Click More info → Run anyway.
Peerino v1.0.9
Peerino v1.0.9
Small cleanup release. No new features, no behavior changes for normal use.
Fixed
- The frontend fallback for the TURN file-size limit was still set to
100 MB in three places. If the backend call toget_turn_limits
failed, the UI would use 100 MB while the backend enforced 10 MB.
Now both use 10 MB consistently.
Changed
- Share links no longer include the
lan=http://<ip>:3000parameter.
The parameter was blocked by mixed-content protection whenever the
receiver was loaded over HTTPS from peerino.com, so it never fired
in the normal flow. Links are ~35-45 characters shorter. Opening the
receiver directly from the LAN HTTP server continues to work.
Documentation
- Added
notes/future-offline-lan-sharing.mddescribing a planned
feature: file sharing on local networks without internet access.
Not implemented. Covers architecture constraints, design, security
and scope.
Download
| File | Description |
|---|---|
peerino-installer.exe |
Recommended. Guided setup, per-user install. |
peerino-installer.msi |
MSI package, for enterprise deployment. |
peerino-portable.exe |
Single executable, no installation. |
Notes
- Windows SmartScreen may warn on first run (binaries unsigned).
Click More info → Run anyway.
Peerino v1.0.8
Peerino v1.0.8
Robustness and documentation release. No new features, no behavior changes
for normal use.
Fixed
- The HTTP server now reads
HTTP_PORTfrom the environment instead of
always using port 3000, waits for the Axum task to shut down before
returning fromstop_http_server, and resetsserver_runningwhen
the task exits with an error. (C-18) - File hashing during the startup scan now runs outside the SQLite lock.
Previously, a large file could blocklist_filesand other queries
for the entire duration of the hash computation. (C-17) - The cancellation flag registered by
stream_fileis now removed on
every exit path (success, error, cancellation). (C-11 follow-up)
Documentation
- README: added a "How file size limits work" section explaining the
10 MB TURN relay limit, why it exists, and how to bypass it by using
a direct connection. - Landing page: added a short note about the relay limit.
notes/known-limitations.md: documented the LAN mixed-content issue
and the shared cancellation flag limitation.
Download
| File | Description |
|---|---|
peerino-installer.exe |
Recommended. Guided setup, per-user install. |
peerino-installer.msi |
MSI package, for enterprise deployment. |
peerino-portable.exe |
Single executable, no installation. |
Notes
- Windows SmartScreen may warn on first run (binaries unsigned).
Click More info → Run anyway.
Peerino v1.0.7
Peerino v1.0.7
Robustness release. Fixes four residual issues from a post-release
audit — no new features, no behavior changes for normal use.
Download
| File | Description |
|---|---|
peerino-installer.exe |
Recommended. Guided setup, per-user install. |
peerino-installer.msi |
MSI package, for enterprise deployment. |
peerino-portable.exe |
Single executable, no installation. |
Peerino v1.0.6
[1.0.6] - 2026-09-23
Fixed
- Abandoned P2P uploads are now cleaned up on connection close and
after 5 minutes of inactivity. Previously, interrupted uploads left
orphan temp files and file handles. (C-05) - File writes are now atomic (temp file + rename). Partial files are
removed on I/O error, and concurrent writes with the same filename
no longer overwrite each other. (C-06) - The file index now recalculates hashes when a file's size changes,
removes records of files deleted from disk, and never caches stale
entries. (C-07) - Startup now surfaces an explicit error when the data folders
(shared-folder, temp, config) are not writable, instead of silently
falling back to in-memory storage. (C-08) - Unicode filenames no longer panic the HTTP server when building the
Content-Disposition header. RFC 5987filename*is used for
non-ASCII names. (C-13) - Expired inboxes are rejected immediately by
get_inbox, instead of
remaining valid until the next hourly cleanup. (C-14) - The LAN receiver no longer buffers the entire file in JavaScript
memory. LAN downloads now use the browser's native streaming via
redirect. (C-15) - PeerJS and js-sha256 are now self-hosted instead of loaded from
unpkg, removing a runtime CDN dependency. (C-19)
Peerino v1.0.5
Peerino v1.0.5
Security release. Fixes 5 vulnerabilities found in a static audit.
If you are running v1.0.4 or earlier, upgrading is strongly recommended.
Download
| File | Description |
|---|---|
peerino-installer.exe |
Recommended. Guided setup, per-user install. |
peerino-installer.msi |
MSI package, for enterprise deployment. |
peerino-portable.exe |
Single executable, no installation. |
Notes
- TURN relay limit reduced from 100 MB to 10 MB per file. If you need
to send larger files, connect both devices to the same local network.
Direct LAN transfers have no size limit. - Regional STUN servers removed. They provided no practical benefit
because Cloudflare TURN is throttled/blocked in those regions anyway. - Windows SmartScreen may warn on first run (binaries unsigned).
Click More info → Run anyway.
Peerino v1.0.4
Peerino v1.0.4
Bug fixes and share-link optimization. No API changes.
Fixed
- Regional STUN servers (China/Russia) were silently dropped when the
active TURN provider was Cloudflare. Users behind blocked Google/Cloudflare
STUN had no reachable fallback. The default regional list (miwifi, bilibili,
yandex) is now always included in theicepayload. - Inbox cancellation was not notified to the browser sender. When the
app cancelled an incoming upload, the browser kept showing "Sending file..."
with no indication the transfer had stopped. The app now sends
transfer_cancelledto the browser, which resets the UI and stops the send
loop.
Changed
- Share links are shorter:
turnMaxis omitted when it equals the receiver's
default (100 MB), and emptyicefields are no longer serialized.
Download
| File | Description |
|---|---|
peerino-installer.exe |
Recommended. Guided setup, per-user install. |
peerino-installer.msi |
MSI package, for enterprise deployment. |
peerino-portable.exe |
Single executable, no installation. |
Notes
- Windows SmartScreen may warn on first run (binaries unsigned).
Click More info → Run anyway.
Peerino v1.0.3
Peerino v1.0.3
Internal cleanup release. No user-facing behavior change, but it eliminates
a class of bugs caused by two diverging copies of the browser receiver.
Changed
- The LAN HTTP server now serves the same
peerino-website/receiver.html
used by peerino.com. Previously, the LAN server served a separate
src/ui/web-receiver.htmlthat had drifted from the deployed version:
it missed TURN support on LAN direct access, plus several other fixes
(hash verification, cancellation handling, inactivity timeout, log
masking).
Removed
src/ui/web-receiver.html(redundant; unified with the deployed receiver).
Download
| File | Description |
|---|---|
peerino-installer.exe |
Recommended. Guided setup, per-user install. |
peerino-installer.msi |
MSI package, for enterprise deployment. |
peerino-portable.exe |
Single executable, no installation. |
Notes
- This release requires no action from existing users. Everything that
worked in v1.0.2 keeps working, and LAN direct access now correctly
negotiates TURN when needed. - Windows SmartScreen may warn on first run (binaries unsigned).
Click More info → Run anyway.
Peerino v1.0.2
Peerino v1.0.2
Critical fix: v1.0.1 could corrupt files transferred over TURN relay
(same file size, different SHA-256 hash). This release serializes the
data channel callback to preserve chunk order under backpressure. If
your transfers work on LAN but the downloaded file fails integrity
verification, this fixes it.
Download
| File | Description |
|---|---|
peerino-installer.exe |
Recommended. Guided setup, per-user install. |
peerino-installer.msi |
MSI package, for enterprise deployment. |
peerino-portable.exe |
Single executable, no installation. |
All binaries for Windows x64.
What's fixed
- Async channel callback reordering under backpressure caused file
corruption on TURN relay downloads. The channel callback is now
serialized through a Promise queue, preservingconn.send()order
even when multiple callbacks suspend onbufferedamountlow.
Notes
- v1.0.0 and v1.0.1 remain online for historical reference but are
affected by this bug when using TURN relay. Use v1.0.2. - Windows SmartScreen may warn on first run (binaries unsigned).
Click More info → Run anyway.