This script provides a fully automated method for installing, configuring, and managing the shoes proxy server on a Linux system. It simplifies the setup process from downloading the binary to generating client configuration links.
To run the script, execute the following command with root privileges:
bash <(curl -Ls https://raw.githubusercontent.com/MixxxGit/shoes_deploy/refs/heads/main/deploy_shoes.sh)- Fully Automated: Installs the
shoesbinary, sets up configuration, and runs it as a systemd service. - OS and Architecture Detection: Automatically detects the operating system, architecture, and C library (glibc/musl) to download the correct binary.
- Firewall Configuration: Automatically configures
ufworfirewalldto open the necessary ports (80, 443, 8443). - Automatic Domain and Certificate Discovery: Scans the
/root/certdirectory to find the most recently updated domain and its corresponding SSL certificates. - Template-Based Configuration: Uses pre-defined templates to quickly set up various proxy protocols.
- Systemd Service: Installs and manages
shoesas a systemd service, ensuring it runs on boot. - Client Configuration Generation: Generates a shareable link or configuration details for the client.
- Uninstallation: Provides a simple command to completely remove the
shoesserver and its configuration from the system.
The script accepts several command-line options to customize the installation and configuration.
| Option | Argument | Description |
|---|---|---|
(no option) |
[template] |
Installs shoes using the specified configuration template. Defaults to vless_over_websocket. |
--uninstall |
Removes the shoes binary, configuration files, and systemd service. |
|
-h, --help |
Displays the help message with all available options. | |
--libc |
<type> |
Manually specifies the C library to use. Can be gnu or musl. |
--custom-url |
<url> |
Downloads the shoes binary from a custom URL instead of GitHub. |
--custom-method |
<method> |
Sets the HTTP method (e.g., POST) to use with --custom-url. Defaults to GET. |
--port |
<port> |
Specifies a custom port for the service. Defaults to 443 for TLS/QUIC and 8443 for others. |
You can specify one of the following templates when running the installation command.
TLS-based Templates (Port 443):
vless_over_websocket(Default)wss_vmesstrojan_over_tlsshadowsocks_over_tls_wshttps
QUIC-based Templates (Port 443):
vless_over_quichysteria2tuic_v5
Other Templates (Port 8443):
shadow_tlssnellvmesssocks5http
This is the default command. It installs shoes using the vless_over_websocket template on port 443.
bash <(curl -Ls https://raw.githubusercontent.com/MixxxGit/shoes_deploy/refs/heads/main/deploy_shoes.sh)This command installs shoes and configures it to run a Hysteria2 server on port 443.
bash <(curl -Ls https://raw.githubusercontent.com/MixxxGit/shoes_deploy/refs/heads/main/deploy_shoes.sh) hysteria2This command sets up a Trojan server on a custom port (e.g., 8443).
bash <(curl -Ls https://raw.githubusercontent.com/MixxxGit/shoes_deploy/refs/heads/main/deploy_shoes.sh) --port 8443 trojan_over_tlsThis command installs a Snell server, which defaults to port 8443.
bash <(curl -Ls https://raw.githubusercontent.com/MixxxGit/shoes_deploy/refs/heads/main/deploy_shoes.sh) snellbash <(curl -Ls https://raw.githubusercontent.com/MixxxGit/shoes_deploy/refs/heads/main/deploy_shoes.sh) --custom-url https://temp.sh/auoRl/shoes --custom-method POSTTo completely remove the shoes server, its configuration, and the systemd service, run:
bash <(curl -Ls https://raw.githubusercontent.com/MixxxGit/shoes_deploy/refs/heads/main/deploy_shoes.sh) --uninstall