Sha256: da0bc8ea6e2bdf94f700ec9d6cfc96df6b13ce4abd9b5e0fa3d913cbd31ae197

Contents?: true

Size: 1.38 KB

Versions: 42

Compression:

Stored size: 1.38 KB

Contents



require 'pty'
require 'expect'

#m, s = PTY.open
#r, w = IO.pipe
#
#pid = spawn("/usr/bin/openvpn --config /home/chris/.openvpn_cli/sg2-ovpn-tcp.ovpn", in: r, out: s)
#r.close
#s.close
#
#
#ret = begin
#        p m.gets
#      rescue Errno::EIO
#        nil
#      end
#


##PTY.spawn("/usr/bin/sudo /usr/bin/openvpn --config /home/chris/.openvpn_cli/sg2-ovpn-tcp.ovpn") do |read, write, pid|
#PTY.spawn("/usr/bin/openvpn --config /home/chris/.openvpn_cli/sg2-ovpn-tcp.ovpn") do |read, write, pid|
#  #read.expect(/\[sudo\] password for chris:/) { |m|
#  #  p m
#  #  puts "expect"
#  #  write.printf("chr1st0pher1120\n")
#  #}
#  #read.expect(/Username:/) { |msg| 
#  #  puts "-- #{msg}"
#  #  write.printf("purevpn0s2643230\r\n") 
#  #}
#
#  #read.expect(/no echo\)/) { |msg|
#  #  puts "++ #{msg}"
#  #  write.printf("\t@ntr@p0l.c0m\r\n")
#  #}
#
#  loop do
#    read.expect(/\n/) { |l| 
#      p l
#      @ln = l 
#    }
#    break if @ln.nil?
#  end
#end

read, write, pid = PTY.spawn("/usr/bin/openvpn --config /home/chris/.openvpn_cli/sg2-ovpn-tcp.ovpn")

puts "PID : #{pid}"

trap "SIGINT" do
  read.close
  write.close
  begin
    puts "Killing process"
    Process.kill("HUP",pid)
    puts "Kill done. Start waiting"
    Process.wait(pid)
    STDERR.puts "Cleanup Done!"
  rescue PTY::ChildExited
  end
end

loop do
  read.expect(/\n/) do |l|
    puts l
    @ln = l
  end
  break if @ln.nil?
end


Version data entries

42 entries across 42 versions & 1 rubygems

Version Path
toolrack-0.24.3 process_test/pty_test.rb
toolrack-0.24.2 process_test/pty_test.rb
toolrack-0.24.1 process_test/pty_test.rb
toolrack-0.24.0 process_test/pty_test.rb
toolrack-0.23.3 process_test/pty_test.rb
toolrack-0.23.2 process_test/pty_test.rb
toolrack-0.22.1 process_test/pty_test.rb
toolrack-0.22.0 process_test/pty_test.rb
toolrack-0.21.0 process_test/pty_test.rb
toolrack-0.20.2 process_test/pty_test.rb
toolrack-0.20.1 process_test/pty_test.rb
toolrack-0.20.0 process_test/pty_test.rb
toolrack-0.19.1 process_test/pty_test.rb
toolrack-0.18.6 process_test/pty_test.rb
toolrack-0.18.5 process_test/pty_test.rb
toolrack-0.18.4 process_test/pty_test.rb
toolrack-0.18.3 process_test/pty_test.rb
toolrack-0.18.2 process_test/pty_test.rb
toolrack-0.18.1 process_test/pty_test.rb
toolrack-0.18.0 process_test/pty_test.rb