#密钥 #公钥 #WireGuard #翻译 #转换 #stdin #fastd

app gluon-mesh-vpn-key-translate

将 fastd 转换为 WireGuard 密钥

5 个版本

0.2.3 2022 年 8 月 29 日
0.2.2 2022 年 8 月 23 日
0.2.1 2022 年 8 月 19 日
0.2.0 2022 年 8 月 18 日
0.1.0 2022 年 8 月 15 日

#1211 in 密码学

BSD-2-Clause

12KB
180

gluon-mesh-vpn-key-translate

将 fastd 转换为 WireGuard 密钥。

用法

公钥转换

gluon-mesh-vpn-key-translate 12760ee9088d7b737a11c21c587ab73b64be3c2834eaef6185ec66c3c05c1d78

将提供的 fastd 公钥转换为对应的 WireGuard 密钥

Gluon+LYDa2ib6EDnWlRELwrst1s1Ut7WKNR5LMI83c=

stdin 读取同样有效,并提供相同的输出。

echo 12760ee9088d7b737a11c21c587ab73b64be3c2834eaef6185ec66c3c05c1d78 | gluon-mesh-vpn-key-translate

由于 gluon-mesh-vpn-key-translate 主要预期在 Freifunk 服务器上运行,该服务器将转换路由器的公钥,因此默认为公钥转换。

私钥转换

为了转换私钥,请提供 --private 标志或其别名 --secret

小心:不支持使用私钥作为 gluon-mesh-vpn-key-translate 的参数调用,以防止将私钥存储在 shell 历史记录中。请改用 stdin

cat fastd_secret | gluon-mesh-vpn-key-translate --private
aMLMgPlQVLbt1wuzVRQq3FTZAsaX/hztyJjfcbeeT3Y=

--if--of

除了使用 stdinstdout 之外,可以使用选项 --if--of 指定输入和输出文件,每个选项都接受文件路径作为参数。要转换公钥[^2]

gluon-mesh-vpn-key-translate --if fastd_public
Gluon+LYDa2ib6EDnWlRELwrst1s1Ut7WKNR5LMI83c=

注意:建议私钥只能由所有者读取和写入。建议在存储密钥之前设置适当的 umask

mkdir -p generated_keys
(umask 0077; gluon-mesh-vpn-key-translate --private --if fastd_secret --of generated_keys/wg_secret.key)
ls -l generated_keys/
total 4
-rw------- 1 user user 45 Jan 01 00:00 wg_secret.key

此外

--version 输出当前版本[^3]

--help 提供简短的使用信息。

[^1]: fastd_secret 是一个包含示例私钥 68c2cc80f95054b6edd70bb355142adc54d902c697fe1cedc898df71b79e4f76 的文件。

[^2]: fastd_public 是一个包含原始十六进制字符串或 fastd-config-form 的文件: key "12760ee9088d7b737a11c21c587ab73b64be3c2834eaef6185ec66c3c05c1d78";

[^3]: 此项目遵循 SemVer,并且不会在主版本号增加之前引入不兼容的更改。

依赖项

~7-18MB
~249K SLoC