⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.96
Server IP:
147.93.97.220
Server:
Linux srv843233 6.8.0-71-generic #71-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 22 16:52:38 UTC 2025 x86_64
Server Software:
nginx/1.28.0
PHP Version:
8.2.29
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
proc
/
thread-self
/
root
/
etc
/
fail2ban
/
action.d
/
View File Name :
cloudflare-token.conf
# # Author: Logic-32 # # IMPORTANT # # Please set jail.local's permission to 640 because it contains your CF API token. # # This action depends on curl. # # To get your Cloudflare API token: https://developers.cloudflare.com/api/tokens/create/ # # Cloudflare Firewall API: https://developers.cloudflare.com/firewall/api/cf-firewall-rules/endpoints/ [Definition] # Option: actionstart # Notes.: command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false). # Values: CMD # actionstart = # Option: actionstop # Notes.: command executed at the stop of jail (or at the end of Fail2Ban) # Values: CMD # actionstop = # Option: actioncheck # Notes.: command executed once before each actionban command # Values: CMD # actioncheck = # Option: actionban # Notes.: command executed when banning an IP. Take care that the # command is executed with Fail2Ban user rights. # Tags: <ip> IP address # <failures> number of failures # <time> unix timestamp of the ban time # Values: CMD actionban = curl -s -X POST "<_cf_api_url>" \ <_cf_api_prms> \ --data '{"mode":"<cfmode>","configuration":{"target":"<cftarget>","value":"<ip>"},"notes":"<notes>"}' # Option: actionunban # Notes.: command executed when unbanning an IP. Take care that the # command is executed with Fail2Ban user rights. # Tags: <ip> IP address # <failures> number of failures # <time> unix timestamp of the ban time # Values: CMD # actionunban = id=$(curl -s -X GET "<_cf_api_url>?mode=<cfmode>¬es=<notes>&configuration.target=<cftarget>&configuration.value=<ip>" \ <_cf_api_prms> \ | awk -F"[,:}]" '{for(i=1;i<=NF;i++){if($i~/'id'\042/){print $(i+1)}}}' \ | tr -d ' "' \ | head -n 1) if [ -z "$id" ]; then echo "<name>: id for <ip> cannot be found using target <cftarget>"; exit 0; fi; \ curl -s -X DELETE "<_cf_api_url>/$id" \ <_cf_api_prms> \ --data '{"cascade": "none"}' _cf_api_url = https://api.cloudflare.com/client/v4/zones/<cfzone>/firewall/access_rules/rules _cf_api_prms = -H "Authorization: Bearer <cftoken>" -H "Content-Type: application/json" [Init] # Declare your Cloudflare Authorization Bearer Token in the [DEFAULT] section of your jail.local file. # The Cloudflare <ZONE_ID> of hte domain you want to manage. # # cfzone = # Your personal Cloudflare token. Ideally restricted to just have "Zone.Firewall Services" permissions. # # cftoken = # Target of the firewall rule. Default is "ip" (v4). # cftarget = ip # The firewall mode Cloudflare should use. Default is "block" (deny access). # Consider also "js_challenge" or other "allowed_modes" if you want. # cfmode = block # The message to include in the firewall IP banning rule. # notes = Fail2Ban <name> [Init?family=inet6] cftarget = ip6