Signal-Desktop:如何导出消息?

Gen.Stack

如何signal-desktop导出邮件?

我想备份我的信件。

有可能吗?

Gen.Stack

是的,有可能。

只需将其保存在文件中<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>

该脚本使用sqlcipherjq信号桌面的数据库密钥来打开,解密和提取所有JSON格式的消息,并将其提取clearTextMsgs.csv信号桌面文件夹内~/.config/Signal

除了通过使用jq(from ~/.config/Signal/config.json过滤JSON进行键提取之外,关键的部分还发生在这里:

sqlcipher -list -noheader <DB> <SQL>

其中<SQL>包含PRAGMA key定义和实际的SQL语句(SELECT json FROM messages;)。

然后可以使用它jq来访问消息备份中的任何键/值。

您必须安装sqlcipherjq为此:

sudo apt install sqlcipher jq

笔记:

尽管这确实提取了所有消息,但我们需要指定all信号桌面中的“ all messages actually loaded具有“ 的含义因此,为了提取每条消息,必须向上滑动活动联系人的滑块,然后信号桌面将加载以前不可用的消息(反复冲洗直到满意为止)。过去,您可能希望加载您的消息。这很快就变得乏味。记住要对所有联系人的历史记录都这样做。

话虽如此,备份您的消息历史记录在技术上是可行的,实际上,这是一项手动工作。解决此问题的方法可能是一项计划工作,可能每天备份一次所有最新消息。然后,这可能包含重复项,并且如果信号桌面已重新启动,则可能会丢失消息。

无论如何,如果要不时以编程方式搜索一次(不太远-阅读:可能要几个月)的历史记录,则此方法效果很好。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Signal在何处存储私人消息,如何从备份中还原?

来自分类Dev

如何使用Signal控制QProgressBar

来自分类Dev

如何使用Signal控制QProgressBar

来自分类Dev

C ++如何识别SIGNAL 11错误位置

来自分类Dev

scipy.signal.step如何计算时间

来自分类Dev

如何在 Ubuntu 中安装 Signal?

来自分类Dev

如何为scipy.signal.lfilter使用Python的scipy.signal.remez输出?

来自分类Dev

如何将python的scipy.signal.remez输出用于scipy.signal.lfilter?

来自分类Dev

Signal-R如何适合IIS激活模型?

来自分类Dev

如何使用One Signal + PHP + Server API发送推送通知?

来自分类Dev

如何使用scipy.signal.spectogram找到正确的幅度

来自分类Dev

如何使用g_signal_connect传递整数

来自分类Dev

如何从Accord.NET中的Signal对象创建ComplexSignal对象?

来自分类Dev

如何实现类似scipy.signal.lfilter的过滤器

来自分类Dev

如何检查 Django Signal 是否有效?

来自分类Dev

为什么Signal-desktop需要4755在chrome-sandbox上使用root:root?

来自分类Dev

打开CPU后,监视器显示错误消息:“ D-sub no signal”

来自分类Dev

我如何才能正确地使用signal.deconvolve来重构信号,并应用到使用signal.convolve与ricker小波卷积的信号上?

来自分类Dev

Calculate Signal noise ratio on Wifi Signal

来自分类Dev

如何将信号阵列合并到单个Signal ReactiveCocoa 4中

来自分类Dev

如何确保pthread_cond_wait()不会丢失任何pthread_cond_signal()?

来自分类Dev

如何在Qt 5中将New-Signal-Slot语法声明为功能参数

来自分类Dev

qt如何传递qshortcut()的QkeySequence通过connect(Signal,Slot)起作用?

来自分类Dev

如何使用Python将scipy.signal.spectrogram反转为音频?

来自分类Dev

如何在scipy.signal中制作一个低通滤波器?

来自分类Dev

如何从gtk-notify-signal处理程序中获取先前的值?

来自分类Dev

qt如何传递qshortcut()的QkeySequence通过connect(Signal,Slot)起作用?

来自分类Dev

如何通过PySide上的另一个线程从QMainWindow类捕获Signal?

来自分类Dev

它是如何工作的?pthread_cond_signal()和pthread_cond_wait()

Related 相关文章

  1. 1

    Signal在何处存储私人消息,如何从备份中还原?

  2. 2

    如何使用Signal控制QProgressBar

  3. 3

    如何使用Signal控制QProgressBar

  4. 4

    C ++如何识别SIGNAL 11错误位置

  5. 5

    scipy.signal.step如何计算时间

  6. 6

    如何在 Ubuntu 中安装 Signal?

  7. 7

    如何为scipy.signal.lfilter使用Python的scipy.signal.remez输出?

  8. 8

    如何将python的scipy.signal.remez输出用于scipy.signal.lfilter?

  9. 9

    Signal-R如何适合IIS激活模型?

  10. 10

    如何使用One Signal + PHP + Server API发送推送通知?

  11. 11

    如何使用scipy.signal.spectogram找到正确的幅度

  12. 12

    如何使用g_signal_connect传递整数

  13. 13

    如何从Accord.NET中的Signal对象创建ComplexSignal对象?

  14. 14

    如何实现类似scipy.signal.lfilter的过滤器

  15. 15

    如何检查 Django Signal 是否有效?

  16. 16

    为什么Signal-desktop需要4755在chrome-sandbox上使用root:root?

  17. 17

    打开CPU后,监视器显示错误消息:“ D-sub no signal”

  18. 18

    我如何才能正确地使用signal.deconvolve来重构信号,并应用到使用signal.convolve与ricker小波卷积的信号上?

  19. 19

    Calculate Signal noise ratio on Wifi Signal

  20. 20

    如何将信号阵列合并到单个Signal ReactiveCocoa 4中

  21. 21

    如何确保pthread_cond_wait()不会丢失任何pthread_cond_signal()?

  22. 22

    如何在Qt 5中将New-Signal-Slot语法声明为功能参数

  23. 23

    qt如何传递qshortcut()的QkeySequence通过connect(Signal,Slot)起作用?

  24. 24

    如何使用Python将scipy.signal.spectrogram反转为音频?

  25. 25

    如何在scipy.signal中制作一个低通滤波器?

  26. 26

    如何从gtk-notify-signal处理程序中获取先前的值?

  27. 27

    qt如何传递qshortcut()的QkeySequence通过connect(Signal,Slot)起作用?

  28. 28

    如何通过PySide上的另一个线程从QMainWindow类捕获Signal?

  29. 29

    它是如何工作的?pthread_cond_signal()和pthread_cond_wait()

热门标签

归档