~ubuntu-branches/ubuntu/wily/jsch/wily

« back to all changes in this revision

Viewing changes to examples/ViaSOCKS5.java

  • Committer: Bazaar Package Importer
  • Author(s): Jerry Haltom
  • Date: 2005-01-13 16:07:20 UTC
  • Revision ID: james.westby@ubuntu.com-20050113160720-7ohwkg0rbifgq3lu
Tags: upstream-0.1.19
ImportĀ upstreamĀ versionĀ 0.1.19

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* -*-mode:java; c-basic-offset:2; -*- */
 
2
import com.jcraft.jsch.*;
 
3
import java.awt.*;
 
4
import java.awt.event.*;
 
5
import javax.swing.*;
 
6
 
 
7
public class ViaSOCKS5{
 
8
  public static void main(String[] arg){
 
9
 
 
10
    String proxy_host;
 
11
    int proxy_port;
 
12
 
 
13
    try{
 
14
      JSch jsch=new JSch();
 
15
 
 
16
      String host=JOptionPane.showInputDialog("Enter username@hostname",
 
17
                                              System.getProperty("user.name")+
 
18
                                              "@localhost"); 
 
19
      String user=host.substring(0, host.indexOf('@'));
 
20
      host=host.substring(host.indexOf('@')+1);
 
21
 
 
22
      Session session=jsch.getSession(user, host, 22);
 
23
 
 
24
      String proxy=JOptionPane.showInputDialog("Enter proxy server",
 
25
                                                 "hostname:port");
 
26
      proxy_host=proxy.substring(0, proxy.indexOf(':'));
 
27
      proxy_port=Integer.parseInt(proxy.substring(proxy.indexOf(':')+1));
 
28
 
 
29
      session.setProxy(new ProxySOCKS5(proxy_host, proxy_port));
 
30
 
 
31
      // username and password will be given via UserInfo interface.
 
32
      UserInfo ui=new MyUserInfo();
 
33
      session.setUserInfo(ui);
 
34
 
 
35
      //java.util.Hashtable config=new java.util.Hashtable();
 
36
      //config.put("compression.s2c", "zlib,non");
 
37
      //config.put("compression.c2s", "zlib,none");
 
38
      //session.setConfig(config);
 
39
 
 
40
      session.connect();
 
41
 
 
42
      Channel channel=session.openChannel("shell");
 
43
 
 
44
      channel.setInputStream(System.in);
 
45
      channel.setOutputStream(System.out);
 
46
 
 
47
      channel.connect();
 
48
    }
 
49
    catch(Exception e){
 
50
      System.out.println(e);
 
51
    }
 
52
  }
 
53
 
 
54
  public static class MyUserInfo implements UserInfo{
 
55
    public String getPassword(){ return passwd; }
 
56
    public boolean promptYesNo(String str){
 
57
      Object[] options={ "yes", "no" };
 
58
      int foo=JOptionPane.showOptionDialog(null, 
 
59
             str,
 
60
             "Warning", 
 
61
             JOptionPane.DEFAULT_OPTION, 
 
62
             JOptionPane.WARNING_MESSAGE,
 
63
             null, options, options[0]);
 
64
       return foo==0;
 
65
    }
 
66
  
 
67
    String passwd;
 
68
    JTextField passwordField=(JTextField)new JPasswordField(20);
 
69
 
 
70
    public String getPassphrase(){ return null; }
 
71
    public boolean promptPassphrase(String message){ return true; }
 
72
    public boolean promptPassword(String message){
 
73
      Object[] ob={passwordField}; 
 
74
      int result=
 
75
          JOptionPane.showConfirmDialog(null, ob, message,
 
76
                                        JOptionPane.OK_CANCEL_OPTION);
 
77
      if(result==JOptionPane.OK_OPTION){
 
78
        passwd=passwordField.getText();
 
79
        return true;
 
80
      }
 
81
      else{ return false; }
 
82
    }
 
83
    public void showMessage(String message){
 
84
      JOptionPane.showMessageDialog(null, message);
 
85
    }
 
86
  }
 
87
 
 
88
}
 
89
 
 
90