-
lainos-utils-2.0-32 Stable
released this
2026-07-15 23:11:42 +02:00 | 11 commits to main since this releaselainos-utils-2.0-32 ~ 2026-07-15
Added
tor-tunnel~ new binary providingtor1/tor2/tor3/tor4:
four dedicated, isolated Tor circuits, matching thewg-vpn/wg1-wg4
WireGuard tunnel model exactly (tor-tunnelinstalled once, symlinked
astor1-tor4, dispatching on its own invoked name the same way
wg-vpndoes).torrcnow definesSocksPort 9050(default,
IsolateDestAddr IsolateDestPortadded) plus four additional
isolated ports (9052-9055), each paired with its own
torsocks-torN.conf. One command works identically across every
application type:- Plain CLI tools and GTK apps (curl, Gajim, Dino) ~ routed via
torsocks. - Electron/Chromium apps (Signal, Element) ~ auto-detected (via
app.asar/resourcesbundle detection, followingexectargets
inside wrapper scripts, or anElectron/x.y.zbinary marker) and
routed instead via Chromium's own--proxy-serverflag, since
torsocks'sLD_PRELOADinterception never reaches Electron's
sandboxed renderer-process networking. - Detected Electron apps also get
LD_PRELOADstripped automatically
(alacritty's forcedhardened_mallocwrapper otherwise gets inherited
and crashes some Electron apps -- confirmed with Signal, which
aborted withfatal allocator error: invalid uninitialized allocator usageuntil this was added) andXDG_CURRENT_DESKTOPoverridden to
GNOME(Chromium's keyring/safeStoragebackend detection doesn't
recognizesway, incorrectly reporting "no supported keyring
backend" even whengnome-keyring-daemon's Secret Service is
genuinely available -- confirmed and fixed with Element). - Firefox-based browsers (LibreWolf) are a confirmed, documented
exception --torsocksis unreliable for Firefox's multi-process
networking; native proxy configuration is the correct approach
instead, documented in the user guide.
- Plain CLI tools and GTK apps (curl, Gajim, Dino) ~ routed via
ram-wipe~ new toggle command for the shutdown-time RAM wipe
(ram-wipe enable|disable|status), controlling thewiperam=skip
kernel cmdline flag via GRUB. Continuous protection (init_on_alloc=1/
init_on_free=1) is unaffected by this toggle -- it's always on. The
actual dracut module this toggles lives in the separate
lainos-ram-wipepackage, ported from Kicksecure/Whonix'sram-wipe.
Not yet visually confirmed working -- correctly installed and
baked into the initramfs, multiple reboots completed cleanly with it
active, but the actual on-screen shutdown message could not be
confirmed visible on Sway/wlroots hardware during testing (see the
user guide for details).- LESME's connect instructions updated to
tor1 profanity -a ...,
isolating it from any other Tor traffic by default.
Verified
- Exit-IP comparison (
curlthrough 9050 vs. 9052) confirmed genuinely
different circuits/exit relays between ports -- isolation is real, not
just correctly configured. - Live-tested against Signal, Element, Gajim, Dino, and LESME/Profanity;
all four confirmed working end-to-end.
Fixed
SocksPortbug caught during testing: adding an isolatedSocksPort
line without also explicitly listing the default port removes the
default entirely (Tor only opens the implicit default when no
SocksPortlines are present at all) -- silently breaking any existing
default-port usage. Both the default and all isolated ports are now
listed explicitly intorrc.
Downloads
-
lainos-utils-2.0-18 Stable
released this
2026-07-11 17:53:48 +02:00 | 20 commits to main since this releaselainos-utils ~ Changelog (2.0-10 through 2.0-18)
New Tools
snowflake(renamed fromlainos-snowflake) ~ toggle to enable/disable the Snowflake pluggable transport bridge, disguising Tor traffic. Writes a working bridge configuration on first use, toggles it on subsequent runs.obfs4(renamed fromlainos-obfs4) ~ same pattern, for the obfs4 pluggable transport.wifi-toggle~ full on/off control of WiFi: stops/startsiwdand blocks/unblocks the radio at the hardware level viarfkill, so "off" means the radio is actually inactive, not just disconnected.wifi-autostart(renamed fromlainos-wifi-autostart) ~ controls whetheriwdstarts automatically at boot.lainos-sdwdate(renamed fromlainos-sdwdate-toggle) ~ toggle betweenchrony(default) andsdwdate(Tor-based time sync).lainos-privacy-help~ opens a new, dedicated privacy guide for sensitive work sessions, installed to/usr/share/lainos/lainos-privacy-guide.md.
Behavior Changes
lainos-secure-messaging(LESME) no longer writes obfs4 bridge configuration. Previously appended bridge lines to/etc/tor/torrcunconditionally on every run, with no duplicate-check, and no coordination with the newobfs4/snowflaketoggles. Bridge configuration is now handled exclusively byobfs4/snowflake, avoiding two independent mechanisms managing overlapping torrc state. LESME still disables Tor from starting at boot and stops it, as before.
Bug Fixes
snowflake: fixed hardcoded binary path (/usr/bin/snowflake-client, which doesn't exist) to the correct/usr/bin/snowflake-pt-client, found via a live crash loop visible innyx(Tor repeatedly failing to launch the managed proxy).snowflake/obfs4: fixed asedlogic bug in both scripts' enable/disable toggling that stripped the#from the block's START/END marker lines themselves, not just the configuration lines between them. This corruptedtorrcinto an invalid state (Unknown option '---') and prevented Tor from starting at all. Fixed and verified through full enable/disable/enable cycles on both scripts.lainos-sdwdate: removedset -e, which caused the script to exit early wheneverrc-service statusreturned a non-zero exit code for a stopped service (normal, expected behavior).kloak: fixed the wrapper script self-referencing itself via a baredoas kloakPATH lookup instead of calling/usr/bin/kloakdirectly.
Documentation
- User guide updated: new "Pluggable Transports ~ Bridges," "Time Sync ~ sdwdate," and "Privacy Guide for Sensitive Work" sections; WiFi section updated with
wifi-toggle/wifi-autostart; stale note about LESME auto-configuring obfs4 removed. - New dedicated Privacy Guide for Sensitive Work, with a visual diagram and a specific command sequence (start Tor/bridge → sdwdate → WiFi radio on → connect) ordered so time sync and Tor are both already running before the network interface ever comes up.
- Integrated the main user guide into the package (previously referenced by
lainos-helpbut the file didn't exist). - Documented
lainos-hardened-malloc,lainos-help, andlainos-sdwdatein the README's utility table.
Downloads
-
v2.0-10 Stable
released this
2026-07-10 18:12:21 +02:00 | 24 commits to main since this releaselainos-utils ~ Changelog
New Features
- Added
lainos-sdwdate~ toggle script to switch betweenchrony(plaintext NTP, always available) andsdwdate(Tor-based, fingerprint-resistant time sync; requires Tor to be running, no fallback if Tor is unreachable).chronyremains the default;sdwdateis an explicit, deliberate opt-in.lainos-sdwdate enable # switch to Tor-based sync lainos-sdwdate disable # switch back to chrony (default) lainos-sdwdate status # show which is active + current time
Bug Fixes
lainos-sdwdate: removedset -e, which caused the script to exit early wheneverrc-service statusreturned a non-zero exit code for a stopped service (normal, expected behavior) instead of continuing through all status checks.kloak: fixed the wrapper script self-referencing itself via a baredoas kloakPATH lookup instead of calling/usr/bin/kloakdirectly, causing repeated re-invocation and adoas: Operation not permittedfailure.
Documentation
- Integrated the LainOS Layer 02 user guide into the package, installed to
/usr/share/lainos/lainos-layer02-user-guide.md, matching the pathlainos-helpalready expected.
Downloads
- Added
-
v2.0-8 Stable
released this
2026-07-09 20:52:35 +02:00 | 28 commits to main since this releaselainos-utils ~ 2.0-8 Changelog
Bug Fixes
- Fixed
kloakwrapper script self-referencing itself. The wrapper atlainos-utils/kloakcalleddoas kloak -d 123 -r "$KEYBOARD", which resolved to itself viaPATHlookup instead of the realkloak-gitbinary at/usr/bin/kloak, causing repeated re-invocation and adoas: Operation not permittedfailure. Fixed to call/usr/bin/kloakexplicitly by full path.
Downloads
- Fixed
-
v2.0-5 Stable
released this
2026-07-07 17:02:11 +02:00 | 30 commits to main since this releaselainos-utils 2.0-5
wifi-scan
- Added
[d] Disconnectoption to network selection menu - Runs
iwctl station <iface> disconnectand exits cleanly
Downloads
- Added
-
v2.0-3 Stable
released this
2026-07-02 20:54:58 +02:00 | 31 commits to main since this releaselainos-utils Changelog
2.0-3 (2026-07-02)
wg-vpn
- Added WireGuard VPN tunnel manager script
- Symlinked to wg1, wg2, wg3, wg4 (up) and wg1d, wg2d, wg3d, wg4d (down)
- Supports up to 4 simultaneous tunnel configurations
- Requires WireGuard configs at /etc/wireguard/wgX.conf
2.0-2 (2026-07-01)
wifi-scan
- Replaced free-text SSID prompt with numbered network selection menu
- Fixed SSID parsing to correctly strip the > active-network marker and trailing security/signal columns from iwctl output
- Added ANSI color code stripping for reliable column parsing
2.0-1 (initial)
- Initial release
- Includes: torctl, kloak, wifi-scan, ani-cli, brightness, virtman
Downloads
-
v2.0 Stable
released this
2026-06-30 20:33:27 +02:00 | 34 commits to main since this releaselainos-utils Changelog
2.0-2 (2026-06-30)
wifi-scan
- Replaced free-text SSID prompt with numbered network selection menu
- Fixed SSID parsing to correctly strip the
>active-network marker and trailing security/signal columns from iwctl output - Added ANSI color code stripping for reliable column parsing
-
v2.0 Stable
released this
2026-06-30 00:38:14 +02:00 | 34 commits to main since this releaselainos-utils 2.0 (2026-06-29)
kloak:
- Auto-detects keyboard device — no longer hardcoded to PS/2 path
- Automatically loads uinput kernel module before starting
- Now works on all systems regardless of keyboard type (PS/2 or USB)
wifi:
- New and improved hardware auto-detecting wifi script
- Open a terminal and type wifi to scan available networks
- Type the first 3 letters of your network, press tab, hit enter
- Enter your password to connect
Downloads