Poderosa 4.1.0 でプロキシサーバ経由で任意サーバに自動接続(telnet)する

Poderosa のターミナルを5つ以上開いて開発することが多いので対応。


1. Poderosa 4.1.0 をインストール

http://www.poderosa.org/download/poderosa410_ja.exe


2. マクロをインストール

http://www.poderosa.org/download/plugins/Macro402.tar.gz
をダウンロード & 解凍して、
Macro フォルダをPoderosa のインストールディレクトリRoot に配置する

例) Macroフォルダは新設

C:\Program Files\Poderosa\Macro


3. マクロを用意する

telnet_use_proxy.js

import Poderosa;
import Poderosa.ConnectionParam;
import Poderosa.Terminal;
import Poderosa.Macro;
import Poderosa.View;
import System.Drawing;

var env = new Environment();

// server info
var proxy_server = {
	 Host: "プロキシサーバー名",
     Account: 'アカウント',
     Password: 'パスワード'
}
var login_server = {
     Host: "ログインしたいサーバー名",
     Account: 'アカウント',
     Password: 'パスワード'
}

// login proxy server
var c = telnetViaProxy(proxy_server, login_server.Host, EncodingType.EUC_JP);
waitAndTransmit(c, 'login:', login_server.Account);
waitAndTransmit(c, 'Password:', login_server.Password);
    
function telnetViaProxy( proxy_server, login_host, enc) {
	var param = new TelnetTerminalParam(proxy_server.Host);
	
	var prof = new RenderProfile();
	prof.FontSize = 10;
	prof.FontName = "Courier New";
	prof.SetBackColor(Color.Black);
	prof.SetForeColor(Color.White);
	param.RenderProfile = prof;
    param.Encoding = enc;

	//Telnet negotiation
	var c = env.Connections.Open(param);

    waitAndTransmit(c, 'login:', proxy_server.Account);
    waitAndTransmit(c, 'Password:', proxy_server.Password);
    waitAndTransmit(c, proxy_server.Account, 'telnet ' + login_host);

    return c;
}

// wait and transmit
function waitAndTransmit(c, w, t) {
    var r = c.ReceiveData();
    while(r.indexOf(w)==-1)  r = c.ReceiveData();
    c.TransmitLn(t);
}


4. 用意したマクロを Macroフォルダ以下に配置する

例)

C:\Program Files\Poderosa\Macro\telnet_use_proxy.js


5. Poderosa に登録する

Poderosa を起動して以下をクリック。
ツール > マクロ > 環境設定


「マクロ」がポップアップされるので、「新規...」をクリック、
「マクロのプロパティ」がポップアップされるので、以下を入力してOKをクリックする。

タイトル:任意文字列を入力(最終的にログインするホスト名とか)
ファイル:C:\Program Files\Poderosa\Macro\telnet_use_proxy.js
追加のアセンブリ:(なにも入力しない)


6. マクロを実行
5. でマクロに追加されているので
Poderosa を起動して以下を選択すれば実行される
ツール > マクロ > マクロ名(5.で入力した任意文字列)