2023/04/22(土)[Tampermonkey] fetch responseの割り込み取得
[Tampermonkey] fetch responseの横取り取得
Webページがfetchで動的に取得したJSONデータを観測する手段は無いかなと思って見つけた方法。
ソースコード
// ==UserScript== // @name Test intercept fetch // @description Test intercept fetch // @namespace Test // @version 1.0 // @match https://example.com/* // @run-at document-start // @grant unsafeWindow // ==/UserScript== const proc_fetch_resp = (data, url) => { console.log("proc_fetch_resp:" + url, data); } //===================================================== // Intercept fetch //===================================================== const origFetch = unsafeWindow.fetch; //元のfetchを差し替え unsafeWindow.fetch = async (...args) => { console.log("fetch called with args:", args); const response = await origFetch(...args); //レスポンスをクローンして使う response .clone() .json() .then(body => { proc_fetch_resp(body, response.url); }) .catch(err => console.error(err)) ; //元のレスポンスを返す return response; }
- @match は対象サイトのURLを指定
- @run-at は割り込みたいfetchよりに先にfetch差し替えができるように指定
- unsafeWindow を使わないとfetch差し替えができない
- サンプルなのでレスポンスをJSONとして読み取ってconsole.logに出すだけ。
参考URL
2021/01/09(土)Synology NAS 取り外したHDDへのアクセス(USB経由)
Synology NAS 取り外したHDDへのアクセス(USB経由)
Synology DS216jのHDDを入れ替えたときに、USB経由で旧HDDデータへのアクセスを試してみたのでメモ。
前提
- RAIDタイプ: Basic (データ保護無し)
- RAID無しの単一HDDとしての運用。
たぶんRAID1でも同じ事ができます。SHR (Synology Hybrid RAID) で同じ事ができるかは不明……。
HDD交換
今回は1台のみ新しいHDDと交換しました。Basicで運用している場合も、DSM (OS) はミラーリングされているようなので、片方だけの交換ならDSMの再インストールは不要です。
USB接続
旧HDDを外付けHDDケースに入れて、USBでNASに接続します。HDD自体は認識され、パーティションの存在も確認出来ますが、このままだとデータにはアクセス出来ません。
外付けHDDの状態確認
- 作業前にroot権限を取っておきます。
sudo -i
- 接続したHDDの確認
fdisk -l Disk /dev/sdq: 7.3 TiB, 8001563222016 bytes, 15628053168 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: gpt Disk identifier: **** Device Start End Sectors Size Type /dev/sdq1 2048 4982527 4980480 2.4G Linux RAID /dev/sdq2 4982528 9176831 4194304 2G Linux RAID /dev/sdq3 9437184 15627848351 15618411168 7.3T Linux RAID
- /dev/sdq1~3として認識されているようです。データが入っているのは/dev/sdq3ですが、Basicの場合でもRAIDは作られるようで、TypeはLinux RAIDです。
- 認識されていない場合は、partprobeコマンドを実行すれば認識されるかも。
- RAID状態の確認
cat /proc/mdstat Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] md3 : active raid1 sda3[0] 9761614848 blocks super 1.2 [1/1] [U] md2 : active raid1 sdb3[0] 7809204544 blocks super 1.2 [1/1] [U] md1 : active raid1 sda2[0] sdb2[1] 2097088 blocks [2/2] [UU] md0 : active raid1 sda1[0] sdb1[1] 2490176 blocks [2/2] [UU]
- md0~md3が作られています。BasicはHDDが1個だけのRAID1扱い。
- あとでmd9を作るので使われていないことを確認。
外付けHDDのマウント
まずRAIDを認識させてから、RAIDボリュームをマウントする必要があります。
- 作業前にroot権限を取っておきます。
sudo -i
- RAIDを編成。
mdadm -A -R /dev/md9 /dev/sdq3
- マウント。場所はどこでも良いですが、今回は/volume1/from_USBにマウントします。
mkdir /volume1/from_USB mount /dev/md9 /volume1/from_USB
- これで、/volume1/from_USB 下に外付けHDDのデータが見えるので、コピーなどが可能です。
# backupフォルダを/volume1 下にコピーする例 cp -a /volume1/from_USB/backup /volume1/
- アンマウント
umount /volume1/from_USB mdadm -S /dev/md9
暗号化フォルダ(ディレクトリ)のマウント
共有フォルダを暗号化していた場合は、中を見るには暗号化フォルダのマウントが必要です。(当然パスワードは必要。)暗号化されたフォルダは@で囲まれた名前になっています。
- 例
- 暗号化されたフォルダ名: /volume1/from_USB/@backup_e@
- マウント先フォルダ名: /volume1/from_USB/backup_e
- 作業前にroot権限を取っておきます。
sudo -i
- 暗号化フォルダをマウント。
mkdir /volume1/from_USB/backup_e mount.ecryptfs /volume1/from_USB/@backup_e@ /volume1/from_USB/backup_e -o 'key=passphrase:passphrase_passwd=パスワード,ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_passthrough=n,no_sig_cache,ecryptfs_enable_filename_crypto=y'
- これで、/volume1/from_USB/backup_e 下に暗号化フォルダのデータが見えるようになります。
- アンマウント
umount /volume1/from_USB/backup_e
なお、まるごとコピーしたいだけなら、@backup_e@を/volume1の下にそのままコピーすれば、DSMのコントロールパネルからマウントできるようです。
おまけ:取り外したHDDのWindowsでの再利用
- Windows PCに接続
- 「ディスクの管理」を開く
- 3つのパーティション(と隙間)が確認出来ます。
- パーティションを右クリック→ボリュームの削除で、全てのパーティションを削除。
- 右クリック→新しいシンプルボリュームで、新しいパーティションを作成。NTFSなどでフォーマットすればWindowsで使用出来るようになります。
2017/11/25(土)Stellaris 独善的な奉仕機械でプレイ
Stellaris 独善的な奉仕機械でプレイ
今まで何度かプレイしてますが、いろんな種族を試してみたいので今度は独善的な奉仕機械でやってみます。
開始
独善的な奉仕機械の特徴は有機生命体POPを有機生命体の聖域に住まわせて、有機生命体POPの割合に応じてロボットPOPの生産力にボーナスがかかること。なので、初期配置にも有機生命体POPが2います。
有機生命体POPはリーダーになったり生産活動したりしないので、デメリットが問題にならないマイナス特性「愚鈍(リーダーの経験値入手-25%)」、「貧弱(鉱物-5%)」を付けて、プラス特性は「順応性(居住性+10%)」、「社会的(幸福度+5%)」、「保護論者(消費財コスト-15%)」にしてみました。後から考えると、強制移住を結構使ったので「遊牧的(強制移住コスト-25%)」を入れても良かったかも。
国是は「委任機能(リーダー雇用費用-50%/リーダー雇用上限+4)」を選択。機械知性はリーダー雇用費用+100%の特性があるので、これでも雇用費用は影響力75が必要。不死なので再雇用が不要とは言え序盤が辛そう(>_<)
2017/09/18(月)ECO-Wiki (acronia) 一括ダウンロードデータ
ECO-Wiki (acronia) 一括ダウンロードデータ
ダウンロードURL
ECO-Wiki (acronia) 一括ダウンロードデータ を公開しました。以下のOneDriveフォルダからダウンロードできます。
配布物の不備などに気づかれた場合は、本記事のコメント欄などで連絡してください。
本データ利用時の注意
ミラーサイトなどを公開する場合は以下の点に注意してください。
- 画像について、http://eco.acronia.net/img/ へのアクセスが発生しないようにしてください。
- ダウンロードデータは、http://eco.acronia.net/img/ を http://0.0.0.0/img/ に置換しているので、そのまま使っただけではアクセスは発生しないようになっています。
- できればリードオンリーとしてください。(必須ではありません。)
- ECO-Wiki (acronia) がリードオンリーとなった場合はこの限りではありません。
- できれば重複コンテンツ扱いされないように検索避けを行ってください。(必須ではありません。)
- ECO-Wiki (acronia) が消滅した場合はこの限りではありません。
- ミラーサイトを公開したことはECO-Wiki (acronia)のコメント欄などを利用して告知して構いません。
配布ファイルについて
- ecowiki_data_yyyymmdd.zip
- PukiWikiのwikiディレクトリとbackupディレクトリが含まれています。
- PukiWiki運用者向け。
- ecowiki_html_yyyymmdd.zip
- HTML化したWikiデータが含まれています。
- Wiki編集が不要な人向け。
- オフラインでの閲覧も可能。
- img_yyyymdd.zip
- 画像ファイルが含まれています。
- ファイル名がUTF-8のため、アーカイバによっては文字化けします。展開するときはUTF-8対応のアーカイバを使用してください。(7zipなど)
- 特にWindows環境で問題になります。
PukiWikiにECO-Wiki (acronia)のデータを組み込む手順
- PukiWikiは既に稼働しているものとします。
- wikiディレクトリを直接編集するので、実施後には ?plugin=links を実行することを推奨します。
- 画像パスを http://eco.acronia.net/img/ から http://0.0.0.0/img/ に置き換えているため、画像を閲覧できるようにするには置換が必要です。
- ecowiki_data_yyyymmdd.zip を展開する。
- wikiディレクトリをPukiWikiの同名ディレクトリにコピーする。
- backupディレクトリをPukiWikiの同名ディレクトリにコピーする。(backupが不要なら省略可能)
- img_yyyymdd.zipを展開し、ブラウザからアクセス可能な場所に画像を格納。
- サーバー上でのファイル名文字コードはUTF-8にする必要があります。
- 画像の格納場所に合わせて、wiki/*.txt と backup/*.gz 内の http://0.0.0.0/img/ を有効なURLに置換する。
- 置換用のスクリプト pukiwiki_replaceall.php を合わせて配布しています。
- 参考:ディレクトリ構造
<pukiwiki>/ index.php pukiwiki.ini.php backup/ *.gz <--ecowiki_data_yyyymmdd.zip内のファイルをコピー cache/ counter/ diff/ image/ lib/ plugin/ skin/ wiki/ *.txt <--ecowiki_data_yyyymmdd.zip内のファイルをコピー
pukiwiki_replaceall.php の使い方
- pukiwikiのディレクトリに pukiwiki_replaceall.php を格納。(index.phpと同じ階層。)
- pukiwiki_replaceall.phpにブラウザでアクセス。
- 置換後文字列の欄に http://0.0.0.0/img/ の代わりとなるURLを入力。
- 送信ボタンをクリック。
- 置換後のファイルが、wiki_replaceディレクトリとbackup_replaceディレクトリに格納される。
- 内容を確認したら、ディレクトリをリネーム。
- リネーム例
wiki -> wiki_original (または削除) backup -> backup_original (または削除) wiki_replace -> wiki backup_replace -> backup
- リネーム例
ECO-Wiki (acronia)のHTMLデータ閲覧手順
- ecowiki_html_yyyymmdd.zip を展開する。
- img_yyyymdd.zipを展開し、ディレクトリ名をimgにしてHTMLと同じ階層に格納。
- HTMLをブラウザなどで閲覧する。
- 参考:ディレクトリ構造
<ecowiki_html>/ img/ <--img_yyyymdd.zipを展開 ecolist/ ecossup/ gamedb_info/ gamedb_wiki/ test/ wiki/ skin/ logo.png pukiwiki.css _list.html *.html fold.js