Initial commit: extracted from impostor-bbs gems/bbs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-28 22:18:57 +02:00
commit 4690ade510
11 changed files with 583 additions and 0 deletions

22
lib/bbs/server.rb Normal file
View File

@@ -0,0 +1,22 @@
# frozen_string_literal: true
require 'socket'
module BBS
class Server
def initialize(port:)
@port = port
end
def run
server = TCPServer.new('0.0.0.0', @port)
puts "BBS listening on port #{@port} — connect with: telnet localhost #{@port}"
loop do
client = server.accept
Thread.new(client) { |c| Session.new(c).run rescue nil }
end
rescue Interrupt
puts "\nServer stopped."
end
end
end