Files
attack-defense-platform/starter.py
T
2025-10-25 14:18:49 +07:00

47 lines
1.6 KiB
Python

import argparse
import os
import uuid
def generate_env(username, password):
env = []
compose_location = os.path.join(os.getcwd(), 'services/docker-compose.yml')
env.append(f'ADMIN_USERNAME={username}')
env.append(f'ADMIN_PASSWORD={password}')
env.append(f'COMPOSE_LOCATION={compose_location}')
credentials = [f'PASSWORD_{(i * 1000) + 10000}={uuid.uuid4().hex}' for i in range(20)]
env.extend(credentials)
return '\n'.join(env)
def main():
parser = argparse.ArgumentParser()
parser.add_argument('-u', '--username', type=str, default='kekuatanayam')
parser.add_argument('-p', '--password', type=str, default='adalahkseimbangan')
parser.add_argument('-c', '--challenges', type=str, default='', help='challenge names')
args = parser.parse_args()
cwd = os.getcwd()
env = generate_env(args.username, args.password)
receiver_env = os.path.join(cwd, 'receiver/.env')
services_env = os.path.join(cwd, 'services/.env')
with open(receiver_env, 'w') as f:
f.write(env)
with open(services_env, 'w') as f:
f.write(env)
os.chdir(os.path.join(cwd, 'services'))
os.system(f'docker compose -f docker-compose.yml up --build -d {args.challenges}')
# os.chdir(os.path.join(cwd, 'receiver'))
# os.system('apt-get install -y gcc python3-dev libgmp3-dev libssl-dev libffi-dev build-essential python3-venv')
# os.system('python3 -m venv .')
# os.system('sudo ./bin/activate')
# os.system('sudo ./bin/python3 -m pip install -r requirements.txt')
# os.system('sudo ./bin/python3 -m uvicorn main:app --reload --host 0.0.0.0 --port 80')
if __name__ == '__main__':
main()