Rendez-vous sur Arrakiss
Le 31/01/2020 à 10:15 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.