Twitter魚拓を著作権法の規定を回避しつつTwitter自身にシグネチャハッシュを乗っけて実現しようぜ!計画※考えてるだけ

やあ (´・ω・`) ようこそ、セルフまとめへ。 このテキーラはサービスだから、まず飲んで落ち着いて欲しい。 うん、「また」なんだ。済まない。 仏の顔もって言うしね、謝って許してもらおうとも思っていない。 でも、このまとめタイトルを見たとき、君は、きっと言葉では言い表せない 「ときめき」みたいなものを感じてくれたと思う。 殺伐とした世の中で、そういう気持ちを忘れないで欲しい 続きを読む
7
汝、翼を与える@ばってん先に翼ばくれんね イベント・・(parody) @ryunosinfx

多分TwitterのTweet保存システムを考えると、著作権法に配慮しつつ、実現するには ・Tweetが存在したことを証明する ・Tweetの内容が改変されてないことを証明する ・実際の著作データは保管しない ・証明データはTwitterに保管する と言うのが良いように思う。 じゃあどうするか?

2020-06-12 02:15:51
汝、翼を与える@ばってん先に翼ばくれんね イベント・・(parody) @ryunosinfx

まず、 ・Twitterのスクショを取る ・スクショはキャッシュですの言い訳を維持するために5日で消える ・スクショを取った上で、スクショデータのハッシュと、文字データのハッシュを取る ・それを取得と同時に引用RTで有るアカウントに貼り付ける ・アカウントは凍結に備え、公開垢と鍵垢に分ける

2020-06-12 02:19:14
汝、翼を与える@ばってん先に翼ばくれんね イベント・・(parody) @ryunosinfx

・スクショと本文は撮った人間のブラウザ内に保存 ・何時でもダウンロード出来るようにする ・同時にハッシュ値も保管する ・ハッシュの算出方法はSHA-512等とする ・もし、バックレた場合、保管した有志がデータをUPする ・運営のTwitterアカウントの保管Tweetを引用RTもする ・ハッシュ値一致=真正

2020-06-12 02:22:17
汝、翼を与える@ばってん先に翼ばくれんね イベント・・(parody) @ryunosinfx

これで、保管はユーザーの責任となり 運営はデータをごく少量保管するだけで済む。 問題は、DCMAのテイクダウンはキャッシュに対しては防げない。だってこれ日本国内向けの言い訳だから。 まあそれなら有りかな。 誰か作って。

2020-06-12 02:25:26
汝、翼を与える@ばってん先に翼ばくれんね イベント・・(parody) @ryunosinfx

まあ魚拓データを取りたい人が撮って 自分の責任でやりましょう。 そのデータが本物かどうかの担保だけはするね って奴なので。 なお、未来永劫とはいかないので注意。

2020-06-12 02:27:33
汝、翼を与える@ばってん先に翼ばくれんね イベント・・(parody) @ryunosinfx

twitter.com/ryunosinfx/sta… この若気の至り的なサービスを見て思ったんやな。

2020-06-12 02:32:27
汝、翼を与える@ばってん先に翼ばくれんね イベント・・(parody) @ryunosinfx

Twitterの利用規約(Tweetの表示はTwitter社の指定する形式フルセットでやれ、削除したら消えるようにしろ)に抵触と著作権で提訴されたら全文は公開は引用ではないのでローカルに保管でなければ確実に負ける点が気になる。 jijitsu.net/entry/twitter-… ローカルに保管だとiOSはITPで14日放置で消える twitter.com/satorunet/stat…

2020-06-11 21:32:25
汝、翼を与える@ばってん先に翼ばくれんね イベント・・(parody) @ryunosinfx

と思ったら、Twitter歴12年超のガチ勢だった・・・ まあ、だったら危ないと思ったらすぐ何とかするでしょう。 それぐらいの陽炎さがあるな。

2020-06-12 12:08:02
汝、翼を与える@ばってん先に翼ばくれんね イベント・・(parody) @ryunosinfx

Tweetのハッシュ値はそもそも著作権の及ばないものなので きっと大丈夫。 ハッシュ値消せやゴルぁって言っても 何言ってんだこいつ感もあるやろ。 真性証明にもTwitterのルールに基づいて引用RTすればいいだけで。 内容は保管したもののみぞ知る。 で、じゃあこんなデンジャラスなサービスをどう作るか

2020-06-12 12:16:31
汝、翼を与える@ばってん先に翼ばくれんね イベント・・(parody) @ryunosinfx

サーバーも契約したくないし 全部匿名でやりたい気持ちがあるので GASで出来ないかなーと思っている。 そうなるとスクショどうするよ?なんだけど、 クライアントで撮ってクレないかなと。 そうすると真偽性どうするよ?はある。嘘のスクショをどう見ぬくのか。

2020-06-12 13:00:54
汝、翼を与える@ばってん先に翼ばくれんね イベント・・(parody) @ryunosinfx

しかし、問題はどうやってスクショと実際のHTMLからの画像を見抜くのか?あースクショをHTMLとして取る もしくはHTMLからSVGに変換後、JPEGにするとしておけば、各段階のヒモ付は出来なくはないな。 問題はGASでそれを使うことはできそうにないということか。Canvasモジュールが使えればいいんだが・・

2020-06-14 03:21:45
汝、翼を与える@ばってん先に翼ばくれんね イベント・・(parody) @ryunosinfx

あーGASでも出来るかもしれない。 qiita.com/rf_p/items/1d9… 出来るじゃん! 素直にスクショを取って保存せずに、 ユーザーに渡して、スクショ自体は更にモザイクかけて 自分のTwitterアカウントにアップすればOKか これで、事実上、ストレージを気にせず出来るな。 ただ、GASの制限がきついので・・・

2020-06-16 01:59:41
汝、翼を与える@ばってん先に翼ばくれんね イベント・・(parody) @ryunosinfx

人気が出るとあっという間に 無料枠の上限に達してしまう。 それでも、真正性担保は出来るでしょう。 そもそも、日本国の裁判証拠がスクショを印刷したものと言う時点で偽造し放題というね。 なぜ、それでいいと言う話になるのか ひとえに裁判官と弁護士と検事と一般人のリテラシーに寄るんじゃないか

2020-06-16 02:15:20
汝、翼を与える@ばってん先に翼ばくれんね イベント・・(parody) @ryunosinfx

著作権を回避しつつ、その情報が確実に存在したことを保証するサービスが無いというのが・・・ もちろん、Web魚拓でも良いんだけど、あそこも著作権テイクダウンを食らう可能性も有るわけで 本当にそれが使命なのかは疑問が有る。 その手元にある情報が正しいと言う真正性の確認の方が重要に思う

2020-06-16 02:28:44
汝、翼を与える@ばってん先に翼ばくれんね イベント・・(parody) @ryunosinfx

任意の人間の持つ情報が その情報を出した人間が正しいと言い張り、反証する人間が居ない限り、その主張を正とするというのはいかがなものか。 即座に裏付けを取れるサイトがあって然るべきに思う。 ブラウザさえ有れば検証が一通りその場で出来るというのが理想。

2020-06-16 02:32:09
汝、翼を与える@ばってん先に翼ばくれんね イベント・・(parody) @ryunosinfx

では狸の皮算用タイムだ システム構成としては寄生虫根性丸出しで Twitterにアカウント開設 GithubPagesに静的サイトを置く GASにスクショを取るAPI作る ユーザーにはスクショ&文言をDLしてもらう 同時に低解像度GIFにしたのを上げてもらう GASでTwitterにスクショハッシュ、文言ハッシュを投稿する

2020-06-16 02:39:55
汝、翼を与える@ばってん先に翼ばくれんね イベント・・(parody) @ryunosinfx

同様にGithubPagesに検証用のページを設けて 内容を検証する 検証対象のTweetと検証ハッシュの載ったTweetを投げるか、スクショをアップすると一致確認が取れると 誰かが改変してない保障が出来る なお、スクショ自体はユーザーのローカルストレージに保管し、個別一括でダウンロード出来るようにする

2020-06-16 02:43:22
汝、翼を与える@ばってん先に翼ばくれんね イベント・・(parody) @ryunosinfx

では、詳細設計に入ると 1Tweetに入る文字数は140文字 SHA256でbase64Urlだと256/8x1.33=43文字程度 データは ・スクショ※低データ化 ・スクショのハッシュ ・文字列のハッシュ ・同梱zipのハッシュ ・デリミタと各ハッシュの種別2文字x3=9文字 43x3+9=138文字とどんぴしゃり。

2020-06-17 01:16:57
汝、翼を与える@ばってん先に翼ばくれんね イベント・・(parody) @ryunosinfx

運用フローは ・システムWebサイトを開く ・スクショ対象のTweetURLをコピペ ・GASでスクショGET、テキスト情報も取得してzipに圧縮 ・システムのTwitterアカウントに引用RTで投稿 ・ユーザーのブラウザにzipをダウンロード ・ユーザーは何時でもzipファイルダウンロード出来る。

2020-06-17 01:25:16
汝、翼を与える@ばってん先に翼ばくれんね イベント・・(parody) @ryunosinfx

・何処からとも無く入手したファイルを検証する窓口を設ける ・ユーザーはそこにファイルを投稿する ・ローカルのブラウザ上でSHA256ハッシュのbase64urlを取得 ・Twitterの検索機能で検索 ・本システムのアカウント上に存在したら認証OKを返す。 ・同時にリンクも付ける。 さて、問題はだ

2020-06-17 01:28:10
汝、翼を与える@ばってん先に翼ばくれんね イベント・・(parody) @ryunosinfx

スクショを取られたTwitterアカウントユーザーが怒り狂ってこのシステムのアカウントを権利侵害として通報する可能性だな・・・ 次に、キャッシュか。 例えばスクショ取るまつりが発生した場合は、直近の5件とか直近3ヶ月はTweetURLをキーにスクショをキャッシュして返すは必要と思われる。

2020-06-17 01:31:32
汝、翼を与える@ばってん先に翼ばくれんね イベント・・(parody) @ryunosinfx

尚、システム上の魚拓Tweetは重複させないように配慮する。と言うことはIndexファイルを持たないといけないのか?やだなー。 キャッシュにヒットしないならzipファイルを作るところまでだなー。 またTweet自体の数もTwitterの上限にかかる可能性が否定できないのでDDoSを食らうと即死する。

2020-06-17 01:36:20
汝、翼を与える@ばってん先に翼ばくれんね イベント・・(parody) @ryunosinfx

例えば、2000フォロワーぐらいのアカウントを使って即座にTLのURLを渡してスクショクレクレをされると即死する。 対抗策としては、バッファリングして遅延書き込みなんだが、そうすると誰がバッファリングするんだよ?場所は要領は的な問題がつきまとう。 まあURLとチケットだけ持ってればいいけど

2020-06-17 01:40:25
汝、翼を与える@ばってん先に翼ばくれんね イベント・・(parody) @ryunosinfx

となると、このチケットのバッファーの群れは Githubで管理するのが正しい気がする。 GASで受けて、Githubに白日の下コミット そしてGASに処理を依頼するのはGithubActionか で、TweetするのはGASでとなる。問題はやはりブラウザが強力すぎる。GASでスクショとか無理やで・・・

2020-06-17 02:10:36
汝、翼を与える@ばってん先に翼ばくれんね イベント・・(parody) @ryunosinfx

これならGithubActionsのAlpineコンテナにヘッドレスブラウザを召喚するのが一番な気配がしてきたな・・・ それが良いか悪いかは別にして一つの到達点としては有りな気がしてきたな・・・ ブラウザが召喚できるとすべてブラウザで処理が出来るようになる。ブラウザすごいぞ!

2020-06-17 02:14:05
汝、翼を与える@ばってん先に翼ばくれんね イベント・・(parody) @ryunosinfx

qiita.com/okitan/items/6… なんだよ、既にGithub ActionsでSeleniumを動かしている猛者が居るな。 ianwalter.dev/running-seleni… うむ、じゃあこれでやりたい放題じゃないか Tweetもスクショも全部GithubActionsで取ってしまえばいいじゃないか。 GASは受付窓口専用だなぁ。

2020-06-17 02:20:44