语雀知识库批量导出（支持私有知识库&公开密码访问的知识库）

最近有个线下赛，由于是市里第一次举办所以不确定赛场出不出网，想着备点弹药库保证一下发挥。但是我手上所有的资料都来自语雀的加密知识库，之前在朋友圈看到有人可以批量导出，Google 找了好久的方法都没什么发现，在 Github 找到了一个比较不错的项目，可以通过使用 Cookie 的方法批量下载公开密码访问的知识库，并保存为 Markdown，下列附使用教程。
repo：gxr404/yuque-dl

0x01 环境准备

Node.js 18.4 or later

本文基于 Windows 平台下进行演示，直接使用预购建安装程序安装即可。

0x02 程序使用

安装命令

Copy
npm i -g yuque-dl

使用命令

Copy
$ yuque-dl --help

Usage:
$ yuque-dl <url>

Commands:
<url> 语雀知识库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 下载的目录 eg: -d download (default: download)
-i, --ignore-img 忽略图片不下载 (default: false)
-k, --key <key> 语雀的cookie key， 默认是 "_yuque_session"， 在某些企业版本中 key 不一样
-t, --token <token> 语雀的cookie key 对应的值
--toc 是否输出文档toc目录 (default: false)
-h, --help Display this message
-v, --version Display version number

0x03 开始下载

私有知识库

通过别人私有知识库 分享的链接，需使用-t添加 token 才能下载

Copy
yuque-dl "https://www.yuque.com/yuque/thyzgp" -t "abcd..."

进入Console（控制台）=>选中Application标签卡=>点Storage下的Cookies找到语雀根域=>选中_yuque_session并复制其Value

企业私有服务

没遇到过，po 一下官方文档

企业服务有自己的域名 (黄色语雀 logo)，非yuque.com结尾，如https://yuque.antfin.com/r/zone

这种情况 token 的 key 不唯一，不一定是为_yuque_session 需用户使用 -k 指定 token 的 key,-t 指定 token 的值。

至于key具体是什么只能靠用户自己在 浏览器Devtools-> Application -> Cookies 里找了🤔

公开密码访问的知识库

⚠️ 公开密码访问的知识库两种情况:

已经登录语雀，访问需要密码的知识库 输入密码后使用_yuque_session这个 cookie

Copy
yuque-dl "url" -t "_yuque_session的值"

进入Console（控制台）=>选中Application标签卡=>点Storage下的Cookies找到语雀根域=>选中_yuque_session并复制其Value

未登录语雀，访问需要密码的知识库 输入密码后需要使用verified_books/verified_docs这个 cookie

Copy
yuque-dl "url" -k "verified_books" -t "verified_books的值"

进入Console（控制台）=>选中Application标签卡=>点Storage下的Cookies找到语雀根域=>选中verified_books/verified_docs并复制其Value

下载完成后是这个样子的，有些无法下载成功的可以去浏览器里看能否可以访问

需要更新的时候，保持下载的 download 文件夹内容不变重新跑一下 download 命令即可

0x04 本地快速预览

yuque-dl 提供了一个使用vitepress快速启动一个web服务提供可预览下载的内容的功能

Copy
yuque-dl server ./download/知识库/

➜ Local: http://localhost:5173/
➜ Network: use --host to expose

0x05 附言

各大星球整理出来的知识库都是星球主自己知识的结晶，有的要么就是统计历史的文库，要么就是自己打下来的 day，无论如何，导出的结果留着自己用就行了，分享出去其实挺不道德的。。

分享一些我搜寻出来的公开知识库：

Qingyi20210715、Vulnerability20210715 等

PeiQi0/PeiQi-WIKI-Book

wgpsec/wiki

timlzh/webArmory

Threekiii/Vulnerability-Wiki

SexyBeast233/SecBooks

teamssix/twiki

javaweb-sec/javaweb-sec

BaizeSec/bylibrary

ybdt/exp-hub

helloexp/0day

此文由 Mix Space 同步更新至 xLog
原始链接为 https://de3ay.com/posts/sec/yuque-encrypted-download