Skip to content

Instantly share code, notes, and snippets.

@dimacus
Created June 17, 2013 20:08
Show Gist options
  • Save dimacus/5799886 to your computer and use it in GitHub Desktop.
Save dimacus/5799886 to your computer and use it in GitHub Desktop.
require 'rubygems'
require 'em-proxy'
require 'http_parser.rb'
require 'uuid'
require 'uri'
Proxy.start(:host => "127.0.0.1", :port => 9001) do |conn|
@p = Http::Parser.new
@p.on_headers_complete = proc do |h|
session = UUID.generate
@request_host, request_port = h['Host'].split(':')
File.open("blocked_external_urls.log", 'a') {|f| f.write("#{@request_host}\n")}
@request_host = "127.0.0.1"
conn.server session, :host => @request_host, :port => (request_port || 80)
conn.relay_to_servers @buffer
@buffer = ''
end
@buffer = ''
conn.on_connect do |data,b|
end
conn.on_data do |data|
@buffer << data
@p << data
data
end
conn.on_response do |backend, resp|
resp
end
conn.on_finish do |backend, name|
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment