PyisonはAIウェブクローラー用のタールピットです。
このプロジェクトをローカルフォルダにクローンします
config/config.jsonファイルの設定を変更します
random-seedをランダムな数値に設定します!port番号を設定します(オプションですが推奨) HTMLテンプレート、CSS、画像、robots.txtをお好みで更新します
(オプション) 影響を受けるボットを変更したい場合はrobots.txtを編集します
以下のいずれかの方法でサーバー環境をセットアップします
サーバーをリバースプロキシの背後に配置します
pip install nltkpython3 src/server.pyhttp://localhost:<ポート番号> をブラウザで開くこのコンテンツを配信するには、リバースプロキシを使用することを強くお勧めします。ページのキャッシュとレート制限の導入によりサーバー負荷を軽減し、HTTPS経由でのコンテンツ配信や、いくつかの基本的なウェブサーバー攻撃からの保護が可能です。
User-Agent HTTPヘッダーをNPMからPyisonサーバーに渡すはずです。必要に応じてproxy_pass_header User-Agent;を使用してください。UIで以下の設定を選択するか、設定ファイルに同等の設定を入力します:
tarpit.example.com など、管理下にあるドメインまたはサブドメインhttplocalhost、またはDockerネットワークを使用している場合はDockerコンテナ名80)Cache AssetsとBlock Common Exploitsを有効にし、Websockets Supportは有効にしないサブパスでPyisonを使用するには、以下のロケーション設定を使用します
# ルートページを処理 ("example.com/tarpit")
location /tarpit {
proxy_pass http://localhost:80;
}
# すべてのサブページを処理 ("example.com/tarpit/a" および "example.com/tarpit/a/b")
location /tarpit/ {
proxy_pass http://localhost:80;
}
# 3文字のファイル拡張子を持つすべてのURLを処理 ("example.com/tarpit/style.css" および "example.com/tarpit/images/picture.jpg")
# ~ は正規表現マッチングを示すことに注意。その直後の文字列は有効な正規表現である必要があります。
location ~ .*\/tarpit\/.*\....$ {
proxy_pass http://localhost:80;
}
UIを使用した動作する設定例:
/tarpitにはカスタム設定はありません。上記で定義された最初のロケーションブロックと同じように動作します。/tarpit/には、上記で定義された2番目と3番目のロケーションブロックが含まれますtarpitを目的のルートパスに置き換えてください。
/tar/pitのようなより深いルートパスを使用する場合、3番目のロケーションブロックは正規表現を使用するため、スラッシュはバックスラッシュでエスケープする必要があることに注意してください
/tar/pitの場合、3番目のロケーションブロックでlocation ~ .*\/tar\/pit\/.*\....$が必要port (デフォルト 80)
random-seed (必ず変更してください!)
document-root (デフォルト "/")
https://example.com/pyison/ または /pyison/fake-image-dir (デフォルト ["images"])
fake-css-dir (デフォルト ["css"])
spacing-characters (デフォルト ["_","-","%20"])
unsafe-characters (デフォルト ["'","`"])
{HOME}
{TITLE}
/blog/about/once-upon-a-time -> Once Upon A Time{UPTITLE}
{MAIN}
{UP}
/blog/about/once-upon-a-time -> /blog/about{CSSLINK}
/styles)は設定で設定できます
テンプレートを編集する前のサイトの外観のサンプルです:

services:
pyison:
image: "ghcr.io/jonaslong/pyison:main"
container_name: pyison
tty: true
ports:
- 80:80
docker compose up
-d フラグを使用してコンテナからデタッチしますdocker run --tty --name pyison -p "127.0.0.1:80:80" --rm ghcr.io/jonaslong/pyison:main
--rm フラグを削除してコンテナを永続化しますdocker build -t pyison:latest .docker run --tty --name pyison -p "127.0.0.1:80:80" --rm pyison:latest でコンテナを実行document-root設定を更新します(設定セクションを参照)robots-txt (デフォルト "assets/robots.txt")
/robots.txtで提供されるファイルを設定しますhtml-templates (デフォルト ["assets/template.html"])
css-files (デフォルト ["assets/style.css"])
images
ico (デフォルト ["assets/logo.ico"])jpg (デフォルト ["assets/logo.jpg"])png (デフォルト["assets/logo.png"])remove-from-stop-words
{WORD}
{NAME}
{SENTENCE}
{PIC}
/images)は設定で設定できます{LINK}
/dressage/electrochronometer/himself-she-eciliate{OVER}
/neighborliness/wont_unhonest にアクセスした場合、{OVER}タグは /neighborliness/hooliganism に置き換えられる可能性があります{NEWTITLE}
Nectarial Electrofusion Which Dephosphorization{LINK}または{OVER}タグの後にある場合、タイトルとURLが同期されます
<a href="https://github.com/jonaslong/pyison/blob/main/%7BOVER%7D">{NEWTITLE}</a> は <a href="https://github.com/jonaslong/pyison/blob/main/swordmanship/yeller/over-will-oghuz">Over Will Oghuz</a> に置き換えられる可能性があります{NEWTITLE}タグは、同期するために最も近い{LINK}または{OVER}タグを後方に検索します。
{NEWTITLE}が望まれる場合、{LINK}または{OVER}タグの直後にタグが続くとき、タグは常に正しくペアになります。{NEWTITLE}