mirror of
https://github.com/acmesh-official/acme.sh.git
synced 2025-05-07 16:34:11 +00:00
Provides basic weechat deploy hook
This hook providers basic weechat deploy support. The environment variables WEECHAT_PEM and WEECHAT_HOME are respected, and otherwise default to ~/.weechat/ssl/relay.pem and ~/.weechat/ respectively unless set. Upon a successful deployment, this script then attempts to issue a '/relay sslcertkey' to weechat using the fifo plugin when configured and available. See script headers for more information.
This commit is contained in:
parent
95a6c28d98
commit
d4868f97e5
61
deploy/weechat.sh
Executable file
61
deploy/weechat.sh
Executable file
@ -0,0 +1,61 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Simple script to deploy certificates for Weechat relay servers
|
||||
#
|
||||
# Configuration:
|
||||
# export WEECHAT_PEM (or set in access.conf) to the PEM file you have your weechat client
|
||||
# set to load.
|
||||
# Optionally configure WEECHAT_HOME if you would like to attempt to reload the certificate
|
||||
# on a successful deploy.
|
||||
# This deploy script attempts to guess sane defaults in the absence of either
|
||||
|
||||
# If you would like this script to automatically reload this certificate, you must ensure
|
||||
# weechat is configured with plugins.var.fifo.fifo = on
|
||||
|
||||
# Usage Example: acme.sh --renew --deploy --deploy-hook weechat -d weechat.example.com --force
|
||||
|
||||
#returns 0 means success, otherwise error.
|
||||
|
||||
######## Public functions #####################
|
||||
|
||||
#domain keyfile certfile cafile fullchain
|
||||
weechat_deploy() {
|
||||
_cdomain="$1"
|
||||
_ckey="$2"
|
||||
_ccert="$3"
|
||||
_cca="$4"
|
||||
_cfullchain="$5"
|
||||
|
||||
_debug _cdomain "$_cdomain"
|
||||
_debug _ckey "$_ckey"
|
||||
_debug _ccert "$_ccert"
|
||||
_debug _cca "$_cca"
|
||||
_debug _cfullchain "$_cfullchain"
|
||||
|
||||
_info "Deploying $_cdomain to weechat"
|
||||
if [ -z "$WEECHAT_HOME" ]; then
|
||||
_info "WEECHAT_HOME not set, defaulting to ${HOME}/.weechat"
|
||||
WEECHAT_HOME="${HOME}/.weechat"
|
||||
fi
|
||||
if [ -z "$WEECHAT_PEM" ]; then
|
||||
_info "WEECHAT_PEM not set, defaulting to ${HOME}/.weechat/ssl/relay.pem"
|
||||
WEECHAT_PEM="${HOME}/.weechat/ssl/relay.pem"
|
||||
fi
|
||||
if [ -w $WEECHAT_PEM ]; then
|
||||
_info "$WEECHAT_PEM exists and is writable, backing up and overwriting"
|
||||
cp $WEECHAT_PEM $WEECHAT_PEM.bak
|
||||
cat $_ckey $_cfullchain > $WEECHAT_PEM
|
||||
_info "Deployed $_cdomain to weechat"
|
||||
_debug "Attempting to issue /relay sslcertky to weechat via fifo"
|
||||
for fifo in $WEECHAT_HOME/weechat_fifo_*
|
||||
do
|
||||
_info "Issuing reload to weechat via $fifo"
|
||||
printf '%b' '*/relay sslcertkey\n' > "$fifo"
|
||||
done
|
||||
exit 0
|
||||
else
|
||||
_err "$WEECHAT_PEM does not exist or is not writable. If this is a first run \
|
||||
please issue \'touch $WEECHAT_PEM\' and retry."
|
||||
exit 1
|
||||
fi
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user