local banFor(time) = { ban: { cmd: ['nft46', 'add element inet reaction ipvXbans { }'], }, unban: { cmd: ['nft46', 'delete element inet reaction ipvXbans { }'], after: time, }, }; // retry et retryperiod sont quand il y a plusieurs tentatives autorisées // juste mettre le banFor sinon... // Filtre (et options) par défaut : ni trop doux, ni trop cruel. local filter_default = { retry: 3, retryperiod: '3h', actions: banFor('48h'), }; // Filtre doux : c'est peut-être légitime. Et peut-être pas. local filter_soft = { retry: 6, retryperiod: '3h', actions: banFor('10s'), }; // Filtre violent : un seul essai, banni un mois. local filter_hard = { actions: banFor('720h'), }; local stream_name(name) ={ reason: { cmd: ['logger', 'REACTION BLOCK because: ', name], }, }; // Exposer les définitions précédentes pour qu'elles soient accessibles depuis un autre fichier Jsonnet { banFor: banFor, filter_default: filter_default, filter_soft: filter_soft, filter_hard: filter_hard, stream_name: stream_name, }