【緊急投稿】TiddlySpotから自分のTiddlyWikiをサルベージする方法

TiddlyWiki(ティドリーウィキ)をホスティングし、運用していた先のTiddlySpot(ティドりースポット)が10月24日夜に突然消滅したと思って以降、私は誇張でなしに夜も満足に寝ていない。仕事も趣味も、思うに任せないからだ。
取り急ぎ、新たなTiddlyWikiの運用先として調査した結果、GitLab(ギットラボ)とNetlify(ネットリファイ)が良かろうと結論し、まずはGitLabで運用する方法を確立してから、GitLabのリポジトリをNetlifyへ使い回して運用すれば良いと考えた。
この辺のことは後述するが、11月4日になったばかりの今日、TiddlySpotにホスティングしていたTiddlyWikiサルベージすることに成功したので、その方法を緊急で書いておく。

自分のTiddlyWikiをローカルに保存する方法

何はともあれ、TiddlySpotが読み取り専用でもなんでも、復活して生きている内に自分のTiddlyWikiを引き上げる(サルベージする)のが先だ。
まずは、自分が運用していたTiddlySpotにアクセスする。URLは次のようになるだろう。

http://[ユーザID].tiddlyspot.com

Basic認証が掛かっている場合はユーザIDとパスワードを入力すると、図のような懐かしいTiddlyWikiが表示されるハズだ。
そこで、図右上赤枠歯車アイコンをクリックする。

図のようにコントロールパネル画面から、図赤下線保存」→赤下線~TiddlySpot Saver」をクリックする。
赤①のパスワードをクリアし、図赤枠②歯車アイコンをクリックして保存する。

すると(ブラウザによって挙動は違うが)無事TiddlyWikiのHTMLファイル「tiddlywiki.html」がローカルに保存される
ちなみに、Firefoxの場合は図のようなダイアログが開くので、赤枠OK」ボタンをクリックすればローカルにファイルが保存される。
ともあれ、バックアップが無い状況で運用していたTiddlyWikiがサルベージ出来たので、個人的にメチャクチャ嬉しいと同時に、モノスゴク安堵した。
これ以降は特に読む必要はないが、どんな経緯があったのか知りたい人はどうぞ。

TiddlySpotに関するこれまでの経緯

冒頭でも書いたようにTiddlySpotが、それまで運用していたTiddlyWikiと共に消滅したと思った私は、夜もロクに寝ずに善後策を調査して模索した。
そこで、まずはGitLabTiddlyWikiを運用し、さらにGitLabのリポジトリからNetlifyへ運用先を移行しようと、急きょ次の記事を書いたのであった。

所期の目的としてGitLab PagesTiddlyWikiを運用するのは、特に問題はない
が、どうもNetlifyの方が良さげであるため、引き続き調査しながら検証しているが、NetlifyのStarterアカウント(無料で利用可能なアカウント)でどうすれば公開したTiddlyWikiにアクセス制限をかけられるのか、今も順調に行き詰まっている
それもこれも、TiddlySpotがっ!(#゚Д゚)」と思い、先日の夜中にふと「どうにもならんよな」と思いつつTiddlySpotを見てみると・・・あれ?!Σ(°Д°)

※テキトー訳
Tiddlyspotは、いくつかの技術的な問題により、データ復旧モードになりました。
これでサイトが利用可能になりますが、更新の保存と新しいサイトの作成はサポートされていません。
詳細と最新の更新については、tiddlyspot.blogspot.comを参照してください。
ご理解とご支援のメッセージをありがとうございます。
敬意を込めて。
サイモン

ひょっとすると、TiddlySpotともども消滅したと思っていた、ワシのTiddlyWikiは復活出来るのか!?Σ(゚Д゚ノ)ノ

早速、件(くだん)のtiddlyspot.blogspot.comを見てみると、TiddlySpotが消滅した10月24日に(実に7年ぶりに)ブログ記事「What happened to Tiddlyspot?」(TiddlySpotはどうなったのか?)が投稿されており、私がTiddlySpotの表示が変わっているのに気付いた28日の夜中(時間的には29日?)には、「Update on Tiddlyspot site recovery」(TiddlySpotサイトの回復に関する最新情報)が掲載されていた。
経緯を整理すると、次の通りのようだ。

  • TiddlySpotでのTiddlyWikiのバックアップが、TiddlySpotを運用していたDreamHost(レンタルサーバ)の限界に近く、(TiddlySpot所有者による個人のバックアップが)「利用規約違反」とみなされて「DreamObjects」へ退避されてしまった(これにより、全てのTiddlyWikiがオンラインではなくなったので、私を含め「TiddlySpotが消滅した」ように見えた)
  • TiddlySpotは最初の頃はクールだったが、古くなって所有者(サイモン氏)からも長年顧みられることもなく、廃止するアイデアも検討されていたため、現在どの程度の利用者がいるのか、どれほど深刻な問題になっているのか不明である(情報を寄せて欲しい)
  • 全てのバックアップは(恐らく)「DreamObjects」で安全に保存されていると考えられるため、TiddlySpotによって深刻な影響が出ているとすると、DreamHostと交渉する必要がある(サポートチケット#9255564を発行済み)
  • (10月28日のブログ記事投稿時点で)AWSを使用して全てのTiddlyWikiサイトをダウンロードするスクリプトに取り組んでおり、全てのTiddlyWikiが回復できそうだ(「プライベート」サイト=Basic認証しているサイトより、「パブリック」サイトの方が先に利用可能になる可能性がある)
  • 将来的に完全に機能するTiddlySpotを復活させるアイデアは検討中なものの、まずはデータ復旧のみに焦点を当て、このブログで進捗状況を投稿する

そして次に当該ブログをチェックした29日の記事は、おおよそ次のことが書かれていた。

  • 読み取り専用モードで利用可能なサイトにしたが、TiddlyWikiの更新の保存と新しいTiddlyWikiの作成はサポートはしていない
  • この機会にバックアップを取って欲しい(ユーザ名に数字が含まれていると問題が出るバグがあったが、修正したので再度試して欲しい)

よっしゃ!コレでワシのTiddlyWikiも取り戻せるど!!(๑•̀ㅂ•́)و✧

って、あれ!?Σ(°Д°)
私の場合はユーザIDが「dajya-ranger」なので、URLは

http://dajya-ranger.tiddlyspot.com

となるが、ユーザIDがハイフン無しの次のURL

http://dajyaranger.tiddlyspot.com

にリダイレクトされて、404エラーにされてしまう。
ブログ記事「Sites available in read-only mode」(サイトは読み取り専用で利用可能)のコメント30件をナナメ読みすると、自分のTiddlyWikiにアクセス出来て、バックアップが取れた感謝のコメントが多く、中にはバックアップの方法が分からないとコメントしている人や、そういった人にバックアップ方法を書いた人はいたようだが、私のようにハイフン無しのURLにリダイレクトされてエラーが出る、といった人のコメントは無いようだ

サイモン氏が書いたスクリプトコードの作りが甘いのか、こんな大バグ野郎で自分のTiddlyWikiがサルベージ出来ないのは非常に困るので、図の通り拙い英語で短く・的確(?)にコメントを投稿しておいた。
内容は次の通り。

私のサイト名は「dajya-ranger」で、URLが「http://dajya-ranger.tiddlyspot.com」です。
ブログのエントリーを見て自分のサイトにアクセスしてみましたが、「http://dajyaranger.tiddlyspot.com」にリダイレクトされて「404 Not Found Error」となってしまいます。
サイト名にハイフンが入っていると表示されないようですが、何か方法はありませんか。

そのまま特に何も進展せず、30日の夜から土日を経て今月3日の明治節(本来は明治天皇のお誕生日であって、1948(昭和23)年に現在の「文化の日」に改められた)も、私の作業も特に進展がないまま、ずーっとNetlifyでの調査・検証をしていた。
日付が4日に変わった頃、「もう馬犬 目 ぽ…_φ(゚∀゚ )アヒャ」と思い、調査・検証を切り上げて一杯やるか!
ここ数日放置しまくりのTwitterアカウントでツイッタランドをザックリ巡回し、試しに件のブログをチェックしてみると、新しい記事「Sites with hyphens in their names are recoverable now」(名前にハイフンが付いたサイトは現在回復可能です)が投稿されているではないか!
しかも4日の日付になっているので、投稿されたばかりだろう(時差的にどうなっているのかは知らん)。そして投稿内容は「Sorry about that.」(これは失礼しました)のみだ。

サイモン氏、エエんやで( ̄ー ̄)

そこで、本稿冒頭に記述した通り、無事に自分のTiddlyWikiをサルベージしたのであった。

Netlifyの憂鬱

TiddlyWikiNetlifyで運用する、私の目論見はこうだ。
GitLab PagesTiddlyWikiを立ち上げ、さらにGitLabでのリポジトリを元にNetlifyでも同じくTiddlyWikiを立ち上げてGitLabと連携して運用すると、TiddlyWikiのセーバーはGitLabへ自分自身を書き換えてプッシュしてコミットするから、GitLab上で自動的にTiddlyWikiが再構成されると同時に、Netlifyへも自動的にその更新が掛かるハズである。
つまり、二重に同じTiddlyWikiが稼働することになるので、「フォールトトレラント的にミラーリングが可能なんじゃね?」と考えたのだ。
色々と検証してみると、GitLabのCI/CDとそのデプロイ速度よりもNetlifyの方が高速だし、URLもGitLabよりコンパクトに出来る(ちなみに自分が運用するTiddlyWikiサイトに独自ドメインを割り当てる気は今のところない)。
何よりも、Netlifyの方がサーバーレスでFunction指向のWebサービスをクラウドで作るといった、新しい技術トレンド(FaaSFunction as a Service)に最短距離で乗れそうな気がするのだ。
とは言え、静的サイトジェネレータのJekyllGatsbyHugo等とGitHubGitLabNetlifyを組み合わせ、単純な静的ブログサイトからCMS機能を含んだWebサイトを構築する記事や情報は割と沢山あるものの、肝心のTiddlyWikiNetlifyで構築・運用する記事や情報がほとんど無い
いや、正確に言うと、GitLabTiddlyWiki用に作ったリポジトリをNetlifyから参照・連携してNetlify上で公開するだけなら、ほぼ秒で出来る
問題は、NetlifyのStarterアカウント(無料で利用可能なアカウント)で、サイト全体のアクセス制御をTiddlyWikiで実現する方法が、全然分からないのだ。

図の通り、Proアカウント(月額19米ドル)であれば、サイト全体のパスワード制御や、Basic認証も可能なようだ。
そもそも私の英文読解力が低いのが致命的だが、Netlifyでの「Identity」の仕組みが「Identity Level 0」(無料)でどこにどう作用するのかしないのか、良く分からないでいる。
それに、サイト訪問者に対するOAuth2プロバイダ認証は、Starterアカウントでも可能なようだし、Netlify CMSの仕組みを応用すれば実現は可能だとアタリは付けているが、どう調べて良いのか途方に暮れている
正確に言えば、OAuth2プロバイダ認証は静的サイトジェネレータ+Netlify CMSで実現している機能のハズなので、その辺から調査・検証すれば良いとは思うのだが、全く未知な静的サイトジェネレータとGitLab(もしくはGitHub)連携+Netlify CMS機能の学習からやるとすると、学習コストが高すぎて骨が折れる前に、軽く心が折れそうだ。

おわりに

私は元々Web系システムが本職ではないし、Web系の技術領域は広いから前提となる知識が幅広く必要で、数年前にAWSLambdaサーバーレスでどうのという話も、聞いた当時はピンと来ないレベルだった。
そもそも、TiddlyWikiを運用するのにサーバーレスのFaaSは、オーバースペック以外の何物でもないが、スケベ根性で「あわよくばついでに学んでしまえ!」と目論んだのが間違いの元だったのかも知れない。
それにTiddlyWiki自体はザックリ15年ほど前から存在しており、日本でも2007年か2008年頃には熱心なユーザがいて、当時2chなんかで情報交換もされていた記憶がある。HTML1ファイルの構成とシンプルだし、ブラウザ(当時はFirefox)があればどこでも使えるので、USBメモリで気軽に持ち運ぶことも可能だった。
日本では「オフラインで使うメモ帳」という認識のまま、ブラウザにアドインを入れれば手軽に使えるといった程度で、ブラウザのバージョンアップによって手軽に運用が出来なくなると、そのまま廃れてしまった感がある
ところが難はあったものの、TiddlySpotやその他、ネット上に置いて便利に運用する使われ方もして来たハズなのに、なんでこんなにも情報が無いのだろう?現在進行形でTiddlyWikiについて記事を書いている日本人のサイトは、私のこのサイトぐらいしかないのか?
また、仮にNetlifyでお手軽にTiddlyWikiを運用するにしても、個人が運用するメモ帳だから、アクセス制御をしたいというニーズは普通にあると思うのだが、ネットに無防備に公開して気にならないのだろうか?(GitLabではプライベートリポジトリとしてサイトのアクセス制御が可能だし、最近GitHubでも無料でプライベートリポジトリが作成出来るようになったようだが)
TiddlyWikiが無いと仕事に支障が出るほど超絶便利なだけに、全てが解せないことばかりだ

最後に蛇足ながら、TiddlySpotと私のTiddlyWikiがネット上から飛んでしまった時(てっきり消滅したと思ったが)、真っ先にInternet Archive: Wayback Machineサルベージを試みた
ところが、最初からTiddlySpotでBasic認証を掛けて運用していたせいで(?)一度も私のTiddlyWikiはキャプチャされることなく、アーカイブされることは無かったようだ
Googleのネットキャッシュも同様の理由だと思うが、すぐに調べてみてもGoogleにキャッシュされていなかった。
普通に考えれば、Googleにキャッシュされないサイトが、Internet Archive: Wayback Machineにキャプチャされてアーカイブされるワケがねーよな。ε- (´ー`*)フッ

 

この記事が気に入ったら
いいね ! をお願いします


ITで何かお手伝いできることはありませんか?

CTA-IMAGE

本サイトでは、外部サービスと連携して「ITの困った」を解決します!

ソフトウェアカテゴリの最新記事