5 releases
0.2.3 | Aug 29, 2022 |
---|---|
0.2.2 | Aug 23, 2022 |
0.2.1 | Aug 19, 2022 |
0.2.0 | Aug 18, 2022 |
0.1.0 | Aug 15, 2022 |
#2306 in Cryptography
12KB
180 lines
gluon-mesh-vpn-key-translate
Translates fastd to WireGuard keys.
usage
public key translation
gluon-mesh-vpn-key-translate 12760ee9088d7b737a11c21c587ab73b64be3c2834eaef6185ec66c3c05c1d78
translates the provided fastd public key to it's WireGuard pendant:
Gluon+LYDa2ib6EDnWlRELwrst1s1Ut7WKNR5LMI83c=
Reading it from stdin
does work as well and provides the same output.
echo 12760ee9088d7b737a11c21c587ab73b64be3c2834eaef6185ec66c3c05c1d78 | gluon-mesh-vpn-key-translate
As gluon-mesh-vpn-key-translate
is primarily expected to run on Freifunk servers,
that translate public keys of routers it is therefore defaulting to public key translation.
private key translation
In order to translate private keys, provide the --private
flag or its alias --secret
.
Careful: calling gluon-mesh-vpn-key-translate
with a private key as argument is not supported in order to keep privates out of your shell history. Use stdin
instead[^1]:
cat fastd_secret | gluon-mesh-vpn-key-translate --private
aMLMgPlQVLbt1wuzVRQq3FTZAsaX/hztyJjfcbeeT3Y=
--if
and --of
Instead of using stdin
and stdout
, input- and and output-files can be specified using the options --if
and --of
that each take a path of a file as argument. To translate a public key[^2]:
gluon-mesh-vpn-key-translate --if fastd_public
Gluon+LYDa2ib6EDnWlRELwrst1s1Ut7WKNR5LMI83c=
Note: It is recommended for private keys to be only read- and writable by the owner.
It is recommended to set appropriate umask
beforehand, whenever secret keys are stored.
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
Furthermore
--version
emits the current version[^3]
--help
provides a short usage info.
[^1]: fastd_secret
is a file that contains the exemplary private key 68c2cc80f95054b6edd70bb355142adc54d902c697fe1cedc898df71b79e4f76
.
[^2]: fastd_public
is a file that either contains the raw hex string or the fastd-config-form instead: key "12760ee9088d7b737a11c21c587ab73b64be3c2834eaef6185ec66c3c05c1d78";
.
[^3]: This project follows SemVer and won't introduce backwards incompatible changes without incrementation of the major version.
Dependencies
~9–19MB
~274K SLoC