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 (no installation required):
uvx iuselinux
This starts the server on localhost:1960. Options:
uvx iuselinux --host 0.0.0.0 --port 8000
uvx iuselinux --api-token SECRET
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
You can also manage the service from the Service tab above.
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, run:
uv tool upgrade iuselinux
This server requires an API token to access.