2

私のプログラムはfreenode.netのIRCルームに接続し、ポート6667を使用します。明らかに、私の大学ではポートがブロックされているため、プロジェクトはそこで機能しません(提案する前にそれを知っていればよかったのですが、来週なので、今は新しいプロジェクトを作ることができません)。その接続をトンネリングすることは可能であると読みましたが、その方法がわかりません。

SSHライブラリを使用する必要があると読みましたが、ソケットを使用して接続をトンネリングするのに役立つライブラリが見つかりません。

MindTermでsshというパッケージを見つけましたが、非常に古いパッケージで、基本的に次の行を使用してプロセスを実行します(私は思います)。

SSHSocketFactory fact = new SSHSocketFactory("ssh.freessh.biz", 22, new SSHPasswordAuthenticator("freessh", "7QO5dkmg<"));

ventanachat.socket = fact.createSocket(servidorirc, puerto);

それは私に与えます:java.io.IOException:MindTermはまだSSHv2をサポートしていません、サーバーでSSHv1互換性を有効にしてください

そこで、ssh2をサポートする新しいバージョンを試しましたが、ここではクラスが異なり、ドキュメントがないため、同じプロセスを取得できません。

ソケットは基本的にSocketsocket= new Socket( "irc.freenode.net"、6667);です。

どのライブラリをどのように使用できるのでしょうか。

4

3 に答える 3

2

IRCポートのブロックを回避するためにトラブルに巻き込まれる可能性があります。

私は別の考えを持っています。開発を行っているマシンにIRCサーバーソフトウェアをダウンロードしてインストールします。そうすれば、ポートをブロックすることなく、クライアントから接続できるようになります。(それでもポートの問題が発生する場合は、クライアントとサーバーが別のものを使用するように構成するだけです。)


または、このSOの質問に対する回答を見てください:Javaの単純なSSHトンネル

于 2012-06-24T10:09:13.850 に答える
1

市場にはJava用のSSHライブラリがいくつかあり、それらのほとんどはSSHトンネリングをサポートしています。サンプル(トンネリングを含む)、ドキュメント、およびサポートを備えたSecureBlackbox製品(Javaエディション)を提供しています。

于 2012-06-24T11:07:30.017 に答える
0

GanymedとJschはどちらもSSHトンネリングをサポートしており、どちらも無料です。

于 2012-06-24T23:26:57.030 に答える