最近、市内で初めて開催されるオフライン大会がありますが、会場でのネットワーク接続が不確定なため、予備の弾薬庫を用意してパフォーマンスを保証したいと考えています。しかし、私の手元にあるすべての情報は、Yuque の暗号化されたナレッジベースから取得されています。以前、友達の投稿で一括エクスポートできる方法を見つけましたが、Google で長い間検索しても見つかりませんでした。Github で素晴らしいプロジェクトを見つけました。公開パスワードでアクセスできるナレッジベースを一括ダウンロードし、Markdown 形式で保存することができます。以下に使用方法を示します。
リポジトリ:gxr404/yuque-dl
0x01 環境の準備#
Node.js 18.4 以降
この記事では、Windows プラットフォームを前提に説明します。プリビルドされたインストーラーを使用して直接インストールしてください。
0x02 プログラムの使用#
インストールコマンド
npm i -g yuque-dl
使用コマンド
$ yuque-dl --help
Usage:
$ yuque-dl <url>
Commands:
<url> YuqueのナレッジベースのURL
server <serverPath> Webサーバーを起動する
For more info, run any command with the `--help` flag:
$ yuque-dl --help
$ yuque-dl server --help
Options:
-d, --dist-dir <dir> ダウンロード先のディレクトリ eg: -d download (default: download)
-i, --ignore-img 画像をダウンロードしない (default: false)
-k, --key <key> Yuqueのcookieキー、デフォルトは "_yuque_session"、一部の企業版ではキーが異なる場合があります
-t, --token <token> Yuqueのcookieキーに対応する値
--toc ドキュメントのTOCディレクトリを出力するかどうか (default: false)
-h, --help このメッセージを表示する
-v, --version バージョン番号を表示する
0x03 ダウンロードの開始#
プライベートナレッジベース#
他の人が共有したプライベートナレッジベースのリンクを使用する場合、ダウンロードするには
-t
オプションでトークンを追加する必要があります。yuque-dl "https://www.yuque.com/yuque/thyzgp" -t "abcd..."
コンソールに移動
=>Applicationタブを選択
=>Cookiesの下のStorageをクリックしてYuqueのドメインを見つける
=>_yuque_sessionを選択してそのValueをコピーする
企業のプライベートサービス#
経験がないので、公式ドキュメントをポストします。
企業サービスは独自のドメイン(黄色い Yuque のロゴ)を持っており、
yuque.com
で終わらない場合があります。例:https://yuque.antfin.com/r/zone
この場合、トークンのキーは一意ではなく、必ずしも
_yuque_session
ではないため、ユーザーは-k
オプションでトークンのキーを指定し、-t
オプションでトークンの値を指定する必要があります。トークンの具体的なキーは、ユーザー自身が
ブラウザのDevtools-> Application -> Cookies
で見つけるしかありません🤔
公開パスワードでアクセスできるナレッジベース#
⚠️ 公開パスワードでアクセスできるナレッジベースには 2 つのケースがあります。
-
Yuque にログインしている場合、パスワードが必要なナレッジベースにアクセスするには
_yuque_session
という cookie を使用します。yuque-dl "url" -t "_yuque_sessionの値"
コンソールに移動
=>Applicationタブを選択
=>Cookiesの下のStorageをクリックしてYuqueのドメインを見つける
=>_yuque_sessionを選択してそのValueをコピーする
-
Yuque にログインしていない場合、パスワードが必要なナレッジベースにアクセスするには
verified_books
/verified_docs
という cookie を使用します。yuque-dl "url" -k "verified_books" -t "verified_booksの値"
コンソールに移動
=>Applicationタブを選択
=>Cookiesの下のStorageをクリックしてYuqueのドメインを見つける
=>verified_books
/verified_docsを選択してそのValueをコピーする
ダウンロードが完了すると、以下のようになります。ダウンロードできなかったものは、ブラウザでアクセスできるかどうか確認してください。
更新が必要な場合は、ダウンロードフォルダの内容を変更せずにダウンロードコマンドを再実行してください。
0x04 ローカルでのクイックプレビュー#
yuque-dl には、vitepressを使用してダウンロードしたコンテンツをプレビューするためのWebサーバーを素早く起動する
機能があります。
yuque-dl server ./download/知識ベース/
➜ Local: http://localhost:5173/
➜ Network: use --host to expose
0x05 追記#
各大星球整理出来たナレッジベースは、星球主自身の知識の結晶であり、いくつかは歴史の文庫を統計したものであり、いくつかは自分で作成したものです。いずれにせよ、エクスポートした結果は自分自身で使用するために残しておくだけで、他の人と共有することは実際には非倫理的です。
いくつかの公開されたナレッジベースを共有します:
この記事は Mix Space からの同期更新です
元のリンクは https://de3ay.com/posts/sec/yuque-encrypted-download