Keep your Mac awake while the gateway is running
Show desktop notifications for new messages when the tab is not active
Play a sound when new messages arrive
Use uploaded sound instead of default
Upload a custom notification sound (mp3, wav, ogg, m4a, aac - max 5MB)
Choose your preferred color scheme
Add custom styles to customize the appearance
Set a token to require authentication for API access. Leave empty to disable.
Install iuselinux as a macOS service that starts automatically on login and restarts on failure.
Enable Tailscale serve to access iuselinux from anywhere on your tailnet with automatic HTTPS.
The menu bar tray icon provides quick access to start/stop the service.
How long to cache video thumbnails (in seconds). Default: 86400 (24 hours)
Seconds into video to extract thumbnail from. Default: 3.0
Seconds between database polls for new messages. Lower = faster updates, higher CPU. Default: 1.0
Run iuselinux directly with uvx (downloads to a temporary environment):
uvx iuselinux
This starts the server on localhost:1960. Options:
uvx iuselinux --host 0.0.0.0 --port 8000
uvx iuselinux --api-token SECRET
To force the latest version: uvx iuselinux@latest
Install iuselinux persistently with faster startup (recommended for regular use):
# Install permanently
uv tool install iuselinux
# Run directly (no uvx prefix needed)
iuselinux
# Upgrade to latest version
uv tool upgrade iuselinux
# Upgrade and restart the service
iuselinux service upgrade
Permanent installation creates a persistent environment in ~/.local/share/uv/tools/ and adds iuselinux to your PATH.
Install as a macOS LaunchAgent that starts on login and auto-restarts:
# Basic install (localhost only)
uvx iuselinux service install
# With custom port
uvx iuselinux service install --port 8000
# With Tailscale remote access
uvx iuselinux service install --tailscale
Manage the service:
# Check status
uvx iuselinux service status
# Uninstall
uvx iuselinux service uninstall
The service launcher automatically detects whether you used uvx or uv tool install.
The easiest way to securely access iuselinux from anywhere. Two options:
uvx iuselinux service install --tailscale
This installs the service and configures tailscale serve automatically. Access at https://your-mac.tailnet-name.ts.net
# Run on localhost
uvx iuselinux
# In another terminal, expose via Tailscale
tailscale serve 1960
You can enable/disable Tailscale from the Service tab above.
Forward the port through SSH for secure remote access:
# On your Mac
uvx iuselinux
# On your remote machine
ssh -L 1960:localhost:1960 user@your-mac-ip
Then open http://localhost:1960 on your remote machine.
For auto-reconnecting tunnels:
autossh -M 0 -o "ServerAliveInterval 30" \
-L 1960:localhost:1960 user@your-mac-ip
Bind to all interfaces for LAN access:
uvx iuselinux --host 0.0.0.0
Access from any device on your network at http://your-mac-ip:1960
Find your Mac's IP:
ipconfig getifaddr en0
This exposes iuselinux to everyone on your local network. Use --api-token SECRET for basic protection.
iUseLinux loading...
A web interface for reading and sending iMessages on macOS.
To update:
# If you used 'uv tool install':
uv tool upgrade iuselinux
# If you use 'uvx' (ephemeral):
uvx iuselinux@latest
This server requires an API token to access.