LimeChat with DeleGate

これは、イイかんじのIRCクライアントであるLimeChatがproxyに対応していないのでムリヤリdelegateを使って串を通そうという胡散臭い方法です。理論的に正しいのか専門家ではないので怪しいですが問題ないっぽいのでいいかも。自己責任でよろしくお願いします。一切の質問には答えません。

delegateは本当にすばらしーです・・・

導入

用意するもの

DeleGate

最低限これは読んでください

DeleGateの動かし方・止め方

NT系OSではデフォルトだとバックグラウンド(サービス)として動作することに注意。

設定

今回の例に必要なパラメーターは次の通り。(簡略してます)

書式

-Pport
ADMIN = user@host.domain
SERVER = protocol[://host[:portNum]]
CONNECT = connSeq[:connMap]
SSLTUNNEL = host:port
PERMIT = connMap

設定例

-P16668 →1
ADMIN=mona@hoge.freemail.ne.jp →2
SERVER=tcprelay://irc.kyoto.wide.ad.jp:6663/ →3
CONNECT="https:*:proxy.hoge.ne.jp" →4
SSLTUNNEL=:proxy.hoge.ne.jp:80 →5
PERMIT="*:*:127.0.0.1" →6

これをバッチファイルにして使うと良いかと思います。

  1. 受け付けるポート番号
  2. (初回起動時に聞かれます)メールアドレス
  3. IRC サーバーのアドレス及び接続ポート番号
  4. 経由したい串のアドレス
  5. 経由したい串のアドレス及び接続ポート番号
  6. 自分自身以外からは接続できなくしています

IRC クライアントの設定

サーバーは、127.0.0.1、ポート番号は上の、1.で指定した番号、wide系でjpドメイン以外の串を使うときは京都鯖でパスワードを入れるか海外のサーバーに繋ぐかしてください。

動作

-v オプションをつけるとフォアグランドで動作しログを吐きます。正常なら大体こんな感じです。

12/02 11:38:20.08 [1544] 0+0: PORT> -P16668
12/02 11:38:20.09 [1544] 0+0: --INITIALIZATION START: 6.1.11 on WindowsNT--
12/02 11:38:20.09 [1544] 0+0: server_open(delegate,:16668,listen=20)
12/02 11:38:20.09 [1544] 0+0: server_open(delegate,:16668) BOUND
12/02 11:38:20.09 [1544] 0+0: ##DeleGate/6.X: DGROOT=/Program Files/DeleGate is set automatically. DGROOT="" will make it compatible with former versions.
12/02 11:38:20.09 [1544] 0+0: DGROOT=/Program Files/DeleGate^M
12/02 11:38:20.10 [1544] 0+0: <DeleGate/6.1.11 by ysato@delegate.org> [1544] -P1 6668 READY^M
<DeleGate/6.1.11 by ysato@delegate.org> [1544] -P16668 READY
DGROOT=/Program Files/DeleGate
AIST Research Product No. 1994-ETL-8715-1
Copyright (c) 1994-2000 Yutaka Sato
Copyright (c) 1994-2000 Electrotechnical Laboratory (ETL), AIST, MITI
12/02 11:38:20.10 [1544] 0+0: PORT= 16668/8 (65,28)
12/02 11:38:20.10 [1544] 0+0: OWNER=nobody => OWNER=?/?(?/?)
12/02 11:38:20.10 [1544] 0+0: ##DeleGate/6.X: MIMECONV=thru is set by default. MIMECONV="" will make it compatible with former versions.
12/02 11:38:20.10 [1544] 0+0: REMITTABLE = tcprelay
12/02 11:38:21.19 [1544] 0+0: ## connect[10] TIMEOUT(100)
12/02 11:38:21.19 [1544] 0+0: {R} No local NS (192.168.0.4:53)
12/02 11:38:21.19 [1544] 0+0: ADMIN=hoge@hoge.freemail.ne.jp protocol=tcprelay(specialist)
12/02 11:38:21.19 [1544] 0+0: ##DeleGate/6.X: created directory/file will be non-sharable. SHARE="" will make it compatible with former versions.
12/02 11:38:21.20 [1544] 0+0: #### CACHE DISABLED #### Cache directory seems not exist: /Program Files/DeleGate/cache
12/02 11:38:21.20 [1544] 0+0: env[28] LIBPATH=.:C:\Documents and Settings\hogehoge\デスクトップ:/Program Files/DeleGate/lib:D:\BIN\delegate
12/02 11:38:21.20 [1544] 0+0: arg[3] ADMIN=hoge@hoge.freemail.ne.jp
12/02 11:38:21.20 [1544] 0+0: arg[4] SERVER=tcprelay://irc.kyoto.wide.ad.jp:6663/
12/02 11:38:21.20 [1544] 0+0: arg[5] CONNECT=https:*:proxy.hoge.ne.jp
12/02 11:38:21.20 [1544] 0+0: arg[6] SSLTUNNEL=proxy.hoge.ne.jp:80
12/02 11:38:21.20 [1544] 0+0: arg[7] PERMIT=*:*:127.0.0.1
12/02 11:38:21.21 [1544] 0+0: DELEGATE_Modified[1]: 3c0eda1d
12/02 11:38:21.21 [1544] 0+0: --INITIALIZATION DONE--

ここから先は IRC クライアントで接続を開始したことによるログ

12/02 11:38:48.43 [1584] 1+0: REMITTABLE = tcprelay
12/02 11:38:48.44 [1584] 1+0: (0) accepted [14] -@[127.0.0.1]hoge:3991 (0.090s)(8)
12/02 11:38:48.44 [1584] 1+0: PATH: tcprelay://irc.kyoto.wide.ad.jp:6663!hoge:16668!hoge:3991!anonymous@hoge;1007606328
12/02 11:38:48.68 [1584] 1+0: SSLtunnel connected [16] {proxy.hoge.ne.jp:80 <- 192.168.0.4:3994} [0.240s]
12/02 11:38:48.68 [1584] 1+0: SSL-TUNNEL<< irc.kyoto.wide.ad.jp:6663
12/02 11:38:49.16 [1584] 1+0: SSL-TUNNEL>> HTTP/1.0 200 Connection established

追記

check