Rendez-vous sur Arrakiss
Le 13/01/2020 à 08:33 dans /Journal/2019/

Inscriptions au mail du CHATONS 3hg ou ouaf automatiques

Les inscriptions pour obtenir un compte mail en @3hg.fr ou @ouaf.xyz sont désormais automatiques.

Jusqu'ici, je m'occupais des demandes d'inscription manuellement. Ce n'était pas bien gênant, mais je crois que certaines personnes avaient besoin d'utiliser leur compte plus rapidement que ce dont j'étais capable de fournir (quelques heures). Maintenant, il suffira d'attendre maximum 10 minutes.

Toutefois, ce changement a un “inconvénient” : le mot de passe ne peut plus être choisi. Il est aléatoire et peut être très long. Mais en terme de sécurité, je ne trouve pas que c'est un problème.

Bien sûr, les abus m'obligeront à fermer ce service.

Merci de m'indiquer d'éventuels bugs :)

À propos du CHATONS

spamd piège de nombreux spammeurs, rspamd prend le relai. Ce dernier est actif depuis le passage à la fibre :

Deux serveurs de backup en cas de panne (coupure de courant, ou quelqu'un qui a un accident de voiture sur la ligne…) sont actifs, dont un chez openbsd.amsterdam.

À l'heure où j'écris ces lignes, je peux compter :

Les deux noms de domaines sont réservés jusqu'en 2021.

Une personne donne 1€ par mois par semaine.

Le script d'inscription

Si ça en intéresse certains :

#!/bin/sh
set -e

VIRTUALS=/etc/mail/virtuals
PASSWD=/etc/mail/passwd

PENDING_DIR=/var/www/chatons_register/
OUT_DIR=/var/www/htdocs/3hg.fr/CHATONS/Messagerie/Inscription/data/

for i in $PENDING_DIR/*; do
    test -f $i || continue
    OUT_F=$OUT_DIR$(basename ${i}).txt
    USER=$(/usr/bin/sed -n '1p' $i | tr '[:upper:]' '[:lower:]' | tr -d -c '[:alnum:]_-.')
    DOMAIN=$(/usr/bin/sed -n '2p' $i | tr '[:upper:]' '[:lower:]')
    RECUP=$(/usr/bin/sed -n '3p' $i)
    rm $i

    if [ -n $USER -a -n $DOMAIN ]; then

        if [ -n "$(grep -o ${USER}@${DOMAIN} $VIRTUALS)" ]; then
            echo "Pseudo déjà pris, désolé 😖" >> $OUT_F
            continue
        fi
        LENGTH=$(jot -r 1 18 50)
        PW=$(/usr/bin/openssl rand $LENGTH -base64)
        EPW=$(/usr/bin/encrypt "${PW}")

        echo "${USER}@${DOMAIN}    _vmail" >> $VIRTUALS
        echo "${USER}@${DOMAIN}:${EPW}::::::userdb_quota_rule=*:storage=1G" >> $PASSWD
        /usr/sbin/rcctl restart smtpd

        echo "login: ${USER}@${DOMAIN}" >> $OUT_F
        echo "mot de passe: ${PW}" >> $OUT_F
        /usr/sbin/chown www:daemon $OUT_F

        /bin/cat $OUT_F | /usr/bin/mail -s "Nouvel utilisateur du chaton" 3hgadmins@3hg.fr

        if [ -n $RECUP ]; then
            echo "$RECUP" >> /var/chatons/recuperations.txt
        fi
    fi
done

crontab se charge de l'exécuter toutes les 10 minutes.