]>
Commit | Line | Data |
---|---|---|
072188dc DM |
1 | #!/bin/bash |
2 | ||
3 | # needs pve-manager >= 3.1-44 | |
4 | ||
f72df730 DM |
5 | usage() { |
6 | echo "Usage: $0 [-u <string>] [-p <string>] vmid [node [proxy]]" | |
7 | echo | |
8 | echo "-u username. Default root@pam" | |
9 | echo "-p password. Default ''" | |
10 | echo | |
11 | echo "vmid: id for VM" | |
12 | echo "node: Proxmox cluster node name" | |
13 | echo "proxy: DNS or IP (use <node> as default)" | |
14 | exit 1 | |
15 | } | |
16 | ||
17 | PASSWORD="" | |
18 | USERNAME="" | |
19 | ||
20 | while getopts ":u:p:" o; do | |
21 | case "${o}" in | |
22 | u) | |
23 | USERNAME=${OPTARG} | |
24 | ;; | |
25 | p) | |
26 | PASSWORD=${OPTARG} | |
27 | ;; | |
28 | *) | |
29 | usage | |
30 | ;; | |
31 | esac | |
32 | done | |
33 | ||
34 | shift $((OPTIND-1)) | |
35 | ||
36 | if [ -z $PASSWORD ]; then | |
37 | PASSWORD="" | |
38 | fi | |
39 | if [ -z $USERNAME ]; then | |
40 | USERNAME=root@pam | |
41 | fi | |
42 | ||
43 | DEFAULTHOST=$(hostname -f) | |
44 | ||
072188dc | 45 | # select VM |
f72df730 DM |
46 | [ -z $1 ] && usage |
47 | VMID=$1 | |
48 | ||
49 | #[ -z $2 ] && usage | |
50 | NODE=${2:-$DEFAULTHOST} | |
51 | ||
52 | if [ -z $3 ]; then | |
53 | PROXY=$NODE | |
54 | else | |
55 | PROXY=$3 | |
56 | fi | |
072188dc | 57 | |
f72df730 | 58 | NODE=${NODE%%\.*} |
072188dc DM |
59 | |
60 | DATA=`curl -k -d "username=$USERNAME&password=$PASSWORD" https://$PROXY:8006/api2/json/access/ticket` | |
61 | ||
d7f52cf1 DM |
62 | TICKET=${DATA//\"/} |
63 | TICKET=${TICKET##*ticket:} | |
64 | TICKET=${TICKET%%,*} | |
072188dc | 65 | |
d7f52cf1 DM |
66 | CSRF=${DATA//\"/} |
67 | CSRF=${CSRF##*CSRFPreventionToken:} | |
68 | CSRF=${CSRF%%,*} | |
072188dc DM |
69 | |
70 | curl -k -b "PVEAuthCookie=$TICKET" -H "CSRFPreventionToken: $CSRF" https://$PROXY:8006/api2/spiceconfig/nodes/$NODE/qemu/$VMID/spiceproxy -d "proxy=$PROXY" > spiceproxy | |
71 | ||
72 | remote-viewer spiceproxy |