
ドメインエンリッチメントツールキット $ pip install richkit
Richkitは、ドメイン名を入力として受け取り、そのドメインに関する追加情報を返すツールを提供するPython3パッケージです。ドメイン自体の分析、データベースからの検索、他のサービスからの取得、またはこれらの組み合わせが可能です。
Richkitの目的は、ドメイン名に関連する分析、検索、取得機能の再利用可能なライブラリを提供することです。これはオールボー大学のネットワークセキュリティ研究グループ内で共有され、一般公開され、再利用や修正が可能です。
ドキュメントは https://richkit.readthedocs.io/en/latest/ にあります。
Python >= 3.5Richkitをインストールするには、ターミナルで pip install richkit と入力するだけです。
以下のコードは、それぞれTLDとURLカテゴリを取得するために使用できます。
指定されたURLの実効トップレベルドメインを取得する:
>>> from richkit.analyse import tld
>>> urls = ["www.aau.dk","www.github.com","www.google.com"]
>>>
>>> for url in urls:
... print(tld(url))
dk
com
com
指定されたURLのカテゴリを取得する:
>>> from richkit.retrieve.symantec import fetch_from_internet
>>> from richkit.retrieve.symantec import LocalCategoryDB
>>>
>>> urls = ["www.aau.dk","www.github.com","www.google.com"]
>>>
>>> local_db = LocalCategoryDB()
>>> for url in urls:
... url_category=local_db.get_category(url)
... if url_category=='':
... url_category=fetch_from_internet(url)
... print(url_category)
Education
Technology/Internet
Search Engines/Portals
Richkitは、以下のモジュールに分類される関数群を定義しています。
richkit.analyse:このモジュールはドメイン名に適用できる関数を提供します。richkit.lookupと同様、richkit.retrieveとは対照的に、ドメイン名を第三者に開示したり機密性を侵害したりすることなく実行されます。
richkit.lookup:このモジュールはローカルリソース内でドメイン名を検索する機能を提供します。つまり、ドメイン名を第三者に送信することはできません。このモジュールはリストやデータベースなどのリソースを取得する可能性がありますが、ドメイン名の機密性を保つ方法で行われなければなりません。richkit.retrieveと対照的です。
richkit.retrieve:このモジュールはあらゆる種類のドメイン名に関するデータを取得する機能を提供します。richkit.lookupのような「機密性の契約」はありません。
環境に関する問題を防ぐために、Richkitのテストを実行するDockerイメージを構築するDockerfile.testファイルを提供しています。
.github/local-test/run-test.shの3行目のMAXMIND_LICENCE_KEYだけです。これはlookupモジュールのテストケースを通過するために必要です。Docker環境でテストするコマンド。
docker build -t richkit-test -f Dockerfile.test . :テストケースを実行するために必要なイメージをビルドします。
docker run -e MAXMIND_LICENSE_KEY="<licence-key> " richkit-test :Dockerイメージ内でrun-test.shファイルを実行します。
コントリビューションを大歓迎します。
私たちはgitflowブランチ戦略を使用しているため、このリポジトリにブランチをプッシュする予定がある場合は、それに従ってください。ブランチ名は.githooks/check-branch-name.pyでテストされることに注意してください。git pre-commitフックを使用すると、コミット時に自動的にチェックできます。Linuxで利用可能なサンプルは以下のように直接使用でき、次のように有効にすることができます(python>=3.6とbashを前提):
ln -s $(pwd)/.githooks/pre-commit.linux.sample $(pwd)/.git/hooks/pre-commit