25 lines
695 B
Ruby
Executable file
25 lines
695 B
Ruby
Executable file
require './ssl.rb'
|
|
require './http.rb'
|
|
require './fake_tunnel_connector.rb'
|
|
|
|
port = ARGV[0]
|
|
if ARGV.count == 0
|
|
puts "Please provide a port for the server to listen on."
|
|
exit
|
|
end
|
|
|
|
cert_path = './certificate.pem'
|
|
key_path = './private_key.pem'
|
|
|
|
# lib for easier ssl usage
|
|
ssl_helper = SSL.new
|
|
# load our self-signed certificate
|
|
cert = ssl_helper.load_cert(cert_path)
|
|
key = ssl_helper.load_key(key_path)
|
|
|
|
# setup a new ssl context to be used with the tcp server
|
|
context = ssl_helper.new_ssl_context(cert, key)
|
|
|
|
# setup our server on the port that we pass into the script and listen for https calls.
|
|
server = FakeTunnelConnector.new(port, ssl_context=context)
|
|
loop { server.listen_and_respond }
|