Class: SSRFProxy::Server
- Inherits:
-
Object
- Object
- SSRFProxy::Server
- Includes:
- Celluloid::IO
- Defined in:
- lib/ssrf_proxy/server.rb
Overview
Note:
SSRFProxy::Server
Defined Under Namespace
Modules: Error
Instance Attribute Summary collapse
Instance Method Summary collapse
-
#initialize(interface = '127.0.0.1', port = 8081, ssrf) ⇒ Server
constructor
-
interface - String - Listen interface (Default: 127.0.0.1) - port - Integer - Listen port (Default: 8081) - ssrf - SSRFProxy::HTTP - SSRF.
-
- #print_good(msg = '') ⇒ Object
- #print_status(msg = '') ⇒ Object
- #serve ⇒ Object
Constructor Details
#initialize(interface = '127.0.0.1', port = 8081, ssrf) ⇒ Server
Note:
Start the local server and listen for connections
-
interface - String - Listen interface (Default: 127.0.0.1)
-
port - Integer - Listen port (Default: 8081)
-
ssrf - SSRFProxy::HTTP - SSRF
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/ssrf_proxy/server.rb', line 61 def initialize(interface='127.0.0.1', port=8081, ssrf) @logger = ::Logger.new(STDOUT).tap do |log| log.progname = 'ssrf-proxy-server' log.level = ::Logger::WARN log.datetime_format = '%Y-%m-%d %H:%M:%S ' end # set ssrf unless ssrf.class == SSRFProxy::HTTP raise SSRFProxy::Server::Error::InvalidSsrf.new, "Invalid SSRF provided" end @ssrf = ssrf # start server logger.info "Starting HTTP proxy on #{interface}:#{port}" print_status "Listening on #{interface}:#{port}" @server = TCPServer.new(interface, port.to_i) end |
Instance Attribute Details
#logger ⇒ Object
Note:
logger
35 36 37 |
# File 'lib/ssrf_proxy/server.rb', line 35 def logger @logger end |
Instance Method Details
#print_good(msg = '') ⇒ Object
Note:
output progress messages
21 22 23 |
# File 'lib/ssrf_proxy/server.rb', line 21 def print_good(msg='') puts '[+] '.green + msg end |
#print_status(msg = '') ⇒ Object
Note:
output status messages
17 18 19 |
# File 'lib/ssrf_proxy/server.rb', line 17 def print_status(msg='') puts '[*] '.blue + msg end |
#serve ⇒ Object
Note:
Run proxy server
82 83 84 |
# File 'lib/ssrf_proxy/server.rb', line 82 def serve loop { async.handle_connection(@server.accept) } end |