Class: IrcLB::Socket
- Inherits:
-
Object
- Object
- IrcLB::Socket
- Defined in:
- lib/irclb/ssl_server.rb
Instance Method Summary collapse
- #dont_block ⇒ Object
-
#initialize ⇒ Socket
constructor
A new instance of Socket.
Constructor Details
#initialize ⇒ Socket
Returns a new instance of Socket.
11 12 13 14 15 16 17 18 |
# File 'lib/irclb/ssl_server.rb', line 11 def initialize @tcp_srv = TCPServer.new 6697 @ssl_ctx = OpenSSL::SSL::SSLContext.new @ssl_ctx.min_version = OpenSSL::SSL::TLS1_1_VERSION @ssl_ctx.max_version = OpenSSL::SSL::TLS1_2_VERSION @ssl_sock = OpenSSL::SSL::SSLSocket.new(@tcp_srv, @ssl_ctx) dont_block end |
Instance Method Details
#dont_block ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/irclb/ssl_server.rb', line 20 def dont_block loop do Thread.start(@ssl_sock.accept) do |client| puts client case client.gets when /^USER .*/ client.puts ":irc.lb NOTICE * :This server is running IRClb, an IRC load balancer\r\n" client.puts ":irc.lb NOTICE * :IRClb is written by Ken Spencer / iota\r\n" client.puts ":irc.lb NOTICE * :He has a website at https://iotaspencer.me\r\n" client.puts ":irc.lb NOTICE * :\r\n" client.puts ":irc.lb NOTICE * :IRClb Support can be found in #irclb on irc.6697.co.uk\r\n" client.puts ":irc.lb NOTICE * :\r\n" client.puts ":irc.lb NOTICE * :With that out of the way, ...\r\n" client.puts ":irc.lb NOTICE * :Connecting you to #{$config.network.name}...\r\n" end client.close if client.gets =~ /^QUIT .*/ end end end |