457 りんご ★ 2023/05/28(日) 17:03:25.62 ID:ADMIN
>>456
収集自体(Getリクエストの時点)は海外だけを除外することはで残念ながら出来ない
理由はVPNGateが発行しているcsvのリストがすべての国を含むから
ただしそのリストをローカルで国ごとにフィルタリングすることは可能
vpn.csvを見ればわかるように6番目と7番目の中身がCountryLong,CountryShortなのでここから国を判定できる
149行目がIPのリストを作成するコードなので
cat $CSV_FILE | awk -F, 'NR>1{print$2}' | sort | uniq >$IP_LIST_TEXT
ここのcsvをフィルタリングするawkの部分でCountryLongとかの値を利用してフィルタリングすればいい
'NR>1{print$2}' となっているのでこれを'NR > 1 && $6 == "Japan" { print $2 }'に差し替えると目的の日本のIPだけが抽出できる
cat $CSV_FILE | awk -F, 'NR > 1 && $6 == "Japan" { print $2 }' | sort | uniq >$IP_LIST_TEXT
あと任意のタイミングでいいので週一程度vpn.csvは削除していいかも
削除するタイミングが悩ましくてコード内には入れてなかった
vpn.csvは今まで取得したvpnの接続ファイル込の全リストなのでじわじわ肥大化するので