config_tree_prefix="${HOME}/config/all_new_2018/"
irclogs_dir=/var/www/html/irclogs
+irclogs_pw_dir=/var/www/irclogs_pw
cp "${config_tree_prefix}"/user_scripts/plomlombot_daemon.sh /home/plom/
chown plom:plom /home/plom/plomlombot_daemon.sh
-apt -y install screen python3-venv gpg dirmngr
+apt -y install screen python3-venv gpg dirmngr apache2-utils
su plom -c "gpg --recv-key ${gpg_key}"
# TODO: After this, we could in theory remove dirmngr if we only installed it just now.
su plom -c "cd && git clone /var/public_repos/plomlombot-irc"
service plomlombot start
mkdir -p "${irclogs_dir}"
chown -R plom:plom "${irclogs_dir}"
+mkdir -p "${irclogs_pw_dir}"
+chown -R plom:plom "${irclogs_pw_dir}"
echo "Don't forget to add a file ~/.plomlombot with content such as:"
echo "gpg_key ${gpg_key}"
-echo "bot: SCREEN_SESSION_NAME BOT_NAME #CHANNEL_NAME IRC_SERVER_NAME"
+echo "bot: SCREEN_SESSION_NAME BOT_NAME #CHANNEL_NAME IRC_SERVER_NAME LOGS_USER LOGS_PW"
echo "# file should end in newline or non-interpreted line such as this"
path=~/.plomlombot
db_dir="${HOME}/plomlombot_db"
irclogs_dir=/var/www/html/irclogs
+irclogs_pw_dir=/var/www/irclogs_pw
while true; do
if [ -f "${path}" ]; then
cat "${path}" | while read line; do
session_name=$(echo -n "${line}" | cut -d' ' -f2)
bot_name=$(echo -n "${line}" | cut -d' ' -f3)
channel_name=$(echo -n "${line}" | cut -d' ' -f4)
+ shortened_channel_name="${channel_name}"
+ first_char=$(echo -n "${channel_name}" | cut -c1)
+ if [ "${first_char}" = "#" ]; then
+ shortened_channel_name=$(echo -n "${channel_name}" | cut -c2-)
+ fi
server_name=$(echo -n "${line}" | cut -d' ' -f5)
+ login_user=$(echo -n "${line}" | cut -d' ' -f6)
+ login_pw=$(echo -n "${line}" | cut -d' ' -f7)
set +e
screen -S "${session_name}" -Q select . > /dev/null
start_screen=$?
logs_dir="${db_dir}/${md5_server}/${md5_channel}/logs"
# FIXME: Note the trouble we will have if we have the same channel
# name on different servers …
- shortened_channel_name="${channel_name}"
- first_char=$(echo -n "${channel_name}" | cut -c1)
- if [ "${first_char}" = "#" ]; then
- shortened_channel_name=$(echo -n "${channel_name}" | cut -c2-)
- fi
ln -sfn "${logs_dir}" "${irclogs_dir}/${shortened_channel_name}"
+ htpasswd -c "${irclogs_pw_dir}/${shortened_channel_name}" "${login_user}" "${login_pw}"
# If "key:" line, encrypt old raw logs to that GPG key.
elif [ "${first_word}" = "gpg_key": ]; then