This commit is contained in:
Sefinek 2024-08-17 18:42:02 +02:00
parent d5d3280a4a
commit f9a66726e5
2 changed files with 12 additions and 9 deletions

View file

@ -15,13 +15,13 @@ const REPORTED_IP_COOLDOWN_MS = 7 * 60 * 60 * 1000; // 7h
const fetchBlockedIPs = async () => { const fetchBlockedIPs = async () => {
try { try {
const response = await axios.post('https://api.cloudflare.com/client/v4/graphql', PAYLOAD, { headers: headers.CLOUDFLARE }); const res = await axios.post('https://api.cloudflare.com/client/v4/graphql', PAYLOAD(), { headers: headers.CLOUDFLARE });
if (response.data?.data) { if (res.data?.data) {
const events = response.data.data.viewer.zones[0].firewallEventsAdaptive; const events = res.data.data.viewer.zones[0].firewallEventsAdaptive;
log('info', `Fetched ${events.length} events from Cloudflare`); log('info', `Fetched ${events.length} events from Cloudflare`);
return events; return events;
} else { } else {
throw new Error(`Failed to retrieve data from Cloudflare. Status: ${response.status}`); throw new Error(`Failed to retrieve data from Cloudflare. Status: ${res.status}`);
} }
} catch (err) { } catch (err) {
log('error', err.response ? `${err.response.status} HTTP ERROR (Cloudflare)\n${JSON.stringify(err.response.data, null, 2)}` : `Unknown error with Cloudflare: ${err.message}`); log('error', err.response ? `${err.response.status} HTTP ERROR (Cloudflare)\n${JSON.stringify(err.response.data, null, 2)}` : `Unknown error with Cloudflare: ${err.message}`);

View file

@ -1,5 +1,4 @@
module.exports = { const query = `query ListFirewallEvents($zoneTag: string, $filter: FirewallEventsAdaptiveFilter_InputObject) {
query: `query ListFirewallEvents($zoneTag: string, $filter: FirewallEventsAdaptiveFilter_InputObject) {
viewer { viewer {
zones(filter: { zoneTag: $zoneTag }) { zones(filter: { zoneTag: $zoneTag }) {
firewallEventsAdaptive( firewallEventsAdaptive(
@ -25,8 +24,10 @@ module.exports = {
} }
} }
} }
}`, }`;
variables: {
module.exports = () => {
const variables = {
zoneTag: process.env.CLOUDFLARE_ZONE_ID, zoneTag: process.env.CLOUDFLARE_ZONE_ID,
filter: { filter: {
datetime_geq: new Date(Date.now() - (60 * 60 * 10.5 * 1000)).toISOString(), datetime_geq: new Date(Date.now() - (60 * 60 * 10.5 * 1000)).toISOString(),
@ -46,5 +47,7 @@ module.exports = {
{ action_neq: 'managed_challenge_bypassed' } { action_neq: 'managed_challenge_bypassed' }
] ]
} }
} };
return { query, variables };
}; };