Note: Active development has moved to https://code.sitosis.com/rudism/dotplan-cli
A shell script to interact with dotplan providers.
Install these using your distribution's package manager, or compile from source if your distribution does not provide recent versions.
dotplan email@example.com
will print the dotplan foremail@example.com
as plain textdotplan email@example.com PUBLIC_MINISIGN_KEY
will verify the signed dotplan foremail@example.com
using the provided publicminisign
key before printing it
dotplan-cli
can be used to register an account and publish dotplans on Dotplan Online or other providers running compatible implementations.
Configure your email and password in ~/.dotplan.conf.json
. Make sure this file is read-protected after you create it (chmod 0600 ~/.dotplan.conf.json
):
{
"auth": {
"email": "user@example.com",
"password": "my-password-123"
}
}
dotplan register
will prompt for an email address and password and attempt to register it for you, optionally saving it to your~/.dotplan.conf.json
filedotplan publish
will sign (ifminisign
is available) and publish your~/.plan
file to your dotplan providerdotplan edit
will open your~/.plan
file in an editor, then sign (ifminisign
is available) and publish it to your dotplan provider after you save and exit
If you set auth.provider
in your ~/.dotplan.conf.json
file, the register
, publish
, and edit
commands will use that instead of discovering via SRV
records. If you set relayProvider
, all dotplans will be fetched from there instead of discovering via SRV
records.
{
"auth": {
"email": "user@example.com",
"password": "my-password-123",
"provider": "https://dotplan.online"
},
"relayProvider": "https://dotplan.online"
}
Several other aspects can be configured via environment variables:
DOTPLAN_CONFIG_PATH
: the config file to read and write ($HOME/.dotplan.conf.json
)DOTPLAN_MINISIGN_PRIVATE_KEY
the location of your private key ($HOME/.minisign/minisign.key
)DOTPLAN_PLAN_PATH
the location of your plan for thepublish
andedit
commands ($HOME/.plan
)DOTPLAN_CURL_PATH
to specify the location ofcurl
DOTPLAN_JQ_PATH
to specify the location ofjq
DOTPLAN_DRILL_PATH
to specify the location ofdrill
ordig
DOTPLAN_MINISIGN_PATH
to specify the location ofminisign