https://github.com/wiredoor/wiredoor-cli
Wiredoor CLI allows you to connect, expose, and manage nodes and services securely with Wiredoor Server.
https://github.com/wiredoor/wiredoor-cli
Last synced: 2 months ago
JSON representation
Wiredoor CLI allows you to connect, expose, and manage nodes and services securely with Wiredoor Server.
- Host: GitHub
- URL: https://github.com/wiredoor/wiredoor-cli
- Owner: wiredoor
- Created: 2025-03-29T22:05:17.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-04-07T04:29:47.000Z (2 months ago)
- Last Synced: 2025-04-07T04:30:35.659Z (2 months ago)
- Language: Go
- Homepage: https://www.wiredoor.net
- Size: 0 Bytes
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Wiredoor CLI Command Reference
`wiredoor-cli` is a lightweight command-line client written in Go, designed to interact with the Wiredoor Server.
It allows you to:
- Connect your node to the VPN
- Expose or unexpose services
- Check VPN status and connection logs
- Automate service exposure on boot
- Authenticate via token-based accessThis CLI is especially useful for nodes running in headless environments (e.g., servers, containers, Raspberry Pi, etc.).
## Installation
You can install wiredoor-cli from prebuilt packages or use the multi-arch Docker image.
Pick the method that suits your platform from the [Releases](https://github.com/wiredoor/wiredoor-cli/releases) page:### Debian/Ubuntu
```bash
wget https://github.com/wiredoor/wiredoor-cli/releases/download/v1.0.0/wiredoor_1.0.0-1_debian_amd64.deb
sudo apt install -f ./wiredoor_1.0.0-1_debian_amd64.deb
```### RHEL / Fedora / CentOS / AlmaLinux
```bash
wget https://github.com/wiredoor/wiredoor-cli/releases/download/v1.0.0/wiredoor_1.0.0-1_rpm_amd64.rpm
sudo dnf install -y wiredoor_1.0.0-1_rpm_amd64.rpm
```### Alpine Linux
```bash
wget https://github.com/wiredoor/wiredoor-cli/releases/download/v1.0.0/wiredoor_1.0.0-1_alpine_amd64.apk
sudo apk add --allow-untrusted wiredoor_1.0.0-1_alpine_amd64.apk
```### Login and Create Node
The fastest way to onboard a new system as a node. Authenticate with a Wiredoor server using admin credentials and register this node via interactive prompts.
```bash
wiredoor login --url https://your-wiredoor-instance-or-ip
```- Prompts for your admin credentials (email/password)
- Prompts you to assign a name to the node. Defaults to the machine’s hostname.
- Prompts you if you want to make this a gateway.
- Network configuration for gateway and traffic.This command retrieves and saves the node’s token to `/etc/wiredoor/config.ini` and connect to wiredoor server.
### Connect
Establish a VPN connection using saved or provided credentials.
```bash
wiredoor connect
wiredoor connect --url=https://wiredoor.example.com --token=ABC123
```- Uses `/etc/wiredoor/config.ini` by default
- Optionally override `--url` and `--token`### Wiredoor config
Write the server URL and token to the config file without connecting.
```bash
wiredoor config --url=https://wiredoor.example.com --token=ABC123
```- Saves config to `/etc/wiredoor/config.ini`
- Does **not** start the connection### Wiredoor Expose HTTP Service
Expose a local HTTP service via Wiredoor.
```bash
wiredoor http my-website --domain website.com --port 3000
```Optional flags:
- `--path /ui` (default: /)
- `--proto https` (default: http)
- `--backendHost` (useful if acting as a gateway)
- `--allow` / `--block` for IP access control### Wiredoor Expose TCP Service
Expose a generic TCP/UDP service via wiredoor available port.
```bash
wiredoor tcp ssh-access --port 22
wiredoor tcp redis --port 6379 --ssl --allowedIps 192.168.0.0/24
```Optional flags:
- `--proto tcp|udp` (default: `tcp`)
- `--ssl` wrap in TLS
- `--backendHost` (useful if acting as a gateway)
- `--allow` / `--block` for IP access control### Wiredoor Status
View current VPN and service status.
```bash
wiredoor status
wiredoor status --health
wiredoor status --watch --interval 10
```Flags:
- `--health`: Health check (exit 0/1)
- `--watch`: Continuous monitoring
- `--interval`: Poll interval (default: 5s)### Wiredoor disconnect
Stop the active VPN tunnel and disable all services (temporarily).
```bash
wiredoor disconnect
```- Does **not** delete the node configuration
- Use before maintenance or to restart### Wiredoor disable
Temporarily disable an exposed service by name.
```bash
wiredoor disable http my-website
wiredoor disable tcp db-access
```- Blocks public access
- Use `wiredoor enable` to restore### Wiredoor enable
Re-enable a previously disabled service.
```bash
wiredoor enable http my-website
wiredoor enable tcp db-access
```- Restores service availability
- Requires existing configuration