#!/bin/bash KEY_FILE=~/.dlinux-cli.key if [ ! -f $KEY_FILE ]; then echo -e "Key file not found, run:\necho \"[YOUR-API-KEY]\" > $KEY_FILE" exit 1 fi API_KEY="$(cat $KEY_FILE)" print_help() { printf " $0 hello - Get a hello message $0 name - Get your SSHID $0 start - Start your container $0 stop - Stop your container $0 restart - Restart your container $0 info - Get info about your container $0 stats - Get your container memory usage statistics $0 time - Get your container expiration time $0 rootpass - Reset root user password $0 key-time - Get your api key expiration time " } # Helper function call_api() { curl -X $1 -H "x-ssh-auth: $API_KEY" "https://api.ssh.surf/$2" 2> /dev/null } # Commands command_hello() { call_api GET hello | jq -r .message } command_name() { call_api GET name | jq -r .message } command_start() { call_api GET start | jq -r .message } command_stop() { call_api GET stop | jq -r .message } command_restart() { call_api GET restart | jq -r .message } command_info() { data=$(call_api GET info) printf " Name: $(echo $data | jq -r .data.name) IP Address: $(echo $data | jq -r .data.IPAddress) MAC Address: $(echo $data | jq -r .data.MACAddress) Memory: $(echo $data | jq -r .data.memory) CPUs: $(echo $data | jq -r .data.cpus) Restart policy: $(echo $data | jq -r .data.restartPolicy.Name) Restarts: $(echo $data | jq -r .data.restarts) State: $(echo $data | jq -r .data.state.Status) Pid: $(echo $data | jq -r .data.state.Pid) Started at: $(echo $data | jq -r .data.state.StartedAt) " } command_stats() { data=$(call_api GET stats) printf " Raw: $(echo $data | jq -r .data.memory.raw) Percentage: $(echo $data | jq -r .data.memory.percent)% CPU: $(echo $data | jq -r .data.cpu)% " } command_time() { call_api GET time | jq -r .expireDate } command_rootpass() { data=$(call_api GET rootpass) echo "Your new root password is: $(echo $data | jq -r .newRootPass)" } command_key-time() { call_api GET key-time | jq -r .keyexpireString } # Command handler if [ $1 ]; then command_$1 else print_help fi