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