rendez-vous sur ArraKISS
Archives ContactATOM
whoami@ybad.name
# find . -iname

    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.