flaretool.nettool package

Submodules

flaretool.nettool.aio module

ネットワークツールの非同期版関数群。

flaretool.nettool の公開関数と同名の async def 版を提供します。 各関数は asyncio.to_thread で同期版をワーカースレッドに委譲するため、 イベントループをブロックせずに利用できます。

Note

同期版と名前が衝突するため、これらの関数は flaretool.nettool パッケージ直下には再エクスポートされません。次のように本モジュールを 明示的にインポートして利用してください:

from flaretool.nettool import aio
info = await aio.get_global_ipaddr_info()

# または関数を直接インポート
from flaretool.nettool.aio import lookup_ip
ip = await lookup_ip("example.com")
async flaretool.nettool.aio.domain_exists(domain: str) bool

非同期版: 指定されたドメイン名が存在するかどうかを判定する関数

async flaretool.nettool.aio.get_adhost(domain: str | None = None) list[str]

非同期版: 広告および危険なホストのリストを取得

async flaretool.nettool.aio.get_country_ip_list(country: Country = Country.JP) list[str]

非同期版: 特定の国のIPアドレスを取得(デフォルトは日本)

async flaretool.nettool.aio.get_global_ipaddr_info(addr: str | None = None) IpInfo

非同期版: 指定されたグローバルIPアドレスの情報を取得する関数

async flaretool.nettool.aio.get_japanip_list() list[str]

非同期版: 日本のIPアドレスを取得する関数

async flaretool.nettool.aio.get_puny_code(domain: str) PunyDomainInfo

非同期版: 日本語を含むドメインをpunycodeに変換する関数

async flaretool.nettool.aio.get_robots_txt_url(url: str) str

非同期版: スクレイピング対象URLからrobots.txtファイルのURLを生成

async flaretool.nettool.aio.is_country_ip(ipaddr: str, country: Country = Country.JP) bool

非同期版: 指定されたアドレスが指定の国のIPアドレスか確認する関数(デフォルトは日本)

async flaretool.nettool.aio.is_ip_in_allowed_networks(ipaddr: str, allow_networks: list[str]) bool

非同期版: 指定されたIPアドレスが指定されたネットワークに属しているかどうかを判定する関数

async flaretool.nettool.aio.is_japan_ip(ipaddr: str) bool

非同期版: 指定されたアドレスが日本のIPアドレスか確認する関数

async flaretool.nettool.aio.is_scraping_allowed(url: str, user_agent: str = '*') bool

非同期版: 指定されたURLに対してスクレイピングが許可されているかどうかを判定

async flaretool.nettool.aio.lookup_domain(ip: str) str | None

非同期版: 指定されたIPアドレスからドメイン名を取得する関数

async flaretool.nettool.aio.lookup_ip(domain: str) str | None

非同期版: 指定されたドメイン名からIPアドレスを取得する関数

flaretool.nettool.common module

Network utility functions.

flaretool.nettool.common.domain_exists(domain: str) bool

指定されたドメイン名が存在するかどうかを判定する関数

Parameters:

domain (str) – ドメイン名

Returns:

指定されたドメイン名が存在する場合はTrue、それ以外の場合はFalse

Return type:

bool

flaretool.nettool.common.get_adhost(domain: str | None = None) list[str]

広告および危険なホストのリストを取得

Parameters:

domain (str, optional) – 検索ドメイン(デフォルトはNone)

Returns:

ホストリスト

Return type:

list[str]

flaretool.nettool.common.get_country_ip_list(country: Country = Country.JP) list[str]

特定の国のIPアドレスを取得(デフォルトは日本)

Parameters:

country (Country, optional) – 国コード. Defaults to Country.JP.

Returns:

IPアドレスのリスト

Return type:

list[str]

flaretool.nettool.common.get_global_ipaddr_info(addr: str | None = None) IpInfo

指定されたグローバルIPアドレスの情報を取得する関数 (指定がない場合は実行端末のグローバルIPを取得)

Parameters:

addr (str) – IPアドレス または ホスト名(デフォルトはNone)

Returns:

IPアドレスの情報(取得できない項目はNoneをセット)

Return type:

IpInfo

flaretool.nettool.common.get_japanip_list() list[str]

日本のIPアドレスを取得する関数

Returns:

日本のIPアドレスのリスト

Return type:

list[str]

flaretool.nettool.common.get_puny_code(domain: str) PunyDomainInfo

日本語を含むドメインをpunycodeに変換する関数

Parameters:

domain (str) – ドメイン名

Returns:

取得結果

Return type:

PunyDomainInfo

flaretool.nettool.common.get_robots_txt_url(url: str) str

スクレイピング対象URLからrobots.txtファイルのURLを生成

Parameters:

url (str) – スクレイピング対象のURL

Returns:

robots.txtファイルのURL

Return type:

str

flaretool.nettool.common.is_country_ip(ipaddr: str, country: Country = Country.JP) bool

指定されたアドレスが指定の国のIPアドレスか確認する関数(デフォルトは日本)

Parameters:
  • ipaddr (str) – IPアドレス

  • country (Country, optional) – 国コード. Defaults to Country.JP.

Returns:

指定されたIPアドレスが指定した国のIPの場合はTrue、それ以外の場合はFalse

Return type:

bool

flaretool.nettool.common.is_ip_in_allowed_networks(ipaddr: str, allow_networks: list[str]) bool

指定されたIPアドレスが指定されたネットワークに属しているかどうかを判定する関数

Parameters:
  • ipaddr (str) – IPアドレス

  • allow_networks (list[str]) – 許可されたネットワークのリスト

Returns:

指定されたIPアドレスが指定されたネットワークに属している場合はTrue、それ以外の場合はFalse

Return type:

bool

flaretool.nettool.common.is_japan_ip(ipaddr: str) bool

指定されたアドレスが日本のIPアドレスか確認する関数

Parameters:

ipaddr (str) – IPアドレス

Returns:

指定されたIPアドレスが日本のIPの場合はTrue、それ以外の場合はFalse

Return type:

bool

flaretool.nettool.common.is_scraping_allowed(url: str, user_agent: str = '*') bool

指定されたURLに対してスクレイピングが許可されているかどうかを判定

Parameters:
  • url (str) – スクレイピング対象のURL

  • user_agent (str, optional) – 使用するユーザーエージェント デフォルトは”*”

Returns:

スクレイピングが許可されている場合はTrue、禁止されている場合はFalse

Return type:

bool

flaretool.nettool.common.lookup_domain(ip: str) str | None

指定されたIPアドレスからドメイン名を取得する関数

Parameters:

ip (str) – IPアドレス

Returns:

ドメイン名(取得できない場合はNone)

Return type:

str | None

flaretool.nettool.common.lookup_ip(domain: str) str | None

指定されたドメイン名からIPアドレスを取得する関数

Parameters:

domain (str) – ドメイン名

Returns:

IPアドレス(取得できない場合はNone)

Return type:

str | None

flaretool.nettool.models module

Data models for nettool.

class flaretool.nettool.models.IpInfo(*, ipaddr: str | None = None, hostname: str | None = None, country: str | None = None)

Bases: BaseDataModel

country: str | None
hostname: str | None
ipaddr: str | None
model_config = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class flaretool.nettool.models.PunyDomainInfo(*, originalvalue: str, encodevalue: str, decodevalue: str)

Bases: BaseDataModel

decodevalue: str
encodevalue: str
model_config = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

originalvalue: str

Module contents

Network tools for flaretool.

flaretool.nettool.domain_exists(domain: str) bool

指定されたドメイン名が存在するかどうかを判定する関数

Parameters:

domain (str) – ドメイン名

Returns:

指定されたドメイン名が存在する場合はTrue、それ以外の場合はFalse

Return type:

bool

flaretool.nettool.get_adhost(domain: str | None = None) list[str]

広告および危険なホストのリストを取得

Parameters:

domain (str, optional) – 検索ドメイン(デフォルトはNone)

Returns:

ホストリスト

Return type:

list[str]

flaretool.nettool.get_country_ip_list(country: Country = Country.JP) list[str]

特定の国のIPアドレスを取得(デフォルトは日本)

Parameters:

country (Country, optional) – 国コード. Defaults to Country.JP.

Returns:

IPアドレスのリスト

Return type:

list[str]

flaretool.nettool.get_global_ipaddr_info(addr: str | None = None) IpInfo

指定されたグローバルIPアドレスの情報を取得する関数 (指定がない場合は実行端末のグローバルIPを取得)

Parameters:

addr (str) – IPアドレス または ホスト名(デフォルトはNone)

Returns:

IPアドレスの情報(取得できない項目はNoneをセット)

Return type:

IpInfo

flaretool.nettool.get_japanip_list() list[str]

日本のIPアドレスを取得する関数

Returns:

日本のIPアドレスのリスト

Return type:

list[str]

flaretool.nettool.get_puny_code(domain: str) PunyDomainInfo

日本語を含むドメインをpunycodeに変換する関数

Parameters:

domain (str) – ドメイン名

Returns:

取得結果

Return type:

PunyDomainInfo

flaretool.nettool.get_robots_txt_url(url: str) str

スクレイピング対象URLからrobots.txtファイルのURLを生成

Parameters:

url (str) – スクレイピング対象のURL

Returns:

robots.txtファイルのURL

Return type:

str

flaretool.nettool.is_country_ip(ipaddr: str, country: Country = Country.JP) bool

指定されたアドレスが指定の国のIPアドレスか確認する関数(デフォルトは日本)

Parameters:
  • ipaddr (str) – IPアドレス

  • country (Country, optional) – 国コード. Defaults to Country.JP.

Returns:

指定されたIPアドレスが指定した国のIPの場合はTrue、それ以外の場合はFalse

Return type:

bool

flaretool.nettool.is_ip_in_allowed_networks(ipaddr: str, allow_networks: list[str]) bool

指定されたIPアドレスが指定されたネットワークに属しているかどうかを判定する関数

Parameters:
  • ipaddr (str) – IPアドレス

  • allow_networks (list[str]) – 許可されたネットワークのリスト

Returns:

指定されたIPアドレスが指定されたネットワークに属している場合はTrue、それ以外の場合はFalse

Return type:

bool

flaretool.nettool.is_japan_ip(ipaddr: str) bool

指定されたアドレスが日本のIPアドレスか確認する関数

Parameters:

ipaddr (str) – IPアドレス

Returns:

指定されたIPアドレスが日本のIPの場合はTrue、それ以外の場合はFalse

Return type:

bool

flaretool.nettool.is_scraping_allowed(url: str, user_agent: str = '*') bool

指定されたURLに対してスクレイピングが許可されているかどうかを判定

Parameters:
  • url (str) – スクレイピング対象のURL

  • user_agent (str, optional) – 使用するユーザーエージェント デフォルトは”*”

Returns:

スクレイピングが許可されている場合はTrue、禁止されている場合はFalse

Return type:

bool

flaretool.nettool.lookup_domain(ip: str) str | None

指定されたIPアドレスからドメイン名を取得する関数

Parameters:

ip (str) – IPアドレス

Returns:

ドメイン名(取得できない場合はNone)

Return type:

str | None

flaretool.nettool.lookup_ip(domain: str) str | None

指定されたドメイン名からIPアドレスを取得する関数

Parameters:

domain (str) – ドメイン名

Returns:

IPアドレス(取得できない場合はNone)

Return type:

str | None