Revisions
-
itszero revised this gist
Aug 13, 2010 . 1 changed file with 17 additions and 10 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,21 +1,28 @@ #!/usr/bin/ruby -w require 'socket' server = TCPServer.open(7788) loop do Thread.start(server.accept) do |client| client.write "[Host]:[Port]> " target = "" while s = client.getc.chr client.write s break if s == "\n" || s == "\r" target += s end target = target.split(":") client.write "Connecting to #{target.inspect}...\n" remote = TCPSocket.open(target[0], target[1] || 23) loop do r, w, e = IO.select([client, remote], nil, nil, 0) (r || []).each do |f| if f == remote client.write remote.getc.chr else remote.write client.getc.chr end end end end end -
itszero revised this gist
Aug 13, 2010 . 1 changed file with 14 additions and 13 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -5,16 +5,17 @@ server = TCPServer.open(7788) loop do Thread.start(server.accept) do |client| remote = TCPSocket.open("bbs.csie.ntnu.edu.tw", 23) loop do r, w, e = IO.select([client, remote], nil, nil, 0) next if r.nil? r.each do |f| if f == remote client.write remote.getc.chr else remote.write client.getc.chr end end end end end -
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,20 @@ #!/usr/bin/ruby -w require 'socket' server = TCPServer.open(7788) loop do Thread.start(server.accept) do |client| remote = TCPSocket.open("bbs.csie.ntnu.edu.tw", 23) Thread.start do while s = remote.getc do client.write s.chr end end Thread.start do while s = client.getc do remote.write s.chr end end end end