class Proxy
Public Class Methods
new(hostname)
click to toggle source
# File lib/proxy.rb, line 4 def initialize(hostname) @hostname = 'http://www.tutorialspoint.com/' end
Public Instance Methods
fix_input(input)
click to toggle source
# File lib/proxy.rb, line 39 def fix_input(input) input.gsub(/localhost:12345/, "#{@hostname}:80") end
injected_output(request)
click to toggle source
# File lib/proxy.rb, line 28 def injected_output(request) socket = TCPSocket.open(@hostname, 80) puts "Sending request" request_to_send = "#{request}\r\n\r\n" socket.print(request_to_send) puts "Getting Response" response = socket.read socket.close response end
start()
click to toggle source
# File lib/proxy.rb, line 8 def start server = TCPServer.open(12345) loop do Thread.start(server.accept) do |client| socket = TCPSocket.open(@hostname, 80) while line = client.gets socket.print line client.send socket.read end # input = fix_input(client.recv(1024)) # puts "Input: #{input}" # output = injected_output(input) # puts "Sending: #{output}" # client.puts output client.close end end end