Repository navigation
Releases: 99percentpeople/weblink
Release list
Weblink 1.3.0
Downloads
Windows 10 22H2 / Windows 11 · x64
| Package | Download | Usage |
|---|---|---|
| Installer | Weblink-windows-x64-setup.exe | Installs WebView2 when needed; supports signed, user-confirmed in-app updates. |
| Portable | Weblink-windows-x64-portable.zip | Extract both weblink-desktop.exe and weblink-portable; requires WebView2 120+. Replace manually to update. |
The empty weblink-portable file identifies the portable edition for update checks. Keep it beside weblink-desktop.exe.
Changes
Weblink 1.3 adds verified device pairing and MCP/WebMCP automation for local and remote desktops, with clearer permissions, consistent control indicators, and more reliable screen streaming.
Device pairing and permissions
- Device identity: authenticate browser and desktop profiles with signed connection proofs and renewable pairing keys. First-use pairing verifies and saves the device identity; subsequent connections must prove continuity with it. A display name, client ID or room password alone cannot replace a remembered identity.
- Pairing repair: request re-pairing from the device's permission settings and let the other device explicitly accept or reject through the existing notification flow. Identity changes and invalid proofs block application traffic until trust is restored. Partial key loss can recover automatically when surviving credentials verify the same device; ordinary connection failures preserve saved permissions.
- Independent permissions: manage receiving content, sharing screens, providing file lists, remote control and automation per device. Automation permissions are grouped into Reading and diagnostics, Sharing and control, and Terminal and commands. Requests use in-app or system notifications; approval lasts for the current connection, while Always allow and Deny follow saved settings.
- Connection ownership: signed signaling joins prevent an unverified duplicate client ID from replacing a verified room member. Update the pinned signaling submodules when self-hosting. Signaling retains legacy-client support without treating an invalid identity proof as a legacy connection.
- LAN compatibility: verify device identity and pairing on LAN HTTP using compatible P-256, SHA-256 and HMAC implementations when Web Crypto APIs or algorithms are unavailable. This does not remove browser secure-context requirements for media capture, clipboard access or other protected APIs.
MCP and WebMCP automation
- One tool catalog: discover connected devices and streams, inspect or configure screen sharing, capture screenshots, control input, inspect Windows accessibility trees, run Shell tasks and collect diagnostics. Desktop provides a Streamable HTTP MCP endpoint, defaulting to
http://127.0.0.1:32100/mcp; supporting browsers can register WebMCP tools and control connected desktop targets. - Separate switches: Enable automation allows authorized tools to operate this computer. Enable MCP exposes the API and can remain enabled for discovery and forwarding while local automation is off. Browsers expose only the MCP switch and do not execute local OS input or Shell commands. Both switches default to off.
- Local MCP tokens: create named
sk-credentials with configurable expiry or no expiry, copy the connection configuration at creation, and edit or revoke them later. Tokens authorize the local MCP entrypoint; remote targets still enforce their own paired-device permissions. Token expiration remains independent of session-based peer approvals. - Settings and approvals: manage automation in Settings and per-device permissions, with approval requests in the existing notification system. Show reachable listener addresses and keep token management available while the MCP API is disabled.
Automated input and screenshots
- Direct desktop input: after acquiring a monitor control lease, keyboard input goes to the foreground window and pointer input uses absolute physical desktop coordinates. Window binding is optional. An AI controller on the same verified device can borrow an existing manual-control grant instead of replacing it.
- Session lifetime and emergency stop: switching Weblink to the background keeps automation active. A bound target window losing focus or closing releases held input and ends that input lease without revoking saved permissions or MCP tokens. The existing host emergency-stop shortcut also stops automation, cancels pending approvals and command process trees.
- Keyboard input: send text, scan-code keys, chords and bounded sequences, with held keys and buttons released when their lease ends. Bound-window input reports focus loss when the window closes or can no longer receive input, including after Alt+F4.
- Readable, bounded screenshots: return PNG image content directly to MCP clients. Full-screen screenshots fit within 1024 × 1024 by default, with optional dimensions up to 2048 per axis. Capture a window or an absolute desktop rectangle for small-text detail. Lossless compression and a 4 MiB image budget limit payload size; image-to-desktop metadata keeps pointer coordinates consistent after cropping or resizing.
- Consistent indicators: show active AI control on both controller and host headers with a sparkle pointer and device name. Matching screen labels use the same icon, and borrowed manual control keeps a single status. Sharing, recording and control statuses consistently show an icon and name without avatars; local MCP status does not display token names.
Shell commands
- Background jobs: run a command and wait briefly for its result, or start it in the background. Support up to ten concurrent jobs per device, bounded output retention, and cursor-based reads of stdout and stderr.
- Input and signals:
commands.sendwrites stdin, closes it with EOF, or sends a supported signal.commands.capabilitiesqueries the addressed device for its actual backend, stdin/EOF support and signal list. Jobs remain pipe-based, with no PTY; Windows supports process-tree termination withSIGTERMandSIGKILL, not Ctrl+C console interruption. - Windows encoding: prefer
pwsh.exe, falling back topowershell.exeonly when the preferred executable is missing. Default console, pipeline and cmdlet encoding to UTF-8. Script failures are not retried in another shell. Shell execution uses the app account's privileges and is not a sandbox.
Streaming, connections and storage
- Shared native encoding: reuse compatible native encoders across viewers and accelerate late-viewer startup with retained-frame/keyframe delivery. Clean up failed shared encoders atomically so stale instances cannot block recovery.
- Codec recovery: retry compatible native codecs after receiver decode failures and renegotiate Media Foundation output-format changes. Improve video playback and offline-peer reconnection, retain valid RTC configuration, and refresh ICE configuration before replacement connections.
- Stable file storage: retain storage ownership while the library refreshes so active file operations keep using their selected storage.
- Local configuration: keep MCP token hashes and listener settings in the current WebView's localStorage, with native validation and execution. Local
tauri devuses an isolated WebView profile; built development and stable applications retain the existing profile location.
Upgrading
- Use 1.3.0 on both endpoints for the new device-pairing and automation flows. Peers must complete identity verification before protected application traffic is allowed; old clients without automation capability cannot use MCP tools over WebRTC. See device pairing.
- Update self-hosted signaling from the revisions pinned by this release, then follow the existing deployment instructions. Legacy signaling support does not bypass endpoint permissions.
- Local
tauri devnow uses a separate profile from built applications. Existing built-app storage locations and file-library contents are unchanged. - Read the automation setup guide before enabling MCP or granting remote automation permissions.
Weblink 1.2.0
Downloads
Windows 10 22H2 / Windows 11 · x64
| Package | Download | Usage |
|---|---|---|
| Installer | Weblink-windows-x64-setup.exe | Installs WebView2 when needed; supports signed, user-confirmed in-app updates. |
| Portable | Weblink-windows-x64-portable.zip | Extract both weblink-desktop.exe and weblink-portable; requires WebView2 120+. Replace manually to update. |
The empty weblink-portable file identifies the portable edition for update checks. Keep it beside weblink-desktop.exe.
Changes
Weblink 1.2 introduces local and remote video recording, a unified file library backed by browser storage or real directories, and more efficient Windows screen encoding.
File storage and transfers
- Choose where files live: Web defaults to IndexedDB and can mount a user-selected directory in supported browsers. Windows desktop defaults to a real local directory. Imports and received files go directly into the selected directory, without an extra
Weblink Filessubfolder. Changing the default affects new files; existing files and active transfers retain their original storage. - One file interface: file listing, lifecycle, preview, saving and location actions use the same VFS contracts for IndexedDB, browser directories and native directories. Directory contents are synchronized into the library, including files added or removed outside Weblink. Changing directories refreshes the cache view, and confirmed deletions remove stale entries and content indexes.
- Automatic IndexedDB migration: migrate legacy file databases into the new paged storage with visible copy and verification progress. Preserve completed files and resumable chunks, and delete each old file database only after the migrated data has been verified. Failed migrations retain the old data for retry; migration does not move files into the newly selected directory.
- Resumable directory files: unfinished transfers use a protective
.partsuffix and keep their resume metadata in the file itself. Incomplete files remain visible as unfinished and cannot be previewed or shared. Hide dot-prefixed entries and browser.crswaptransaction files from directory lists. - Browser filename compatibility: when a browser rejects a filename while creating a directory file, retry with a
.weblinksuffix. The file list and transfers retain the original filename; native directory storage does not add this suffix. Permission, write and final-save errors still report their actual failure rather than being treated as filename restrictions. - Faster completion and clearer failures: reuse successful full-file verification for the same unchanged file version, reduce duplicate reads after large transfers, discard stale cache references, and include file, processing stage and underlying storage error details in import failures. Restore directory authorization through an explicit user action when the browser requires it after reload.
- LAN HTTP compatibility: use the existing UUID fallback for saving and legacy migration when secure-context
cryptoAPIs are unavailable. Browser permissions and secure-context requirements for directory access and media capture still apply.
File actions and previews
- Storage-aware actions: IndexedDB files offer Save to device; directory files offer Save As. Windows files can be opened with their system application or revealed and selected in Explorer from file and message menus. Keep image/video preview controls where available, and keep the cache dialog for inspecting unfinished files.
- Batch saving: select one destination directory for a batch, see the current filename and progress, and cancel remaining work. Name collisions offer overwrite, skip or keep both, with an apply-to-all option. A separate confirmation toast pauses progress and uses the existing background notification flow.
- Background imports and saves: closing the file-cache dialog does not cancel ongoing imports or saves. Progress and collision confirmations remain available until completion or explicit cancellation; import progress now includes a progress bar.
- Cleaner file lists and messages: add a list-header selection checkbox, make Import directly accessible, remove redundant availability labels, and keep message bubbles to at most two primary actions. Additional actions, including group-file details and Open location, live in the context menu.
- Reliable previews: preview paged VFS files through cancellable URLs, add cached video thumbnails, and avoid duplicate file rows and unnecessary repeated thumbnail refreshes.
Recording
- Record one source: record a selected local or remote camera or shared screen with only its associated audio, on both Web and Windows desktop. Pause and resume into the same file, then stop and save. Source removal, replacement or leaving the meeting ends the recording without stopping the original meeting tracks.
- Compact controls: start recording from the video menu and manage pause, resume and save in the header status. Show the participant avatar and source name, mark the recorded tile, and keep recording independent of open menus or the file-cache dialog.
- Save completion notifications: announce a recording only after saving and file-library verification succeed. The shared notification flow chooses an in-app toast or background system notice without repeating it on return. Open the recording in Web preview or the desktop system application; notification settings include a recording category and respect filename-preview and sound preferences.
- Continuous VFS writing: append recording data to the storage chosen when recording starts. Changing the default directory does not redirect an active recording. Show one unfinished library entry while writing a
.recording.partfile, then finalize its metadata and register the completed file without importing it again. - Reuse existing encoded media: share video/audio frame subscription, muxing and file writing across Web and Tauri. Reuse supported sender and receiver video in H.264, H.265, VP8, VP9 and AV1, and audio in Opus, G.722, PCMU and PCMA. Windows native screen recording can subscribe directly to its connected H.264/H.265 hardware sender and encoded audio; unavailable audio reuse retains the PCM encoding fallback.
- Automatic fallback: when encoded frames, codec configuration or required APIs are unavailable during preparation, retain the MediaRecorder path and the native local-receiver fallback. Prefer hardware-capable local capture where supported, adapt fallback bitrate to the source, and avoid forcing received media through another video encoder when reuse is available.
- Container preference: choose Automatic, MKV or MP4. Automatic uses MP4 for H.264/H.265 and MKV for other supported video codecs; G.722, PCMU or PCMA audio also selects MKV to retain the encoded audio. Explicit MP4 can use the audio-encoding fallback for these audio formats while retaining video reuse. MediaRecorder output is remuxed to the selected container without silently dropping tracks.
- Duration, seeking and bounded buffering: write duration and seek metadata, preserve the last data block when stopping, resume on a keyframe, and remove paused time from both tracks. Limit queues between capture, muxing and storage; slow or failed recording writes stop recording instead of blocking normal stream delivery or growing memory without bound.
Windows capture and encoding
- GPU texture input: H.264 and H.265 share the D3D11 texture path from DXGI or Windows Graphics Capture through GPU color conversion and scaling into NVENC or Media Foundation. Supported paths avoid the GPU-to-CPU-to-GPU frame round trip. Preview, diagnostics and software encoders read back only when needed; incompatible devices or drivers retain the memory-input fallback.
- Native NVIDIA encoding: probe H.264/H.265 NVENC sessions on the capture adapter and prefer them when supported. Missing or incompatible drivers and initialization or runtime failures retain the Media Foundation fallback. Intel and AMD continue using their available Media Foundation encoders. Stream statistics report the active implementation, including changes after fallback.
- Match the capture adapter: automatic hardware selection prefers an encoder on the GPU that produced the captured texture, for the negotiated codec. Include encoders on secondary adapters during discovery, retain explicit encoder choices, and report the actual adapter selection and fallback reason. Matching occurs during initialization or reconfiguration, not for every frame.
- Shared variable frame rate: software and hardware screen encoders use the same change-driven scheduling and bounded refresh behavior for static content. Keep frame-rate limits, live settings, keyframe requests and recording subscriptions working across the GPU and memory paths.
- Smoother local preview: reuse readback and cursor-composition buffers while waiting for the page to consume a frame, avoid redundant full-frame initialization, and submit notified frames without an additional animation-frame wait. Hidden previews still release their buffers and resume from the latest content; GPU streaming continues independently.
- Reusable native media core: separate recording lifetime, pause/resume, codec validation and encoded-audio observation from the Windows capture adapters. This prepares the interfaces for future platforms; native Linux and macOS capture backends are not included in this release.
Interface and updates
- Unify toast layout, icons, progress and action styling across notifications and file operations.
- Compact mobile meeting and recording statuses, use icon actions,...
Weblink 1.1.1
Downloads
Windows 10 22H2 / Windows 11 · x64
| Package | Download | Usage |
|---|---|---|
| Installer | Weblink-windows-x64-setup.exe | Installs WebView2 when needed; supports signed, user-confirmed in-app updates. |
| Portable | Weblink-windows-x64-portable.zip | Extract both weblink-desktop.exe and weblink-portable; requires WebView2 120+. Replace manually to update. |
The empty weblink-portable file identifies the portable edition for update checks. Keep it beside weblink-desktop.exe.
Changes
Weblink 1.1.1 adds configurable file transfer queuing, improves long-message reading, and makes room invitations and notifications more consistent.
File transfers
- Configurable concurrency: Settings → Transfer now lets you choose how many files transfer at once, from 1 to 10, with a default of 3. Additional transfers wait in a first-in, first-out queue. Changes apply immediately; lowering the limit lets running transfers finish.
- Visible, cancellable queues: chat attachments, shared files and the task list show queued transfers with cancel controls. File rows remain stable as transfer indicators change.
- Reliable queue handling: waiting for a transfer slot does not consume the transfer startup timeout. Slots remain occupied through saving and merging, and are released when a transfer finishes, fails or is cancelled. Coordinate admission at both ends so simultaneous transfers in opposite directions can make progress.
- Compatibility: queuing requires support from both peers. Compatible clients without queue support continue using the existing transfer behavior, so their transfers are not held to the configured concurrency limit.
Chat and meeting views
- Expandable long messages: long text messages initially show a compact preview with a Show more action. Expanding preserves the conversation's scroll position, and previews keep emoji and combined characters intact.
- Grouped room messages: keep sender avatars visible alongside their message groups while scrolling, and preserve existing message elements when older history is loaded or messages are deleted.
- Accurate screen labels: show the monitor icon and screen-source label only on shared-screen tiles, avoiding misleading screen labels on camera tiles.
Joining rooms
- Open the profile and room setup flow when joining for the first time or when required details are missing.
- Open shared room invitations in the room editor with their connection details filled in, even when automatic joining is disabled. Skip the first-launch About dialog when following an invitation.
- Clear a previously saved password when an invitation points to a room without a password, and remove the duplicate join button from the local preview notice.
Notifications
- One reminder per event: coordinate in-app toasts and system notifications so switching between visible and hidden windows does not repeat an already delivered reminder. This covers remote-control requests, speed-test requests, remote file transfers and desktop update notices.
- Quieter chat: show system message notifications only while the application is hidden. Remove the separate background-only toggle; message preview, sound and category preferences remain available.
- Working notification actions: opening a notification can bring the application forward without invalidating its action. Browsers without notification action buttons can open remote-control and speed-test approval dialogs, while expired or cancelled requests are ignored.
- Recheck visibility and notification preferences during asynchronous delivery, withdraw stale notifications, and update transfer progress without creating duplicate reminders.
Weblink 1.1.0
Downloads
Windows 10 22H2 / Windows 11 · x64
| Package | Download | Usage |
|---|---|---|
| Installer | Weblink-windows-x64-setup.exe | Installs WebView2 when needed; supports signed, user-confirmed in-app updates. |
| Portable | Weblink-windows-x64-portable.zip | Extract both weblink-desktop.exe and weblink-portable; requires WebView2 120+. Replace manually to update. |
The empty weblink-portable file identifies the portable edition for update checks. Keep it beside weblink-desktop.exe.
Changes
Weblink 1.1.0 brings native Windows screen sharing and remote control. View and operate a Windows desktop from another computer or phone while chatting, meeting and exchanging files in the same session. This release also improves desktop window behavior, notifications, update checks and localization.
Screen sharing and remote control
- Native Windows sharing: choose and preview a display or window, use DXGI / Windows Graphics Capture and system audio on supported systems, and select available software or H.264 / HEVC hardware encoders.
- Cross-device input: browser and desktop clients can request Windows display viewing or control, with mouse, keyboard, cursor appearance synchronization and pointer capture. Mobile clients support trackpad and direct-touch modes, gestures, software keyboards and IME input, with optional keyboard visibility following remote text focus.
- Consent and occupancy: approve requests individually, remember allow/deny rules and configure control discovery. Multiple users may request access, but only one controller is granted access at a time; other peers see the occupied state. Input-release and emergency-revocation shortcuts are customizable.
- Optional gamepad forwarding: standard-mapped controllers, stick dead zones, basic dual-motor vibration and strength controls are supported when the Windows host has an available ViGEmBus driver. Keyboard and mouse remain available if gamepad forwarding fails.
- Media controls: change resolution, frame rate and bitrate while sharing; configure high-refresh options, audio formats, SDR color and stream statistics. Automatic encoding selects a common format across connected receivers and renegotiates when membership changes.
Clipboard and file exchange
- Opt-in clipboard synchronization: transfer text, rich text, images and files according to the browser's actual read/write capabilities. Copy received files to the clipboard or local library, convert folders to ZIP and track or cancel transfers.
- Remote file drops: drag local files into compatible applications on the controlled Windows screen and wait for remote acceptance. File drops and clipboard file transfers share a per-operation limit of 64 MiB by default, configurable up to 512 MiB.
- Native desktop saving: attachments, library files, media previews and QR codes use Save As, initially opening the system Downloads directory with the original filename. Automatic downloads save received files there and number filename collisions.
- Image filenames: dragging a chat image out to save it carries its real filename and extension instead of the temporary blob URL's ID.
Desktop, rooms and interface
- Windows and notifications: tray controls, close actions, launch-at-login settings, optional hiding after control approval and resizable, always-on-top native picture-in-picture. Unified message, request and transfer notifications include preview/sound settings and Windows inline replies or request actions.
- Stable-release update checks: Settings → About offers manual checks and an enabled-by-default startup-check switch. Available updates produce a toast and follow system notification preferences; checking never downloads or installs automatically. Installed builds verify the update signature before a user-confirmed installation and restart. Portable builds link to the matching release ZIP for manual replacement.
- Room management: saved recent rooms, unified client/room permissions and activity-based ordering. Automatic-download size limits move into shared transfer settings while retaining per-room switches.
- Eight languages: English, Simplified Chinese, Traditional Chinese, Japanese, Korean, Spanish, French and German, with system language/theme preferences. Improved responsive settings, keyboard focus and fullscreen/touch meeting controls.
- Marketing website: a separate site with English app screenshots in desktop and phone frames demonstrating remote desktops, meetings, chat and shared files; eight languages, light/dark themes, an automatic carousel and a latest-release desktop download entry.
Stability and fixes
- Release retired encoders before replacing streams so additional receivers and automatic codec changes do not leave new screens unable to load.
- Fix remote file hover, permission failures and unexpected drag interruptions. Keep only the latest pending position during movement, acknowledge startup and final drop, and prevent stale positions from changing the destination.
- Fix receiving copied remote image files in browsers. Limited clipboard file mode supports PNG/JPG and remains separate from file-cache mode.
- Fix desktop resume deadlocks, stale autostart paths and native sharing recovery; improve input recovery after congestion, disconnection, fullscreen and focus changes, releasing stale held keys and contacts.
- Fix desktop attachment/library downloads that did nothing, stalled file retries, premature remote-drop completion and hidden clipboard actions on browsers with limited capabilities.
- Derive avatar initials from original names, unify video labels and control/permission states, and repair picture-in-picture restoration, fullscreen overlays and request actions while dialogs are open.
- Correct stream color metadata and duplicate encoders. Generate previews on demand, pause hidden previews/diagnostics, wake native workers on events and reduce desktop package size.
- Restore password-protected rooms over LAN HTTP and improve cleanup and retries after connection or file-decoding failures so late results cannot affect paused or replaced work.
Installation, upgrades and compatibility
- Windows desktop targets Windows 10 22H2 / Windows 11, x64. Stable releases provide an installer and portable ZIP. The installer provisions WebView2 when needed; portable builds require WebView2 120+ and must retain the
weblink-portablemarker beside the executable. - Native hosting currently requires Windows. Display shares support remote control; window shares remain view-only. Input requires host consent or a saved allow rule. Gamepads also depend on controller mapping, browser support and host drivers; Weblink does not install drivers automatically.
- HEVC requires a compatible hardware encoder and a WebRTC H.265-capable receiver. Native streaming remains 8-bit SDR YUV 4:2:0, without HDR or RGB/4:4:4 modes. Resolution and frame-rate settings are limits, not throughput guarantees.
- Upgrade clients participating in a session together. Versioned feature negotiation replaces the unversioned protocol without a legacy fallback. Older clients may appear online while chat, file or control features remain unavailable. Self-hosted signaling servers must also support version 2 join acknowledgments.
- In-app updates apply to stable Windows builds; development builds do not check for or install stable updates. Installation ends active sessions and restarts the application; portable builds remain manually replaceable. Web and desktop share the application version, and release notes include version-specific installer and ZIP links.