以下の内容はhttps://takuya-1st.hatenablog.jp/entry/2024/05/27/000000より取得しました。


AdguardHome のDNSキャッシュをパージ(クリア)をAPIからサクッと行う。

Adguard のキャシュ削除をやりたいと思った。

aguard home にはAPIが用意されている

https://github.com/AdguardTeam/AdGuardHome/blob/master/openapi/openapi.yaml

adguard のAPIを呼び出すcurl スクリプト

サクッと書いたら、こんな感じ。プログラミングするまでもないや。

adg-api.sh

#!/usr/bin/env bash

adg_pass=PASSWORD
adg_user=ADMIN_USER
adg_host=ADGUARD_HOME_IPv4

function adg_api(){
  adg_host=$1
  path=$2
  data=$3
  if [[ ! -z $data ]] ; then
    ret=$(curl --show-error --fail -s -X POST -H 'Content-type: application/json' -u $adg_user:$adg_pass -d "$data"  http://$adg_host/control$path );
    if [[ $? == 0 ]] ;then
      echo Success. >>/dev/stderr
      echo { \"result\" : \"$ret\"};
    else
      echo Failed.
      echo $ret
    fi
  else
    curl -s -X GET -u $adg_user:$adg_pass http://$adg_host/control$path
  fi

}

function main(){
  api_path=$1
  post_data=$2
  adg_api $adg_host $api_path $post_data
}

main $@;

API リクエストを叩けば、軽快に操作できる。

使い方(POST)

./adg-api.sh '/cache_clear' 'dummy'         

使い方例 (GET)

./adg-api.sh '/dns_info'

API を叩けばなにかするときになにかできる。

例えば、DDNSを更新したときにキャッシュクリアするとかね。




以上の内容はhttps://takuya-1st.hatenablog.jp/entry/2024/05/27/000000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14