.subject_name(subject)
.issuer_name(ca_cert.subject) .public_key(key.public_key())
.serial_number(x509.random_serial_number()) .not_valid_before(datetime.now(timezone.utc))
.not_valid_after(datetime.now(timezone.utc) + timedelta(days=365)) .add_extension(san, critical=False)
.sign(ca_key, hashes.SHA256()) )
with open(cert_file, "wb") as f:
f.write(cert.public_bytes(serialization.Encoding.PEM)) with open(key_file, "wb") as f:
f.write(key.private_bytes( serialization.Encoding.PEM,
serialization.PrivateFormat.TraditionalOpenSSL, serialization.NoEncryption()
)) log_message(f"Generated certificate for {domain}.")
return cert_file, key_file
def forward_data(self, client_socket, remote_socket): def transfer(source, destination):
try: while True:
data = source.recv(4096)
if not data: break
destination.sendall(data) except Exception as e:
log_message(f"Data transfer error: {e}") finally:
source.close() destination.close()
threading.Thread(target=transfer, args=(client_socket, remote_socket)).start()
threading.Thread(target=transfer, args=(remote_socket, client_socket)).start()
# 3. Start Proxy Serverif name == "__main__":
generate_ca() os.makedirs(CERT_DIR, exist_ok=True)
log_message("Starting HTTPS proxy server on port 8888...") server = HTTPServer(("0.0.0.0", 8888), ProxyHandler)
try: server.serve_forever()
except KeyboardInterrupt: log_message("Shutting down the proxy server...")
server.server_close()
Mensaje .subject_name(subject)
17 de diciembre de 2024Cerca en el feed
Ceste mensaje
C