From f8408989948369c074f2828114e5cc3d8f20bb5c Mon Sep 17 00:00:00 2001 From: Zegorax Date: Sat, 21 Mar 2020 23:06:19 +0100 Subject: [PATCH] Added install.sh --- install.sh | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 install.sh diff --git a/install.sh b/install.sh new file mode 100644 index 0000000..efab04f --- /dev/null +++ b/install.sh @@ -0,0 +1,90 @@ +#!/bin/bash + +apt-get update && apt-get install -y python3.6-dev +wget https://bootstrap.pypa.io/get-pip.py +python3.6 get-pip.py +pip install pycrypto + +cat < index.py +from Crypto.Hash import SHA, SHA256 +from Crypto.Signature import PKCS1_v1_5 +from Crypto.PublicKey import RSA +from shutil import copyfile +import json +import codecs + +hexlify = codecs.getencoder('hex') + +licenseFile = { + "branding": False, + "connections": 9999, + "customization": False, + "end_date": "2099-01-01T23:59:59.000Z", + "light": "False", + "mode": "", + "portal_count": "0", + "process": 2, + "ssbranding": False, + "test": "False", + "trial": "False", + "user_quota": "0", + "users_count": 9999, + "users_expire": 99999, + "whiteLabel": False, + "customer_id": "uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu", + "start_date": "2020-01-01T00:00:00.000Z", + "users": [], + "version": 2 +} + +jsonLicenseFile = codecs.encode(json.dumps(licenseFile, separators=(',', ':')), encoding='utf-8') + +privKey = RSA.generate(1024) +publKey = privKey.publickey().exportKey('PEM') + +digest = SHA.new(jsonLicenseFile) +signer = PKCS1_v1_5.new(privKey) +signature = signer.sign(digest) + +finalSignature = signature.hex() + +licenseFile['signature'] = finalSignature + +f = open("OO_License", "w+") +f.write(json.dumps(licenseFile)) +f.close + +f = open("OO_PubKey", "w+") +f.write(publKey.decode('utf-8')) +f.close() + +print("The license file has been saved to OO_License. Here's the content :") +print(json.dumps(licenseFile)) +print("It will be placed automatically in the Data directory of OnlyOffice") + +copyfile("OO_License", "/var/www/onlyoffice/Data/license.lic") + +print("Patching docservice and convert...") + +basePath = "/var/www/onlyoffice/documentserver/server/" +files = ["DocService/docservice", "FileConverter/converter"] + +for file in files: + f = open(basePath+file, 'rb') + data = f.read() + f.close() + + replacedData = data.replace(b"-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDRhGF7X4A0ZVlEg594WmODVVUI\niiPQs04aLmvfg8SborHss5gQXu0aIdUT6nb5rTh5hD2yfpF2WIW6M8z0WxRhwicg\nXwi80H1aLPf6lEPPLvN29EhQNjBpkFkAJUbS8uuhJEeKw0cE49g80eBBF4BCqSL6\nPFQbP9/rByxdxEoAIQIDAQAB\n-----END PUBLIC KEY-----", bytes(publKey)) + + f = open(basePath+file, 'wb') + f.write(replacedData) + f.close() + +EOF + +python3.6 index.py + +echo Patching docservice and convert... + +echo Done! Running Document Server... +/app/ds/run-document-server.sh