Open4
nest: 接続用のDockerコンテナを用意する

とりあえず今回はProof of Conceptということで以下のような仕様にする:
- STUNサーバーなし
- 公開ポートはTCP2つ。HTTPとTURN。
Dockerは基本的にNAPTしてくれるのでSTUNの方でがんばれば普通に直通もできる。が、STUNはUDPで疎通するところに置く必要があるので諸般の事情(SSL proxy配下に置けない)でちょっと後回し。
動くものができたらcoturnのWasm移植を検討してnwjsで単体アプリにする方向を考えたい。

ビルド不要化
... まぁ node-datachannel
がネイティブモジュールなんでビルドをゼロにはできないわけだけど。。libpeerのWasm化も考えた方が良いのかねぇ。。とりあえず、 Rollup.js で単にESMを埋め込むことしかしていなかったのをやめた。Base64uriなんて数行なんだからモジュールにする必要無いだろということで。。
ついでに依存ライブラリも更新した。

coturnの起動機能を付けた
あとは hostname -I
してIPアドレス拾うとかですかね。。
coturn以外のサーバーとしては、 busyboxのtelnetdとか単純な名前解決 + TCP proxy系か。HTTP proxyも付けた方が良い気はするけどセキュリティの上手い考察が思いつかないのでナシかな。。

Docker用の設定機能を付ける
まぁ特定の環境変数が設定されていたら初期設定するって感じで良いか。
-
FNEST_STATEDIR
-- ステートを保存するディレクトリ。省略時は__dirname
。 -
FNEST_EXTERNAL_IP4
-- Listen先のIPv4。TURNサーバーとデバイスHTTPサーバーのlistenアドレスになる -
FNEST_ENABLE_COTURN
-- 存在したらcoturnを起動する