require "authd" require "ipc" require "../src/client.cr" require "http/server" port = ARGV[0].to_i rescue 8080 addr = ARGV[1] rescue "127.0.0.1" #login = ENV["LOGIN"] #pass = ENV["PASS"] dnsmanagerd = DNSManager::Client.new #dnsmanagerd.login login, pass server = HTTP::Server.new do |context| pp! context.request.remote_address ip = case remote = context.request.remote_address when Socket::IPAddress remote.address else "" end case context.request.path when /^\/token-update\/(?[a-z0-9-]+)/ token = $~["token"] if token.nil? context.response.status_code = 404 context.response.print "invalid token" else context.response.content_type = "text/html" context.response.print "coucou, token: #{token} from #{ip}" begin dnsmanagerd.use_token token, ip context.response.print "; Success!" # 🔻 rescue e puts "error while updating token: #{e}" context.response.print "; The command failed!" # ⚠ end end else context.response.status_code = 404 context.response.print "Not found" end end address = server.bind_tcp addr, port puts "Receiving tokens on http://#{address}/token-update/" server.listen