gate.plm を改造してDCC RESUMEに対応させてみた。

ctcp/dcc/gate.plm - CTCP DCC SENDに反応して転送の中継を行う

を改造してあそびました。

実際には、5年くらい前にやったもの


プライベートアドレスを振ってるクライアントよりDCCファイル転送したいとき
グローバルアドレスもってないと基本ファイルは渡せない
DCCは基本 送信者がグローバルアドレス上で待ち受けを行ため。
この待ち受けをplumにさせて転送中継をしてもらうのが、このプラグイン すげー便利。


送信者が送信を開始すると、鯖がゲートとして動作する。
鯖側でパースして相手にDCCメッセージを送信

01:22 *** DCC gate send nekonabe.ogg -> dareka
01:22 *** DCC change addr: 20x56x2x0 to 20x5x0x55x
01:22 *** DCC gate (SEND nekonabe.ogg 20x5x0x55x 5566 123456) to dareka

相手が接続するとProxy動作

01:22 *** DCC gate ProxyStart nekonabe.ogg ( LAN client:1234 <-> WAN server:12345 )
01:22 *** DCC gate ProxyClose`SERVER`
  • dcc.gate2.swap のところ
sub client_gate {
          :

    $params[2] = (&'sockname($sno))[1];

ここで乗せるべきだったかもしれん

版数変更のため消去
次回は get.plmです。(ぉ