Ok, par contre c’est toujours avec slow à la fin, c’est bien ça ? Par exemple
# Wanadoo / Orange
wanadoo.com slow:
wanadoo.fr slow:
wanadoo.es slow:
orange.com slow:
orange.fr slow:
free.fr slow:
Ok, par contre c’est toujours avec slow à la fin, c’est bien ça ? Par exemple
# Wanadoo / Orange
wanadoo.com slow:
wanadoo.fr slow:
wanadoo.es slow:
orange.com slow:
orange.fr slow:
free.fr slow:
Oui si tu veux mettre la même règle pour tout le monde.
Sinon tu peux créer plusieurs règles comme ceci:
Dans /etc/postfix/transport
wanadoo.com slow:
wanadoo.fr slow:
orange.fr slow:
free.fr regle2:
yahoo.com regle2:
Dans /etc/postfix/master.cf
slow unix - - n - 5 smtp
-o syslog_name=postfix-slow
-o smtp_destination_concurrency_limit=1
-o slow_destination_rate_delay=5'
regle2 unix - - n - 5 smtp
-o syslog_name=postfix-slow
-o smtp_destination_concurrency_limit=4`
-o slow_destination_rate_delay=1'
Dans /etc/postfix/main.cf
slow_destination_recipient_limit = 20
slow_destination_concurrency_limit = 1
slow_destination_rate_delay = 5s
regle2_destination_recipient_limit = 2
regle2_destination_concurrency_limit = 4
regle2_destination_rate_delay = 1s
Les chiffres ci-dessus sont un exemple, tu mets ce que tu veux !
Super…
Après c’est difficile de savoir quelles règles pour ne pas être considérer comme spam et par quelle FAI… Ils nous facilite pas la tâche…
J’ai une galère, un utilisateur essaye d’envoyer plusieurs mails et les mails en .orange ne reçoit pas leurs mails…
La règle que j’ai mis
17 echo '
18 transport_maps = hash:/etc/postfix/transport
19 slow_initial_destination_concurrency=1
20 slow_destination_concurrency_limit=1
21 slow_destination_rate_delay=5' >> $postfix_main_conf
22
23 echo '
24 slow unix - - n - 5 smtp
25 -o syslog_name=postfix-slow
26 -o smtp_destination_concurrency_limit=1
27 -o slow_destination_rate_delay=5' >> $postfix_master_conf
Et je retrouve une erreur comme celle-ci
Mar 2 18:18:23 domain postfix/trivial-rewrite[2819055]: warning: database /etc/postfix/transport.db is older than source file /etc/postfix/transport
Mar 2 18:18:23 domain postfix/qmgr[2619125]: warning: connect to transport private/orange: Connection refused
Mar 2 18:18:23 domain postfix/qmgr[2619125]: 5765F28E10B: from=<userdomain@domain.fr>, size=64395, nrcpt=1 (queue active)
Mar 2 18:18:23 domain postfix/error[2819056]: 3E0AA28E3ED: to=<personne@orange.fr>, relay=none, delay=21313, delays=21313/0.02/0/0.05, dsn=4.3.0, status=deferred (mail transport unavailable)
Mar 2 18:18:28 domain postfix/error[2819056]: 5765F28E10B: to=<personne2@orange.fr>, relay=none, delay=2153, delays=2148/5.1/0/0.06, dsn=4.3.0, status=deferred (mail transport unavailable)
Du coup je tente d’enlever ce hook et de repartir avec une configuration de départ…
Je confirme, en supprimant le hook et en lançant un regen_conf pour supprimer les règles ajoutées, les mails orange ont fonctionné…
Feel free to suggest a PR on Yunohost for this …
après il faut trouver les bonnes configurations pour que ça marche…
que penser de ce bug dans mes logs ?
warning: database /etc/postfix/transport.db is older than source file /etc/postfix/transport
Il faut faire
postmap /etc/postfix/transport
Je n’ai pas de souci particulier avec ce hook, pour l’instant.
Par contre je vois dans ton log:
Du coup je te conseille de faire:
postmap /etc/postfix/transport
puis
/etc/init.d/postfix restart
Si on a bien les règles ajoutées avec le hook, c’est bien cela ? du coup j’hésite à le remettre en place, je me rends compte que cette base de données a été crée à la suite…
Est-ce que je ne risque pas d’avoir de nouveaux des mails refusés ? Cela veut dire qu’il faut relancer de temps à autres cette commande ? Bon je regarde le manuel et j’avais aussi vu cette commande: Postfix manual - transport(5)
Cette commande postmap est à faire chaque fois que tu modifies une base de donnée, ici c’est le fichier /etc/postfix/transport.
Normalement ce fichier tu ne le modifies pas tous les jours donc il n’y a pas lieu de relancer la commande régulièrement.
Ok merci, du coup j’ai remis en place le hook et je vais tester…
Tiens comme je suis là je partage un autre hook que je trouve intéressant et qui fonctionne bien.
C’est pour modifier les adresses qui peuvent se connecter en root (PermitRootLogin).
#!/bin/bash
my_local_address=192.168.0.1
my_home_address=77.XX.XX.XX
my_vpn=88.XX.XX.XX
action=$1
pending_dir=$4
ssh_conf=$pending_dir/../ssh/etc/ssh/sshd_config
[[ "$action" == "pre" ]] || exit 0
[[ -e $ssh_conf ]] || exit 0
sed -e "s/Match Address.*/Match Address $my_local_address,$my_home_address,$my_vpn/" \
-i $ssh_conf
Par contre j’ai eu un bug quand je mettais plus de trois adresses, à creuser…
Il existe un settings déjà non ? peut-être que pour la webadmin en fait, c’est différent…
Ok, ça a l’air de fonctionner… my bad, j’avais peut-être touché au fichier transport sans mettre à jour l’index…
Oui je n’ai pas précisé, c’est pour la connexion ssh.
Je vous partage des hooks pour ce cas particulier: un serveur avec plusieurs noms de domaines, domaineA
domaineB
domaineC
. La particularité est que l’on veut utiliser les MX du registar de Gandi pour le domaineC
.
Pour cela on exclus le domaineC
dans /etc/postfix/ldap-domains.cf
/etc/yunohost/hooks.d/conf_regen/70-postfix_customhook
#!/bin/bash
action=$1
pending_dir=$4
postfix_ldap_domains_conf=$pending_dir/../postfix/etc/postfix/ldap-domains.cf
source /usr/share/yunohost/helpers
ynh_write_var_in_file --file=$postfix_ldap_domains_conf --key=query_filter --value='(&(&(objectClass=mailDomain)(virtualdomain=%s))(!(virtualdomain=domaineC.tld)))'
et pour dnsmasq de domaineC on change les valeurs MX
/etc/yunohost/conf_regen/80-dnsmasq_customhook
#!/bin/bash
action=$1
pending_dir=$4
domaineC_tld_conf=$pending_dir/../dnsmasq/etc/dnsmasq.d/domaineC.tld
[[ "$action" == "pre" ]] || exit 0
[[ -e $domaineC_tld_conf ]] || exit 0
sed -e 's/mx-host=domaineC.tld,domaineC.tld,5/mx-host=spool.mail.gandi.net,5/' \
-i $domaineC_tld_conf
Hi there,
Two hooks for login in a dokuwiki page the upgrades of apps and yunohost packages (I don’t want to connect throught ssh and watch the logs everytime I want to know when some app or package has been upgrade, and I am too lazy to do it manually after each upgrade).
=> kit/Yunohost_public: Fichiers à destination de la communauté Yunohost - Yunohost_public - Gitea
Apps :
/etc/yunohost/hooks.d/post_app_upgrade/01-log-app-upgrade
#!/bin/bash
source /usr/share/yunohost/helpers
logfile="/var/www/dokuwiki/data/pages/update.txt" #Fichier de log
current_date=$(date +"%Y/%m/%d") #Date au format YYY/MM/DD
id=$YNH_APP_ID
current_version=$YNH_APP_CURRENT_VERSION
updated_version=$YNH_APP_MANIFEST_VERSION
newline="**$current_date** : **App** : $id $current_version -> $updated_version"
sed -i "3i\\$newline\n" $logfile #Ajout de la nouvelle entrée ligne 3.
The second one is not really a hook, it is a bash programm launched after each apt upgrade
.
Create this file : /etc/apt/apt.conf.d/80upgradehook
DPkg::Post-Invoke {bash "/home/yuno_package_update_log.bash";};
(replace the path/name of the .bash by yours.
and, of course, the bash programm itself :
yuno_package_update_log.bash
#!/bin/bash
# Fichier loggant automatiquement les paquets voulus (ici ceux liés à yuno) dans un fichier du wiki
# Lançable automatiquement après un apt upgrade en créant le fichier /etc/apt/apt.conf.d/80upgradehook
WIKIFILE="/var/www/dokuwiki/data/pages/update.txt"
LOGFILE="/var/log/dpkg.log"
PACKAGES_WANTED=("yunohost" "yunohost-admin" "moulinette" "ssowat") # Liste des paquet à inscrire dans le fichier de log
function read_logfile { #On parcourt le fichier LOGFILE ligne par ligne en partant de la fin
while IFS= read -r log_line; do
if [[ "$PACKAGE_LOGGED" == "FALSE" ]];then
search_package
else
return 0
fi
done < <(tac $LOGFILE | grep "status installed")
}
function search_package { #On vérifie si la ligne de log contient le paquet recherché
if [[ $(echo "$log_line" | grep "$package":) != "" ]]; then #ajout des ":" après le package pour isoler yunohost de yunohost-admin
if [[ "$PACKAGE_LOGGED" == "FALSE" ]];then
PACKAGE_VERSION=$(echo $log_line | awk '{print $NF}') #Extraction de la version du paquet
write_wiki
fi
else
return 0
fi
}
function write_wiki { #On écrit dans le fichier WIKIFILE
check_wiki
if [[ "$PACKAGE_LOGGED" == "FALSE" ]]; then
DATE=$(echo $log_line | awk '{print $1}') #Date d'installation du paquet (1ere colonne)
NEW_LINE="**$DATE** : **Sys** : $package -> $PACKAGE_VERSION" #Ligne à inscrire
sed -i "3i\\$NEW_LINE\n" $WIKIFILE #Ajout de la nouvelle entrée ligne 3.
PACKAGE_LOGGED=TRUE
fi
}
function check_wiki { #On boucle sur les lignes de WIKIFILE pour trouver le package et la versions idoines
while IFS= read -r wiki_line; do
if [[ $(echo "$wiki_line" | grep "$package" | grep "$PACKAGE_VERSION") != "" ]]; then # Si ligne non présente dans WIKIFILE
PACKAGE_LOGGED=TRUE
return 0
fi
done < <(cat $WIKIFILE | grep "$package")
}
for package in "${PACKAGES_WANTED[@]}"
do
PACKAGE_LOGGED=FALSE
read_logfile
done
exit 0
This lastprogramm will probably be updated, but as far as I know it works with manual upgrade (yunohost tools upgrade system
) and automatic upgrade from unattended-upgrades.
Bonjour je suis à la recherche d’un hook pour Jellyfin.
J’ai ajouté à la main les ips qui pouvaient se connecter au Jellyfin mais à chaque MAJ le fichier NGYNX est reset
Voici comment j’ai fais
allow X.X.X.X/8;
allow X.X.X.X.X;
deny all;
Je souhaiterai que se bloc ne disparaissent pas à chaque MAJ.
Je précise que les personnes se connectent via l’app et non via yuno.
Je ne sais pas si c’est la meilleur méthode pour filtrer mais en tout cas ça fonctionne.
Merci.