misc_rbtools/fake_tunnel_connector/server.rb

26 lines
695 B
Ruby
Raw Permalink Normal View History

2020-07-22 01:00:20 -05:00
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
2020-07-22 01:00:20 -05:00
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 }