Spaces:
Paused
Paused
| # exit when any command fails | |
| set -e | |
| # Check if /dev/net/tun already exists, avoid creating it if it's already present | |
| if [ ! -c /dev/net/tun ]; then | |
| echo "/dev/net/tun not found, unable to create it as non-root user. Ensure the hosting environment provides the tun device." | |
| exit 1 | |
| fi | |
| # start dbus (if applicable) | |
| mkdir -p /run/dbus | |
| if [ -f /run/dbus/pid ]; then | |
| rm /run/dbus/pid | |
| fi | |
| dbus-daemon --config-file=/usr/share/dbus-1/system.conf | |
| # start the WARP daemon | |
| warp-svc --accept-tos & | |
| # sleep to wait for the daemon to start, default 2 seconds | |
| sleep "$WARP_SLEEP" | |
| # if /var/lib/cloudflare-warp/reg.json not exists, setup new warp client | |
| if [ ! -f /var/lib/cloudflare-warp/reg.json ]; then | |
| # if /var/lib/cloudflare-warp/mdm.xml not exists, register the warp client | |
| if [ ! -f /var/lib/cloudflare-warp/mdm.xml ]; then | |
| warp-cli register && echo "Warp client registered!" | |
| # if a license key is provided, register the license | |
| if [ -n "$WARP_LICENSE_KEY" ]; then | |
| echo "License key found, registering license..." | |
| warp-cli register --license "$WARP_LICENSE_KEY" && echo "Warp license registered!" | |
| fi | |
| fi | |
| # connect to the warp server | |
| warp-cli --accept-tos connect | |
| else | |
| echo "Warp client already registered, skipping registration" | |
| fi | |
| # Start WARP in proxy mode on localhost | |
| echo "Starting WARP in local proxy mode..." | |
| warp-cli --accept-tos set-mode proxy | |
| warp-cli --accept-tos connect | |