iwatendo / skybeje

https://skybeje.net/
GNU Affero General Public License v3.0
4 stars 0 forks source link
indexeddb react skyway typescript webrtc

Skybeje

Skybejeはブラウザ上で動作する小さなチャットサーバーです。
会話の内容は外部のサーバーには保持されず、ブラウザのデータベースに保存されます

クイックスタート

今すぐに利用できる公開サーバーを準備しています。
以下のリンクをクリックするだけで、あなたのブラウザが小さなチャットサーバーになります。

チャットサーバーインスタンスの起動
(デスクトップ版のGoogle Chromeでのみ動作します)

プライバシーポリシーと利用規約

目次

チャットの利用方法

セキュリティについて

ライセンスについて

開発者ガイド

チャットの利用方法

チャットサーバーインタンスについて

クイックスタートにあるリンクをクリックするだけで、あなたのブラウザが、小さなチャットサーバーになります。

チャットクライアントについて

チャットサーバーインスタンスページの上部にある「チャットクライアント起動」をクリックすると、チャットクライアントが別タブで開きます。

チャットメンバーの招待について

チャットサーバーインスタンスの上部、またはチャットサーバークライアントの上部にある「接続URLのコピー」を押すと、チャットサーバーに接続する為のURLがクリップボードにコピーされます。

チャットに招待したいメンバーにこのURLを伝えてください。このURLはチャットサーバーインスタンスの起動のたびに変わります。

データが保存される場所について

チャットのデータは、チャットサーバーインスタンスを起動した端末のブラウザに保存されます。
プロフィール等のユーザー情報は、チャットサーバークライアントを起動した端末のブラウザに保存されます。

つまり、登録したプロフィール情報等は、チャットサーバーインスタンスが変わっても引き継がれます。

シークレットウィンドウを利用したチャットのお試しについて

同一クライアントから、複数のチャットクライアントの起動はできません。
但し、Google Chromeのシークレットウィンドウは別クライアント扱いとなります。

その為、まずは一人で試してみたい場合、シークレットウィンドウを利用する事で、実際複数人でチャットした場合にどのように動作するのか確認する事が可能です。

セキュリティについて

Skybejeは©NTT Communications様の SkyWay を使用しています。
そのため SkyWayの通信要件 を満たさない環境ではご利用できません。

本サービスのセキュリティについては、以下のページを参照してださい。
Skybejeのセキュリティについて

ライセンスについて

Skybejeのライセンスについて

Skybejeはオープンソース(AGPL3.0)です。
AGPL3.0はソフトウェアの改変や商用利用が許可されたライセンスです。

但し、以下の機能を実現する為、様々な外部サービスの 無料版(一部商用利用禁止の)API を使用しております。
そのため、公開サーバーのSkybejeについては商用利用を禁止します。

別のサーバーにプログラムを設置し、商用利用可能なAPIライセンスを取得して頂ければ、商用利用可能となります。

SkyWayについて

WebRTCを利用したP2Pを実現する為、©NTT Communications様のSkyWayを利用しています。
公開サーバーでは Community Edition を使用しております。
(商用利用する場合は Enterprise Edition を利用するのが望ましいと判断しています)

音声合成機能:Skybeje.Speakerについて

Skybejeは、Skybeje.Speakerと連動させる事により、外部の音声合成サービスをボイスチャット等で利用する事が可能です。
外部の音声合成サービスについては、利用するサービスの利用規約に従ってください。

音声認識機能:WebSpeechAPIについて

Skybejeは、Google Chrome の Web Speech APIを利用する事により、音声認識によるチャットが可能です。
このAPIの商用利用の可否については所説あるようですが、有料の音声認識サービス(Google Cloud Speech API)がある事から、商用利用にはこちらを使用する事が望ましいと判断しています。

YouTube同期再生機能について

YouTubeの埋め込み型プレイヤーは商用利用禁止となるケースがあります。
参考:YouTubeヘルプ

YouTubeの同期再生をメインで使用する場合、非商用では規約違反とはなりませんが、商用利用では規約違反となる可能性があります。
Skybejeを商用利用する場合はこの機能を削除するのが望ましいと判断されます。

開発者ガイド

はじめに

Skybejeは、バグの報告やドキュメント改善等を歓迎します。

バグ報告や要望は、GitHubのIssueまたはTwitterにお願いします。
Skybeje / Issues
Twitter (Iwatendo)

コードのプルリクエストも歓迎します。
Skybeje / Pull Request

アーキテクチャ

Skybejeは、P2PとIndexedDBを利用し、ブラウザだけで殆どの処理を完結させる事を目標としたWebサービスです。
詳細については以下のページを参照してください。
Skybejeのアーキテクチャ

開発環境

開発環境の構築については以下のページを参照してください。
開発環境の構築手順
SkyWayの設定手順

ドキュメント

ページ間の通信のシーケンス図のみ PlantUML で作成予定です。
・参考:Visual Studio Code で UML を描こう ・プレビュー表示 ATL+D