7 个版本
0.3.1 | 2024 年 7 月 1 日 |
---|---|
0.3.0 | 2024 年 5 月 13 日 |
0.2.0 | 2024 年 5 月 11 日 |
0.1.3 | 2024 年 3 月 23 日 |
#74 在 电子邮件
每月 53 次下载
1MB
707 行
死手开关
这是一个简单的死手开关实现。
自行承担风险。检查代码(友好代码)。
死手开关旨在需要积极操作,否则将自动部署。它们非常适合担心意外死亡、绑架或记忆丧失的情况。如果您在一定时间内没有激活触发器,开关将自动发送所需的消息。
功能
- 简单:易于使用和设置。
- 可靠:用 Rust 实现。
- 最小化:依赖项很少,需要最少的资源。
- 警告:在最终电子邮件之前发送警告电子邮件。
- 附件(可选):与最终电子邮件一起发送附件。
工作原理
如果您想要一个非常简单的解释和项目的动机,请查看我的博客文章 这里。
启动程序后,它将在一个操作系统无关的配置文件位置创建一个 config.toml
文件
- Linux:
$XDG_CONFIG_HOME
,例如$HOME/.config|/home/alice/.config
- macOS:
$HOME/Library/Application Support
,例如/Users/Alice/Library/Application Support
- Windows:
{FOLDERID_RoamingAppData}
,例如C:\Users\Alice\AppData\Roaming
编辑 config.toml
文件以符合您的需求。提供了一些默认值以供参考。
死手开关由两个计时器组成
- 警告定时器:此定时器设置为在
timer_warning
(秒)值,位于config.toml
文件中。如果用户在定时器达到0之前没有签到,它将向用户自己的指定电子邮件地址发送警告邮件,即from
在config.toml
中。 - 死者的定时器:警告定时器到期后,定时器将变为死者的定时器,定时器将设置为
timer_dead_man
(秒)。如果用户在定时器达到0之前没有签到,它将向config.toml
中指定的电子邮件地址发送最终邮件,即to
在config.toml
中。
如果您想在死者的电子邮件中发送附件,您可以在 config.toml
中指定 attachments
选项配置,并提供要附加文件的 绝对路径。
要签到,您只需按 c
键即可,就像在 check-in 中一样。
安装
安装死者的开关有几种方法
-
Crates.io:
cargo install dead-man-switch
。 -
GitHub:
cargo install --git https://github.com/storopoli/dead-man-switch
。 -
从源代码:克隆仓库并运行
cargo install --path .
。 -
使用 Nix:
nix run github:storopoli/dead-man-switch
。 -
使用 Nix Flakes:将其添加到您的
flake.nix
{ # ... inputs.dead-man-switch = { url = "github:storopoli/dead-man-switch"; inputs = { nixpkgs.follows = "nixpkgs"; flake-parts.follows = "flake-parts"; }; }; outputs = inputs @ { self, ... }: { imports = [ { nixpkgs.overlays = [ # ... inputs.dead-man-switch.overlays.default ]; } ]; }; }
然后
dead-man-switch
将作为pkgs.dead-man-switch
可用;
作为库使用
死者的开关可以用作库。这包括配置和发送电子邮件所需的全部函数;以及定时器。
为此,您可以在您的 Cargo.toml
中添加以下内容
[dependencies]
dead-man-switch = { version = "0.2", default-features = false }
请确保您已禁用默认功能,以避免来自 ratatui
和 crossterm
依赖项的任何额外膨胀。
最低支持的 Rust 版本
此软件包使用当前 Debian 稳定版 Rust 作为最低支持的 Rust 版本(MSRV)。请查阅 Debian 的 rustc
软件包 获取更多详细信息。
目前,MSRV 是 1.63.0
。
许可
源代码根据 AGPL v3 许可证 许可。
依赖关系
~15–28MB
~531K SLoC