Skip to content

Releases: alron/llama-swap-mac-launcher

Llama Swap Launcher 0.2.1

Choose a tag to compare

@alron alron released this 04 Oct 23:54

The first public release.

Llama Swap Launcher is a menu-bar app that runs llama-swap for you, so its connections to other machines on your LAN work under macOS's Local Network privacy however it's started: from tmux, a script or an AI agent too. It comes with llsl, a command-line tool for scripts and agents. See the README to install and use it.

It needs macOS 15 or later on Apple silicon, and llama-swap v252 or later (tested with v262), installed separately.

This release fixes what a security assessment found in 0.2.0:

  • The zip works with unzip. Unpacked with /usr/bin/unzip rather than the Finder, 0.2.0's app failed its signature check.
  • Collect Diagnostics redacts more: secrets in comment lines, multi-line values, x-api-key and other credential headers, curl -u, NAME=value, JSON inside a line, and more token formats. Every environment variable's value is blanked in the copy of the settings.
  • A warning when llama-swap can be used without a key: in the menu and in llsl status, when the app has API keys that llama-swap's config doesn't ask for, or llama-swap listens beyond this Mac with none. Settings asks before a change that would open it to the network without a key.
  • The app's requests to llama-swap no longer go through a proxy set in the environment, which could have sent the API key off the Mac.
  • A client could keep its requests out of the saved log by sending the app's health-check User-Agent. Only the app's own health checks are left out now.
  • The health monitor stops as soon as llama-swap exits, rather than sending the API key to whatever takes the port next.
  • llsl status shows control characters in text from the network as escapes, so it can't redraw the terminal.
  • Alerts no longer fail on text that isn't valid UTF-8.
  • A second copy of the app can't stop the first one's llama-swap. Requests to the control socket are limited in size, and logs aren't opened through a symbolic link.
  • A warning when the app is run straight from Downloads, where macOS runs it from a temporary location that Launch at Login can't use.
  • SECURITY.md, and a Security section in the README: how to report a problem, and what the app trusts.

Upgrading: quit the running app before replacing it. Settings, keychain items and the Local Network permission carry over.

Checking the download

Llama-Swap-Launcher-0.2.1.zip has the SHA-256 50857589ce944084c5f5234d27684f22d1e275807b1dec14771961b7a67d77b2; compare it with shasum -a 256. After unzipping, spctl -a -vv "Llama Swap Launcher.app" should say source=Notarized Developer ID, and codesign -dv "Llama Swap Launcher.app" should show TeamIdentifier=P56KW9H72P.