A HTTP Proxy rotator written in Crystal inspired by Ruby's WEBrick::HTTPProxyServer
Add this to your application's shard.yml
:
dependencies:
proxy_rotator:
github: confact/proxy_rotator.cr
require "http/proxy"
server = HTTP::Proxy::Server.new(8080, [
HTTP::LogHandler.new,
])
address = server.bind_tcp 8080
puts "Listening on http://#{address}"
server.listen
have a file of proxies named proxylist.txt
in same folder as the sample file, like in the samples folder if you want to run that one. you can also change the path to the file by setting the env PROXYLIST_PATH
to the path to the file.
The structure is:
ip:port:username:password
one proxy per line
- Basic HTTP Proxy: GET, POST, PUT, DELETE support
- Basic HTTP Proxy: OPTIONS support
- HTTPS Proxy: CONNECT support
- Make context.request & context.response writable
- Basic (Proxy) Authorization support
- MITM HTTPS Proxy
- Fork it ( https://github.com/bbtfr/proxy/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request