test the fuckjing webhook dammit
This commit is contained in:
1 parent
cca9d94b36
commit
7cc6503b94
3 files changed
+36
-20
No files matched your search
+33
-17
@@ -7,54 +7,70 @@ import subprocess
|
||||
import sys
|
||||
import os
|
||||
|
||||
|
||||
def generate_certificate():
|
||||
"""Generate self-signed certificate using OpenSSL"""
|
||||
|
||||
|
||||
cert_file = "cert.pem"
|
||||
key_file = "key.pem"
|
||||
|
||||
|
||||
# Check if OpenSSL is available
|
||||
try:
|
||||
subprocess.run(["openssl", "version"],
|
||||
capture_output=True, check=True)
|
||||
subprocess.run(["openssl", "version"], capture_output=True, check=True)
|
||||
except (subprocess.CalledProcessError, FileNotFoundError):
|
||||
print("ERROR: OpenSSL not found!")
|
||||
print("\nFor Windows, you can:")
|
||||
print("1. Install OpenSSL from: https://slproweb.com/products/Win32OpenSSL.html")
|
||||
print(
|
||||
"1. Install OpenSSL from: https://slproweb.com/products/Win32OpenSSL.html"
|
||||
)
|
||||
print("2. Or use Git Bash which includes OpenSSL")
|
||||
print("3. Or use WSL (Windows Subsystem for Linux)")
|
||||
return False
|
||||
|
||||
|
||||
print("Generating self-signed certificate...")
|
||||
print("This will create cert.pem and key.pem files")
|
||||
print()
|
||||
|
||||
|
||||
# Generate certificate valid for 365 days
|
||||
cmd = [
|
||||
"openssl", "req", "-x509",
|
||||
"-newkey", "rsa:4096",
|
||||
"-keyout", key_file,
|
||||
"-out", cert_file,
|
||||
"-days", "365",
|
||||
"openssl",
|
||||
"req",
|
||||
"-x509",
|
||||
"-newkey",
|
||||
"rsa:4096",
|
||||
"-keyout",
|
||||
key_file,
|
||||
"-out",
|
||||
cert_file,
|
||||
"-days",
|
||||
"365",
|
||||
"-nodes", # No passphrase
|
||||
"-subj", "/C=US/ST=State/L=City/O=Organization/CN=localhost"
|
||||
"-subj",
|
||||
"/C=US/ST=State/L=City/O=Organization/CN=localhost",
|
||||
]
|
||||
|
||||
|
||||
try:
|
||||
subprocess.run(cmd, check=True)
|
||||
print(f"\n✓ Certificate created: {os.path.abspath(cert_file)}")
|
||||
print(f"✓ Private key created: {os.path.abspath(key_file)}")
|
||||
print("\nYou can now run the server with HTTPS:")
|
||||
print(f" python src/test_server.py --ssl-cert {cert_file} --ssl-key {key_file} --hook-port 8443")
|
||||
print(
|
||||
f" python src/test_server.py --ssl-cert {cert_file} --ssl-key {key_file} --hook-port 8443"
|
||||
)
|
||||
print("\nOr webhook-only HTTPS:")
|
||||
print(f" python src/test_server.py --ssl-cert {cert_file} --ssl-key {key_file} --hook-port 8443 --hook-ssl-only")
|
||||
print("\nNote: Self-signed certificates will show security warnings in browsers.")
|
||||
print(
|
||||
f" python src/test_server.py --ssl-cert {cert_file} --ssl-key {key_file} --hook-port 8443 --hook-ssl-only"
|
||||
)
|
||||
print(
|
||||
"\nNote: Self-signed certificates will show security warnings in browsers."
|
||||
)
|
||||
print("For production, use certificates from a trusted CA like Let's Encrypt.")
|
||||
return True
|
||||
except subprocess.CalledProcessError as e:
|
||||
print(f"ERROR: Failed to generate certificate: {e}")
|
||||
return False
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
if not generate_certificate():
|
||||
sys.exit(1)
|
||||
Reference in new issue
Block a user