Przeglądaj źródła

Remove perl, Fix host name

Joshua 8 lat temu
rodzic
commit
a7a31aaf00
2 zmienionych plików z 5 dodań i 7 usunięć
  1. 1 3
      Dockerfile
  2. 4 4
      cloudflare.sh

+ 1 - 3
Dockerfile

@@ -2,12 +2,10 @@ FROM alpine:3.6
 MAINTAINER JoshuaAvalon
 
 RUN apk add --update curl && \
-    apk add --update perl && \
     rm -rf /var/cache/apk/*
 
 ADD cloudflare.sh /cloudflare.sh
 RUN chmod +x /cloudflare.sh
 ADD cron /var/spool/cron/crontabs/root
 
-CMD /cloudflare.sh
-CMD crond -f
+CMD /cloudflare.sh && crond -f

+ 4 - 4
cloudflare.sh

@@ -15,11 +15,11 @@ fi
 
 ip="$new_ip"
 echo "IP: $ip"
-zone_id=$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones?name=$ZONE" -H "X-Auth-Email: $EMAIL" -H "X-Auth-Key: $API" -H "Content-Type: application/json" | perl -nle'print $& if m{(?<="id":")[^"]*}' | head -1 )
+zone_id=$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones?name=$ZONE" -H "X-Auth-Email: $EMAIL" -H "X-Auth-Key: $API" -H "Content-Type: application/json" | grep -Eo '"id":.?"\w*?"' |head -1|grep -o ':.*".*"'|grep -o '\w*')
 echo "Zone ID: $zone_id"
-record_id=$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones/$zone_id/dns_records?name=$ZONE" -H "X-Auth-Email: $EMAIL" -H "X-Auth-Key: $API" -H "Content-Type: application/json"  | perl -nle'print $& if m{(?<="id":")[^"]*}')
+record_id=$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones/$zone_id/dns_records?name=$HOST" -H "X-Auth-Email: $EMAIL" -H "X-Auth-Key: $API" -H "Content-Type: application/json" | grep -Eo '"id":.?"\w*?"' |head -1|grep -o ':.*".*"'|grep -o '\w*')
 echo "Record ID: $record_id"
-update=$(curl -s -X PUT "https://api.cloudflare.com/client/v4/zones/$zone_id/dns_records/$record_id" -H "X-Auth-Email: $EMAIL" -H "X-Auth-Key: $API" -H "Content-Type: application/json" --data "{\"id\":\"$zone_id\",\"type\":\"A\",\"name\":\"$ZONE\",\"content\":\"$ip\",\"ttl\":$TTL,\"proxied\":$PROXY}")
+update=$(curl -s -X PUT "https://api.cloudflare.com/client/v4/zones/$zone_id/dns_records/$record_id" -H "X-Auth-Email: $EMAIL" -H "X-Auth-Key: $API" -H "Content-Type: application/json" --data "{\"id\":\"$zone_id\",\"type\":\"A\",\"name\":\"$HOST\",\"content\":\"$ip\",\"ttl\":$TTL,\"proxied\":$PROXY}")
 
 if echo "$update" | grep -q "\"success\":true"; then
 	echo "IP changed to: $ip"	
@@ -27,4 +27,4 @@ if echo "$update" | grep -q "\"success\":true"; then
 else
 	printf "Update failed:\\n%s" "$update"
 	exit 1
-fi
+fi