#!/bin/bash
cat << 'EOF' > /opt/unetlab/addons/iol/bin/IOUkeygen.py
#!/usr/bin/python
import os
import socket
import hashlib
import struct

hostid = os.popen("hostid").read().strip()
hostname = socket.gethostname()
ioukey = int(hostid, 16)
for x in hostname:
    ioukey = ioukey + ord(x)

iouPad1 = b'\x4B\x58\x21\x81\x56\x7B\x0D\xF3\x21\x43\x9B\x7E\xAC\x1D\xE6\x8A'
iouPad2 = b'\x80' + 39*b'\0'
md5input = iouPad1 + iouPad2 + struct.pack('!i', ioukey) + iouPad1
iouLicense = hashlib.md5(md5input).hexdigest()[:16]

print("*********************************************************************")
print("Cisco IOU License Generator")
print("hostid=" + hostid + ", hostname=" + hostname + ", ioukey=" + hex(ioukey)[2:])
print("\nAdd the following text to /opt/unetlab/addons/iol/bin/iourc:")
print("[license]\n" + hostname + " = " + iouLicense + ";")
print("*********************************************************************")
EOF
chmod +x /opt/unetlab/addons/iol/bin/IOUkeygen.py
python2 /opt/unetlab/addons/iol/bin/IOUkeygen.py
/opt/unetlab/wrappers/unl_wrapper -a fixpermissions
