Repository navigation
Releases: Vemloir/Varmlen-Client-Linux
Release list
Varmlen 0.4.1 Preview
Linux preview release.
- Per-app split no longer cuts Xray off from the network. The split laid its
default route in table 100, the table the network helper keeps for Xray's own
dials, and tore it down with a flush of that table. Clearing the last excluded
application, switching applications to selective mode, or reconnecting with a
changed list therefore removed the physical route while the tunnel stayed up:
every direct outbound looped back into the tun, which in selective mode is all
traffic outside the whitelist. The split now owns table 102 and a rule of its
own, with the same LAN exceptions, and removes only those; recovery knows the
new table, and a split kept across a reconnect lays its routing again. - A selective website list works with applications in general mode. The default
outbound followed the applications' mode alone, so everything went through the
VPN and the website list did nothing. Either list in selective mode now makes
the default direct.
Built on the release machine from the tagged tree (amd64 only: GitHub Actions on this
account are refused over a billing lock, so there is no arm64 build). Checked with vitest,
npm run check, the daemon and src-tauri test suites, scripts/test-install-layout.sh and
scripts/test-linux-package.sh on the deb.
Check with sha256sum -c SHA256SUMS.
Varmlen 0.4.0
Linux release.
- Locations got their own menu, and hiding became a real thing. Right-click or long-press a
location for ping, rename, pin and hide. A pinned location goes to the top of the list and
carries the same pin mark as the tab; hidden locations collapse into one "N hidden" line
inside the card, and revealing them survives a trip to Settings. - The client no longer picks a different country by itself. A refresh, a background update or
a reconnect used to drop the selection onto "auto choice"; the location you chose is kept by
name, inside its own card. - DNS is asked over a transport the proxy actually carries. Subscription hosts and connection
targets resolve through DNS-over-HTTPS with the system resolver as a fallback, which is why
whole Proxen catalogues used to sit at 0 ms and never connect while another client on the
same machine worked. - Split tunnelling is one page with two halves. The Apps / Websites pill stays where it is and
the halves slide under the finger; each half remembers its own reading position; adding a
website is one field and one button; the asterisk notation is gone, and a plain name means
the domain and its subdomains. - Tabs switch by dragging sideways and the page rides with the pointer. Four places: Home,
applications, websites, Settings. A release is decided by distance or by flick speed, the
ends of the strip resist, and the page you are heading for is drawn under the finger instead
of a strip of background. - The tab bar is a narrow pill floating over the pages. Labels are off by default and Settings
brings them back. - Home carries a session pill under the power button: upstream throughput, how long the tunnel
has been up, downstream throughput. It reports the tunnel it belongs to rather than the
process that read it, and it greys out instead of inventing numbers when the tunnel is down. - The traffic strip in a subscription card is drawn even when the provider reports nothing.
Quota information is information, and an unknown denominator is not infinity. - MTU is a setting (576-9000, 1500 by default) instead of a hardcoded 1500. Settings gained a
General section for the tray, autostart and start-minimized, and a switch for simultaneous
pings. - Locations stop turning into dead endpoints while the client is closed, and a subscription
update that failed says so instead of quietly keeping the old list. - One rounding family, one row height, one surface colour across the app. Menus open at the
cursor and are as wide as their longest item. Nothing is selectable except fields. - The scrollbar is drawn by the shell: it stays at the edge when a swipe moves the page, and it
fades out under the finger instead of switching off.
Assets here are built on the release machine from this tag and verified with
scripts/test-linux-package.sh (deb layout) and an architecture check on each file. The GitHub
runner is not used for this release: Actions jobs on this account are refused with "your account
is locked due to a billing issue", so only amd64 is published and arm64 is not available.
Check with sha256sum -c SHA256SUMS.
Varmlen 0.3.2
Linux release.
- Split rules now reach the tunnel that is already up: editing the application
exceptions used to do nothing until the tunnel was cycled, and an application
removed from the list kept going direct. - The split finds the applications it used to miss. A Windows game is named by
the image inside its launcher's arguments (Proton execswine64and carries
REPO.exe), and a sandboxed application is claimed by its application id
(org.vinegarhq.Sober) through the scope it runs in. - Reconnect works in one attempt; the tun-bound configuration check no longer
fails against the interface that is still up. - Locations that carry traffic no longer read as dead: the latency probe speaks
HTTP/2 to the profile's own DNS-over-HTTPS resolver, which answered505to
HTTP/1.1. A resolver that will not answer costs the probe seconds, not the
location's latency, and failures end with the real reason. - Hysteria2, WireGuard, mKCP and QUIC locations get the 15 s probe budget they
need, and theJSONmarker on provider-profile locations. - Includes DEB, RPM, and AppImage packages.
Varmlen 0.3.1
Linux release.
- Fix per-app split tunnelling DNS: excluded apps now resolve through the physical network instead of inheriting the selected VPN location.
- Preserve the split bypass and direct DNS path across VPN location changes when exclusions are unchanged.
- Keep all non-excluded system DNS inside the VPN with fail-closed nftables protection.
- Use the host network resolver when available, with public direct fallbacks for excluded apps.
- The package fallback core is stable Xray 26.3.27; upgrades move installations from the first 0.3.1 assets (prerelease 26.7.28) back to it, and manually installed cores stay available for switching.
- Includes DEB, RPM, and AppImage packages.
Varmlen 0.3.0
- validates the final native Xray configuration and the selected profile's effective route before switching traffic
- keeps optional, fallback, balancer, and chained outbounds from blocking a working connection
- removes the
v2rayTunsubscription User-Agent option - hardens the privileged daemon, subscription fetching, IPC limits, validation-port ownership, and rotated logs
- pins the bundled fallback to stable Xray 26.3.27
AppImage is not published because the standalone root-daemon bootstrap is not implemented yet.
Varmlen Linux 0.2.6
What changed
- Per-app split controls are unavailable in Proxy mode and explain that TUN is required on hover, focus, or press.
- General and Selective website rules now work for traffic sent through the local SOCKS proxy.
- Removed the misleading manual Network permissions setup; daemon authorization remains lazy and tied to real operations.
- Corrected the Proxy label to the actual SOCKS endpoint at 127.0.0.1:2081.
- Release scripts now derive artifact names from the package version instead of hardcoding it.
Packages: locally verified amd64 DEB, RPM, and AppImage. The AppImage requires the privileged backend to have been installed previously from the DEB or RPM package.
Varmlen Linux 0.2.5
What changed
- Rebuilt the location editor around one modal lifecycle, fixing close/reopen failures after editing JSON locations.
- Added Xray-derived choices for VLESS, VMess, Trojan, Shadowsocks, Hysteria, WireGuard, HTTP, and SOCKS fields.
- All locations now start latency checks in parallel; composite JSON locations probe every concrete outbound and return the first healthy RTT.
- Added the missing divider above the first location and contained long log lines inside the diagnostics dialog.
- Preserved compatibility with an already-running 0.2.5 daemon so upgrading does not interrupt a 24/7 tunnel.
- Added a native amd64/arm64 release workflow. GitHub Actions is currently blocked by an account billing lock, so this publication contains the locally verified amd64 packages; arm64 assets will be attached to this same release after Actions is restored.
Packages: amd64 DEB, RPM, and AppImage.
Varmlen Linux 0.2.4
What changed
- Fixed latency checks for composite JSON locations such as Proxen profiles. The check now targets the profile fallback proxy instead of starting its background balancer health checks.
- Proxy latency now uses the same HEAD connectivity probe shape as Xray health checks, avoiding inflated results and locations that incorrectly stayed unavailable.
- The UI now labels this measurement explicitly as proxy HTTP latency.
Packages: amd64 DEB, RPM, and AppImage.
Varmlen Linux 0.2.3
What changed
- Subscription User-Agents now use
<client>/<platform>/<architecture>without an application version. - Happ, INCY, and v2rayTun modes now receive full JSON profiles from providers such as Proxen instead of the generic URI list.
- Bundled and downloadable Xray cores are selected from the Linux target architecture instead of assuming amd64. ARM32/ARM64 and the other official Xray Linux architectures are mapped and regression-tested.
For Proxen, select Happ, INCY, or v2rayTun in Settings and refresh the subscription once. Proxen currently does not recognize the Varmlen client family.
This release contains amd64 packages; ARM package builds require an ARM runner or Linux cross-build environment.
Varmlen Linux 0.2.2
What changed
- Full multi-outbound Xray JSON profiles now stay one logical location and retain provider balancers and observatories.
- Editable source JSON is preserved while Varmlen keeps control of DNS, split tunneling, and kill-switch policy.
- JSON outbounds support VLESS, VMess, Trojan, Shadowsocks, Hysteria, WireGuard, HTTP, and SOCKS.
- Subscription User-Agent can be Varmlen, Happ, INCY, or v2rayTun with stable Linux identity and no app version.
- Locations are flat; local Configuration N imports migrate to Configuration/Configurations.
- HTTP latency checks measure the complete selected profile.
After changing User-Agent, refresh the subscription once to fetch the matching server response.