ICQプロトコルの変更に伴う問題の普遍的な解決策としてのICQマスカレード

これはハブに関する最初の投稿なので、執筆スタイルに関する提案は大歓迎です。



ICQプロトコルは定期的に変更されるため、すべてのサードパーティクライアントがそれらに対応しているわけではないため、サーバーとクライアントの間に迅速に調整できるレイヤーが必要でした。



この記事では、ICQGATEまたはICQマスカレードという特殊なプロキシの形式で、このようなレイヤーの実装について説明します。



ちょっとした歴史


1999年に学生として大学の愛好家が出てホステルのホステルを設置したとき、インターネット接続は大学のHTTPプロキシを介してのみであり、リクエストでいっぱいになったため、ICQをプロキシするタスクが生じました。



当初は、本格的なICQサーバーを作成するというアイデアがありましたが、私たちのチャンスと時間を本当に評価していたため、プロキシのみにタスクを単純化する必要がありました。 もう「昨日」必要だった。



ちなみに、ローカルICQサーバーはまだ作成されています: IServerd

その時点で、すべてのプロトコル情報はMICQソースから取得されました



詳細


サーバー自体が特別なIPアドレスをクライアントに送信するため、ICQのlogin.icq.comへの単純なリダイレクトは機能しないことに注意してください。



最も単純な認証(MD5なし)のプロキシスキーム:

  1. login.icq.comに承認リクエストを送信します。
  2. login.icq.comから新しいIPサーバーを取得します。
  3. クライアントへの応答で、このIPをプロキシのアドレスに置き換えます。


このスキームはPerlですぐに実装され、現在でも大学のサーバーで機能しています。 2005年には、FreeBSDとLinux用に最適化されたバージョンがすでにユーザー向けの無料ICQサービスを追加し、ホームネットワークプロバイダー間で顕著な競争上の優位性を獲得したプロバイダー向けに作成されました。



すべてがPerlで記述されているため、ほぼどこでも動作するはずです。



デモバージョンは、 icqgate-2.0.2.zipからダウンロードできます。

更新: MD5による認証をサポートするようになりました。



すべてのソースは無料でダウンロードでき、制限はありません。

これらの日のうちの1つは、すべての古いクライアントの最新の変更を隠すバージョンを作成しようとします。



使い方


ルーター付きオプション


ローカルアドレスが192.168.0.2であり、ルーターのアドレスが192.168.0.1であるとします。

次に、ICQGATEルーターで次のように実行します。



./icqgate.pl --port = 5190 --host = 192.168.0.1



クライアントでは、login.icq.comの代わりにルーター192.168.0.1のアドレスを登録する必要があります。信頼性のために、c:/ windows / system32 / drivers / etc / hostsでドメインを再定義できます。



ローカルホストのバリアント


すべて同じように、ルーターのアドレスを127.0.0.1に置き換えるだけです。



AOLプロトコルの変更に伴う問題の解決について


このプロキシには、クライアントからのプロトコルの変更を隠すロジックを追加できます。 たとえば、目的のフラップシーケンス番号に置き換えることができます。

特定のアルゴリズムに従って。




All Articles