NEW・邪悪なブックマークレット考(考えてるだけ)
- ryunosinfx
- 543
- 1
- 0
- 0
「新・邪悪なブックマークレット考(考えてるだけ)」をトゥギャりました。 togetter.com/li/1428802
2019-11-11 00:26:40あれや。 やっぱ一回Winnyみたいなのをブラウザベースで作ろうと思うの。 一定の基準を守ったら無限に接続を増やしてデータをレプリケーションして永続化していく感じの奴。 検索どうするんや?的なのは有るけどね。
2019-11-14 01:08:49開始地点のspd交換、シグナリング鯖を複数登録、そこで中継ノードに参加、定期的に接続先を変えながら一定サイズを交換して 永続化していくと spdも保存しておくと。 次回はそのspdの指す先から再開、 つながらない情報は生存期間終了後削除。 持ってるファイルのリストを公開 シグネチャで確認
2019-11-14 12:54:04spdがなーという気はするし、フルオープンなのはいいのか悪いのか。 ブラウザの脆弱性経由で攻撃されるとか目も当てられない。 じゃあ、参加プロトコルどうするのか?と言うのはある。 事件の教訓としてファイルを直接送信は危険。とは言え、ファイルをブラウザは触れないはずなので大丈夫。
2019-11-14 12:58:06仮に出来上がったとしてブラウザ上で動くので次の成約を受ける ・ファイルシステム上のファイルには触れない ・したがってファイルはindexeddb上に置かれる ・通常のファイルとして使いたければダウンロードが必要 ・sturn鯖でいけない場所は繋がらない なのでつこうた案件はxssでも喰らわない限りOK
2019-11-15 09:41:32ただ、sdpが盛大にばれるのはばかられるのでやはり個体識別と認証は必要。
2019-11-15 09:43:21え?エレクトロンでデスクトップアプリ実装しちゃった? 流石にそれはという感じはある。
2019-11-15 09:44:25まあパスワードで防衛ですかにゃー。 ペアリングまでしたいけどペアリングを省くと任意のマシンに接続が可能になる。まああれだ、ネットワーク名を決めて複数のネットワークに接続できない呪いをかけておけば大丈夫な気はする。 問題はどちらかというと画面をオフったスマホを動員できるのかという点。
2019-11-15 12:43:35webrtcで別にP2Pコネクションが成立した後に別のノードをシグナリングして紹介してもいいわけだし、シグナリングサーバー低機能でもやっていけると思われる。webrtcの二個目以降はつないだ先のピアを仲介してもらうとふむふむ。 最初につながった二人は定期的にシグナリング鯖を覗きに行くと。
2019-11-15 12:57:02なんとか接続一歩手前まで来たが、アレだ。 peerオブジェクトを持つOffer降り出したやつが、Answerを受けようとして、もうpeer有るんだけど・・・ とかエラーになるのがあかん。 お前のコネクションはこれ、あんたとのコネクションはこれと、1コネクションを一個一個かんりしないといけない。
2019-12-03 23:13:23相互に通信を開始した場合に 双方のコネクタがOfferを出してしまう。 このとき、受信専用のコネクターを出すと、双方コネクションが成立してコネクションが2本出来てしまう。 正直、無駄以外の何物でもないので、どちらを使うか決めなければいけない あーどうしようか ハッシュのアルファベット昇順?
2019-12-03 23:37:07まあ双方で確実に同じ方を活かすとするとそうなるね。仕方ないね。 さてコネクションは何処で管理したものか? やはり、一旦コネクションプールを作ってそこから払い出しかね。 無ければつなぎ直すとか。 あーこれは設計しないと行けない予感。
2019-12-04 01:38:11理想は仮想的なネットワークが存在し、 任意のタイミングで通信が成立するhttpな世界。 実際まあレイテンシーとか考えると同じもんじゃろう。内部でhttpを3往復するからもっと遅い気はするが。 なので、コネクションプールもといコネクションキャッシュが存在して、そこになければつなぎ直すと。
2019-12-04 01:40:50問題はコネクション成就した後に どうやってデータを送るのか? ファイルを送りたいので、まあ10kbとかにバイナリ分割して送りつけて、向こう側で組み立てて、ハッシュチェックしてOKなんですかね。 うーん。 ファイルは全部indexeddbの中に暗号化しておあずけと。 暗号化が面倒くさいのがアレ。
2019-12-04 01:52:46まずは、そこまで行くか。 処理を送りたい場合はどうすれば良いんだろうか。まあWebのセキュリティ境界的に一括WSAMバイナリをgithub pagesにあげて云々じゃないと始まらないか。 任意の処理をやり取りはXSSそのものだし・・・
2019-12-04 01:55:20バイナリを送るのは js処理上でTCPをそのまま再実装的に送るので、TCPヘッダーを参考に組めば良いのかな? パスフレーズはそのままハッシュにして使いまわそう。 まあ、Torみたいな事をしたいわけではないのですが、メッシュ構成は夢が有るよね。
2019-12-04 02:04:42こうrdbmsのデータベースを各ノードとして、裏で三重バックアップとジャーナリングをすると。 クライアントはこのrdbmsにアクセスをすると。ファイル単位でのkvsにはなるけれど。 そこからか。
2019-12-04 09:56:51先達を確認したところ、 ・ドメインがある ・一時限りなファイルを受け渡す ・特定のurlを払い出して共有する まあwinnyは2003年なのよね。 とても古い。もっと良いアルゴリズムが出てる気配がする skywayはsdkが全部抱え込んでるのね。 apiキーと設定を入れるだけ。 まあそんなところやね
2019-12-04 12:40:17sdkはskywayのIFを参考にするか互換にしておけばいいか。 ただ、レイヤーが低いので高レイヤーまでやるべきか。 でsdkとして出します。 使い方は、google app scriptでホスティングします。 このsdkで繋ぎます。 後はファイル共有を開始します。的な。 画面は開きっぱなしになるのがねー
2019-12-04 12:45:30nhiroki.jp/2019/12/05/es-… めんどくせーからWebPackでパッキングしてるんじゃ。 並列化の恩恵と1ファイルで一括読み込みどっちが速いかだよなあ・・・ WebPackが1秒以上ビルドにかかると萎えるが、どう考えてもnode_modulesの連中を五月雨式に取得するより速いと思うのだが。
2019-12-05 23:50:03まあ普通にフルメッシュネットワークでLAN内で好き勝手ファイル交換をできるようにしようぜ。 と言うわけでまずはシグナリング鯖とコネクションピアか。 githubで公開しよう。 ブラウザで、 シグナリング鯖のURL、パスフレーズ、デバイス名、グループ名を指定して、つなぎたいデバイス名を指定と。
2019-12-06 00:24:40まず調査中だがwebrtcのコネクションを自分自身に貼るループは出来ないっぽい。 この時別タブからテストすればいいんだろうがめんどくさい。 相手のデバイス名をどうやって知ることが出来るのかと。 データをストレージに入れないといけないのでその手当も必要。
2019-12-06 09:34:41あるhtmlをと言うかjsをダウンロードして同一のドメインであれば良いと。 マルチプロセスモデルの排他処理が必要と。 クロスドメインしたかったら外部鯖が仲介しないと駄目であると。 うーん。よいよGASにスクリプト置いてやらざる得ないか。 indexeddb経由でデータ通信は即時性がないから…
2019-12-06 09:44:52一応ブラウザ上で完結をするなら親子関係でwindowを開いていけばメッセージでアクセスは不可能ではないけれど。 こうブックマークレットがある空ページで同じドメインをiframeで開く、そこでindexeddbでシグナリングしてwebrtcチャンネルを同一のブラウザ上でクロスドメインで開けると。 なるなる。
2019-12-06 09:51:20こうしたライブラリがないのよね。お前の検索の仕方が悪いんだろ?と言われたらそれまでだが、だいぶニッチ臭い。 となると、メインのタブを開けて、そこがデータ管理をして、外部へのwebrtcを繋ぐと。 直接つないでもいいけど、リレーの研究もしたいしねー。 あるサイトのデータがドメイン消滅してもOK
2019-12-06 12:21:32