SocketZero is a secure remote access tool that creates encrypted tunnels from your local machine to services in remote networks. Unlike VPNs, SocketZero uses a Zero Trust model where each service requires explicit authorization.
| Feature | SocketZero | Traditional VPN |
|---|---|---|
| Access Model | Zero Trust (per-service) | Network-wide access |
| Performance | Direct tunnels, low latency | Routes all traffic through VPN |
| Security | Fine-grained per service | Broad network access |
| Setup | Add profile, connect | Install cert, connect to network |
No, SocketZero is closed-source software. However, this documentation is public to help users.
- macOS (Apple Silicon and Intel)
- Windows (64-bit)
- Linux (Debian, Ubuntu, Fedora, RHEL)
- macOS: No (drag to Applications)
- Windows: Yes (installer requires elevation)
- Linux: Yes (package managers require sudo)
Yes, download the installer on a machine with internet, then transfer it via USB or shared drive.
This is Gatekeeper protecting you from unsigned apps. To bypass:
- Right-click SocketZero in Applications
- Click "Open"
- Confirm you want to open it
You only need to do this once.
Causes:
- Receiver is offline or unreachable
- Firewall blocking port 9997 (default receiver port)
- Wrong hostname in profile
Solutions:
- Verify the receiver hostname with your IT admin
- Check if you can reach the receiver:
ping receiver.example.com - Try with the port explicit:
receiver.example.com:9997
Causes:
- Invalid credentials
- Session expired
- Identity provider configuration changed
Solutions:
- Click "Logout" then "Connect" to re-authenticate
- Clear your browser cookies for the auth domain
- Contact your IT admin to verify your account access
Causes:
- Unstable network connection
- Receiver restarting
- Firewall interfering with WebSocket connections
Solutions:
- Check your network stability
- Enable auto-reconnect (on by default)
- Contact your IT admin about receiver health
Causes:
- Your user/role doesn't have access to any services
- Services are offline
- Authorization rules changed
Solutions:
- Contact your IT admin to verify your permissions
- Check if other users can see services
- Try disconnecting and reconnecting
- Click the SSH service tile in SocketZero
- Open your terminal
- Run:
ssh username@service-hostname
The hostname (e.g., dev.internal) is created by SocketZero.
Yes! Each service tile creates an independent tunnel. You can have as many active as needed.
Common causes:
- Wrong credentials for the service itself (separate from SocketZero auth)
- Service is down on the remote end
- Firewall rules on the remote service blocking your connection
Test the tunnel:
nc -zv service-hostname portIf this fails, the issue is with the tunnel. If it succeeds, the issue is with service authentication.
Yes! Install SocketZero on each device and add the same profile. Each device maintains its own session.
Yes. All tunnels use TLS 1.3 encryption. Your traffic is encrypted from your machine to the receiver.
The receiver can log connection metadata (who connected, when, to which services) but cannot decrypt the tunnel contents unless they control both the receiver and the service endpoint.
Immediately:
- Contact your IT admin to revoke your SocketZero session
- Change your authentication password
Your IT admin can disable your account, which invalidates all active sessions.
No. SocketZero uses OAuth tokens from your identity provider. The token is stored locally and can be cleared by logging out.
Not yet. The client requires the GUI. However, you can use the underlying client service component directly if you're comfortable with Go development. (See the main SocketZero repository.)
Not officially supported. The UI is the primary interface. For automation, consider running the receiver and client service components separately.
- Client UI: Electron app you interact with
- Client service: Background Go process that handles tunnels
The UI manages the service. Most users never need to know this distinction.
- macOS:
~/Library/Logs/SocketZero/ - Windows:
%APPDATA%\SocketZero\logs\ - Linux:
~/.config/socketzero/logs/
Enable debug logging with SOCKETZERO_DEBUG=1.