すべてのPIA VPN IPをスクリプトに解析する方法はありますか?

すべてのPIA VPN IPをスクリプトに解析する方法はありますか?

私はPrivateInternetAccessサーバーのすべての現在のIPアドレスの完全なリストを取得する方法を探しています。 OpenVPNのキルスイッチに手動で入力するには、完全なリストが必要です。私は下記のようにAdrelanos VPNファイアウォールをキルスイッチとして使用します。

Linuxユーザー向けのVPN(OpenVPN)ファイアウォールキルスイッチ

PIAフォーラムで次のリストをリクエストしている人を見ました。サーバーIPリスト
ただし、サービスがIPをブロックし始めたため、IPを取得する唯一の方法はホスト名を介してです。これは私にとって非常に時間がかかることです。

IPをソートして整理するのに十分な時間、サーバーにpingを送信できる単純なスクリプトがあるかどうか疑問に思います。他の方法も良いでしょう。ホスト名ごとに1つのサーバーとIPだけがあれば簡単ですが、現在オランダのホスト名には278個のサーバーしかありません。サーバーを継続的にpingし、追加のIPを削除し、278個のIPアドレスがすべてあることを確認するのに時間を費やすことはできません。私はオランダのIPアドレスだけを望んでいません。私はホスト名を入力して結果を得るのと同じくらい簡単な方法を好みます。どんな提案でもいいでしょう。ありがとうございます!

答え1

私はこれがあなたの要件を満たしていると思います。 3分で完了します。

wget -q  https://www.privateinternetaccess.com/pages/network/ -O - | grep -E -o '>[^.]+\.privateinternetaccess\.com<' | tr -d '[<>]'  | while read host ;do host $host ;done  | awk '{print $NF}' | sort -u > ip_list

したがって、wgetを使用してすべてのホスト名を含むWebページを取得し、STDOUTに出力すると同時にwgetのアクティビティレポートを抑制します。

wget -q  https://www.privateinternetaccess.com/pages/network/ -O -

出力でホスト名を探します。

grep -E -o '>[^.]+\.privateinternetaccess\.com<'

次に tr を使用して、ホスト名から角度サポートを削除します。

tr -d '[<>]'

次に、bash whileループを使用してホスト名を繰り返し解析します。

while read host ;do host $host ;done

名前を付けるよりもホストを使用すると、重複することなくすべての名前を取得できるという利点があります。

名前解決の出力はawkで整理され、重複があるとは思わずに一意にソートされ、結果がファイルに書き込まれます。IP_リスト

awk '{print $NF}' | sort -u > ip_list

awkが何をしているのか疑問に思う場合:各行の最後のフィールドを印刷します。

答え2

このBashスクリプトを試すことができます 最速のPIAサーバーを選択してください

netselectプログラムが必要です。

選択した国で最速のサーバーを選択します。

次に、そのサーバーの最速のIPアドレスを選択します。

答え3

確かに可能です。私は(PHPを使用して)それを行い、すべてのサーバーを公開しましたhttps://github.com/Lars-/PIA-servers。 DNSは毎秒循環しないため、時間がかかりますが動作します。

関連情報