Scrapboxの裏技
実はAPIからPOSTできる
Pageの作成
Pageのimport機能を使う
共同編集しているときに使うとやばいことになりそう
未体験ゾーンだな
/programming-notes/Scrapbox Import APIの実験
Projectの作成
Themeの変更
Slack通知の追加
リンクの一括置換
ProjectのExport
Scrapboxのimport API
UserScriptからprojectを削除できることがわかってしまった
ただおそらくNotaの意図しない挙動だと思う。
限りなくグレーに近いバグ技
serverに相当負荷がかかるんじゃないか
連続して叩かれることを想定していないAPIを連続して叩くことができてしまう
上限があるみたい
短時間に何度もJSONのimportをすると拒否される
拒否されるとページ上でのファイルアップロードが一定時間できなくなる
/programming-notes/ScrapboxのPOST系APIの上限
最悪垢BANもありそう
多分公開projectに方法を書き出しちゃうとまずい
ネットワークに詳しい人ならわかる方法だけど
書き出すことでUserScriptよくわからない人でも容易に実行できてしまう
Scrapboxのproject削除機能にreCAPTCHAが実装されたら書くかもしれない
APIの見つけ方
1. developer toolを立ち上げて、Networkタブを開く
2. APIを知りたい機能を実行する
3. Networkに通信内容が表示されるので、end pointや要求ヘッダーなどを調べる
一部の通信はAPIではなくweb socketで行われている
そのときはwss://scrapbox.io/socket.io/?EIO=4&transport=websocketの応答内容を調べる
ScrapboxのWebSocketを模倣
CSPを突破するnode-bitmap-proxyの原理を説明し
別名登録記法
.icon付きタイトル