diff --git a/docker-compose.yml b/docker-compose.yml index 96d883e..e0c5ea9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -21,6 +21,14 @@ services: - /dev/mem:/dev/mem environment: - TZ=Asia/Shanghai + - MYSQL_DATABASE=aiplatform + - MYSQL_USER=root + - MYSQL_PASSWORD=SghjdA887# + - MYSQL_HOST=lemon_mysql + - MYSQL_PORT=3306 + - REDIS_HOST=lemon_redis + - REDIS_PORT=6379 + - REDIS_PASSWORD=hgkiYY87 networks: - lemon_network depends_on: @@ -32,8 +40,9 @@ services: image: nginx:latest container_name: lemon_nginx ports: - - "80:80" - - "443:443" +# - "80:80" +# - "443:443" + - "8989:8989" volumes: - ./nginx.conf:/etc/nginx/conf.d/lemon.conf - ./dist:/app/lemon/dist diff --git a/entrypoint.sh b/entrypoint.sh index fdc2081..1a3d231 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -22,14 +22,23 @@ if [ ! -f "/app/lemon/website/settings_local.py" ];then echo "@@init settings_local file" cat > /app/lemon/website/settings_local.py << EOF +import os + mysql_app = { - "host": "lemon_mysql:3306", - "database": "aiplatform", - "user": "root", - "password": "SghjdA887#", + "host": "{}:{}".format(os.environ.get("MYSQL_HOST"), os.environ.get("MYSQL_PORT")), + "database": os.environ.get("MYSQL_DATABASE"), + "user": os.environ.get("MYSQL_USER"), + "password": os.environ.get("MYSQL_PASSWORD"), "time_zone": "+8:00" } -redis_app = ("lemon_redis", 6379, 0, "hgkiYY87") + +redis_app = ( + os.environ.get("REDIS_HOST"), + os.environ.get("REDIS_PORT"), + 0, + os.environ.get("REDIS_PASSWORD"), +) + file_upload_dir = "/app/fileupload" rsa_private_file = "/app/lemon/private_key.pem" rsa_license_file = "/app/lemon/license" diff --git a/nginx.conf b/nginx.conf index c0692e8..efcfb4f 100644 --- a/nginx.conf +++ b/nginx.conf @@ -1,5 +1,5 @@ server { - listen 80; + listen 8989; server_name 192.168.10.94; root /app/lemon/dist; diff --git a/website/util/rsa_oaep.py b/website/util/rsa_oaep.py index e79b649..b67cc3d 100644 --- a/website/util/rsa_oaep.py +++ b/website/util/rsa_oaep.py @@ -71,27 +71,37 @@ def test(): print(decrypted_message) +def save_keys(): + private_key, public_key = generate_keys() + + with open("private_key.pem", "wb") as f: + f.write(private_key) + + with open("public_key.pem", "wb") as f: + f.write(public_key) + + # 主程序 if __name__ == "__main__": parser = argparse.ArgumentParser(description='manual to sign enterprise license') - parser.add_argument("--o", type=str, help="operation type", required=True) # name, t/test, s/sign, g/generate key, d/decrypt - parser.add_argument("--c", type=str, help="enterprise's sys code") # code - parser.add_argument("--e", type=str, help="expire date") # expire + parser.add_argument("-o", type=str, + help="operation type, " + "'t' is for function test, " + "'s' is to sign and save license, " + "'g' is to generate keys and save them, " + "'d' is to decrypt license", + required=True) # name, t/test, s/sign, g/generate key, d/decrypt + parser.add_argument("-c", type=str, help="enterprise's sys code, its something code like MD5") # code + parser.add_argument("-e", type=str, help="expire date, eg: 2035-01-01") # expire args = parser.parse_args() operation = args.o - if operation == "t": + if operation == "t": # test test() - elif operation == "g": - private_key, public_key = generate_keys() - - with open("private_key.pem", "wb") as f: - f.write(private_key) - - with open("public_key.pem", "wb") as f: - f.write(public_key) + elif operation == "g": # generate keys and save + save_keys() - elif operation == "s": + elif operation == "s": # sign and save license code = args.c expire = args.e if not code or not expire: @@ -104,11 +114,11 @@ if __name__ == "__main__": with open("license", "wb") as f: f.write(license) - elif operation == "d": + elif operation == "d": # decrypt license private_key = open("private_key.pem", "r").read() with open("license", "rb") as f: license = f.read() # 解密消息 body = decrypt_message_pri(private_key.strip('\n').encode('utf-8'), license) json_body = json.loads(body) - print(json_body) \ No newline at end of file + print(json_body)