連絡・質問スレ (967)

←← 掲示板一覧に戻る ← スレッド一覧に戻る

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の接続ファイル込の全リストなのでじわじわ肥大化するので