#!/usr/bin/ruby # mblow - post an article via NNTP require 'socket' require 'optparse' params = ARGV.getopts("s:") port = 119 if params["s"] =~ /(.*):(.*)/ params["s"] = $1 port = Integer($2) end SERVER = params["s"] || ENV["NNTPSERVER"] || "news" nntp = TCPSocket.new SERVER, port msg = nntp.gets abort msg unless msg =~ /^200 / nntp.write "POST\r\n" msg = nntp.gets abort msg unless msg =~ /^340 / while line = gets line.chomp! line.sub!(/\A\./, '..') nntp.write(line + "\r\n") end nntp.write(".\r\n") msg = nntp.gets abort msg unless msg =~ /^240 / puts msg