メッセージをエクスポートするにはsignal-desktop
?
メールをバックアップしたい。
可能ですか?
ベストアンサー1
はい、可能です。
ファイルに保存するだけです<yourFilename>
。
sigBase="${HOME}/.config/Signal/";
key=$( /usr/bin/jq -r '."key"' ${sigBase}config.json );
db="${HOME}/.config/Signal/sql/db.sqlite";
clearTextMsgs="${sigBase}clearTextMsgs.csv";
/usr/bin/sqlcipher -list -noheader "$db" "PRAGMA key = \"x'"$key"'\";select json from messages;" > "$clearTextMsgs";
そしてそれを呼び出すことによってbash <yourFilename>
。または実行可能にしてchmod 700 <yourFilename>
直接呼び出します。./<yourFilename>
このスクリプトは、signal-desktopのデータベースキーを使用してsqlcipher
すべてのjq
メッセージを開き、復号化し、signal-desktopフォルダJSON
に抽出します。clearTextMsgs.csv
~/.config/Signal
jq
キーを抽出するためにJSONをフィルタリングすることに加えて、~/.config/Signal/config.json
重要な部分はここで発生します。
sqlcipher -list -noheader <DB> <SQL>
これには、定義と実際のSQL文()が<SQL>
含まれています。PRAGMA key
SELECT json FROM messages;
その後、人々はそれを使用してjq
メッセージバックアップのすべてのキー/値にアクセスできます。
sqlcipher
これを行うには、次のものをインストールする必要がありますjq
。
sudo apt install sqlcipher jq
メモ:
all
これがすべてのメッセージを抽出している間、signal-desktopの「」が「」の意味を持つように指定する必要がありますall messages actually loaded
。したがって、各メッセージを抽出するには、アクティブな連絡先のスライダを上に移動する必要があります。その後、Signalデスクトップは以前に利用できなかったメッセージをロードします(満足するまでバブリンスを繰り返します)。読み込むメッセージをできるだけ早く読み込みます。これはすぐに退屈することができます。すべての連絡先履歴に対してこれを行うことを忘れないでください。
しかし、メッセージ履歴をバックアップすることは技術的に可能ですが、実際には手動操作です。この問題に対する解決策は、クローン操作を使用して1日に1回、すべての最近のメッセージをバックアップすることです。これにより、重複した内容がここに含まれ、シグナルデスクトップを再起動するとメッセージが失われる可能性があります。
とにかく、プログラムで時々(それほど遠くはありませんが、読む:数ヶ月程度)、レコードを検索したい場合は、このアプローチは正しく機能します。