fastnat
1.0.0
Fast Natは、Wenatに基づいた拡張バージョンで、HTTP、TCP、UDP、WebSocket、およびその他のプロトコルをサポートしています。簡単に言えば、パブリックIPとポートをイントラネットコンピューターに割り当てることができます。たとえば、:
123.1.1.1:8888-> 192.168.1.123:3306
データパケットが外部ネットワークサーバーによって受信されると、内部ネットワークポート3306に転送され、浸透が達成されます。サーバーは転送されましたが、これは従来のP2P浸透とは異なります。
プロトコルはJSON文字列です
サーバーに初めて接続するときは、ユーザーのトークンを持参する必要があります。サーバーが有効であると、その後の使用のために2つのポートを開きます。後続のプロセスでは、検証は行われません。セキュリティリスクがありますが、一般的なTCPアプリケーション:MySQL、MongoDB、Redisなどが保護するユーザーメカニズムがあります。
3つの暫定的な合意
| タイプ |
|---|
| TCP |
| UDP |
| http |
基本情報応答
データを送信せずに通信サーバーポート8888に直接接続します。成功した後、次のデータに応答します
| フィールド | タイプ | 説明します |
|---|---|---|
| id | 文字列(8) | このセッションのID |
| Outid | 文字列(8) | 外部ソケットセッションID |
| intport | int(5) | イントラネット接続ポート、5桁のポート、30000-65535 |
| アウトポート | int(5) | 外部ネットワーク接続用のポート |
| 指示 | 弦 | 操作コマンド |
| プロトコル | 弦 | プロトコルタイプ |
{
id : 'CucfFpk7' ,
intPort : 61289 ,
outPort : 59918 ,
command : 'start_proxy' ,
outId : 'GpNYO5KW'
}サーバーに積極的に接続します
基本的な情報応答を受け取った後、イントラネットのポートを取得してTCP接続を確立し、OutIDを持ち込みます。最初のデータパケットはプロトコルパケットであり、その後のデータは通常の転送です。
| フィールド | タイプ | 説明します |
|---|---|---|
| Outid | 文字列(8) | 外部ソケットセッションID |
{
outId : 'GpNYO5KW'
}