
12ft.io および 1ft.io のセルフホスト代替。CORS ヘッダーを除去し、HTML を変更するプロキシ。
Ladder は HTTP ウェブプロキシです。
Ladder は、現代のウェブサイトにおけるペイウォール実装とコンテンツ配信動作をテスト・解析するための開発者ツールです。
これにより、開発者、研究者、パブリッシャーは、さまざまなクライアント環境(ブラウザやクローラーなど)をシミュレートし、さまざまな条件下でコンテンツがどのように配信されるかを観察できます。そのため、ペイウォール設定のデバッグ、アクセス制御や HTTP ヘッダーの検証、さまざまなユーザーエージェント間での一貫した動作の確認に役立ちます。
Ladder は、正当なテスト、研究、品質保証の目的にのみ使用されることを意図しています。適用される法律および対象ウェブサイトの利用規約を遵守した場合にのみ使用してください。

sequenceDiagram
client->>+ladder: GET
ladder-->>ladder: apply RequestModifications
ladder->>+website: GET
website->>-ladder: 200 OK
ladder-->>ladder: apply ResultModifications
ladder->>-client: 200 OK
一部のウェブサイトは、アクセスするクライアントの種類(たとえば、検索エンジンのクローラーと標準的なウェブブラウザ)に応じて異なるコンテンツ(クローキング)を配信します。Ladder は、テスト、自動化、研究目的で公開されているコンテンツを取得するために、さまざまなクライアントタイプをエミュレートするように設定できます。
ただし、多くのウェブサイトでは、フィンガープリンティング、レート制限、行動分析など、自動アクセスを制限する高度なメカニズムが実装されています。Ladder はそのような保護を回避するものではなく、アクセスを積極的に制限または制御するサービスでは正しく機能しない場合があります。
FlareSolverr などのサードパーティ製ツールは独立して存在し、ヘッドレスブラウザ環境でウェブページをレンダリングするために使用される場合があります。これらのツールは Ladder の一部ではなく、その使用には法的および契約上の制限が適用される場合があります。ユーザーは、自身の利用がすべての該当する規制に準拠していることを確認する単独の責任を負います。
警告: インスタンスが公開アクセス可能になる場合は、必ず Basic 認証を有効にしてください。これにより、許可されていないユーザーがプロキシを使用するのを防げます。Basic 認証を有効にしない場合、誰でもあなたのプロキシを使用して不快な/違法なコンテンツを閲覧でき、その責任はあなたに問われます。
./ladder -r https://raw.githubusercontent.com/everywall/ladder-rules/main/ruleset.yamldocker run -p 8080:8080 -d --env RULESET=https://raw.githubusercontent.com/everywall/ladder-rules/main/ruleset.yaml --name ladder ghcr.io/everywall/ladder:latest
curl https://raw.githubusercontent.com/everywall/ladder/main/docker-compose.yaml --output docker-compose.yaml
docker-compose up -d
詳細については、helm-chart サブディレクトリ内の README.md を参照してください。
または、プロキシ URL の末尾に URL を追加して直接アクセスする: http://localhost:8080/https://www.example.com
または、次の URL でブックマークを作成する:
javascript:window.location.href="http://localhost:8080/"+location.href
curl -X GET "http://localhost:8080/api/https://www.example.com"
http://localhost:8080/raw/https://www.example.com
| Variable | Description | Value |
|---|---|---|
PORT | リッスンするポート | 8080 |
PREFORK | 複数のサーバーインスタンスを起動 | false |
USER_AGENT | エミュレートするユーザーエージェント | Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) |
X_FORWARDED_FOR | IP フォワーダーアドレス | 66.249.66.1 |
USERPASS | Basic 認証を有効化、形式 admin:123456 | `` |
LOG_URLS | 取得した URL をログに記録 | true |
DISABLE_FORM | URL フォームのフロントページを無効化 | false |
FORM_PATH | カスタムフォーム HTML へのパス | `` |
RULESET | ルールセットファイルへのパスまたは URL。ローカルディレクトリも指定可能 | https://raw.githubusercontent.com/everywall/ladder-rules/main/ruleset.yaml または /path/to/my/rules.yaml または /path/to/my/rules/ |
EXPOSE_RULESET | ルールセットを他のラダーから利用可能にする | true |
ALLOWED_DOMAINS | 許可するドメインのカンマ区切りリスト。空 = 制限なし | `` |
ALLOWED_DOMAINS_RULESET | ルールセットのドメインを許可。false = 制限なし | false |
FLARESOLVERR_HOST | Cloudflare 回避用の FlareSolverr サービスの URL(オプション) | http://localhost:8191 |
ALLOWED_DOMAINS と ALLOWED_DOMAINS_RULESET は結合されます。両方が空の場合、制限は適用されません。
| BASE_PATH | プロキシのベースパス。サブパスでプロキシを実行する場合に便利(例: http://localhost:8080/proxy/) | `` |
カスタムルールを適用して、レスポンスまたは要求された URL を変更できます。これは、ページから不要な要素を削除したり、要素を変更したりするために使用できます。ルールセットは、YAML ファイル、YAML ファイルを含むディレクトリ、または各ドメインのルールリストを含む YAML ファイルへの URL です。これらのルールは起動時に読み込まれます。
基本的なルールセットは、別のリポジトリ ruleset.yaml で利用できます。独自のルールを追加してプルリクエストを作成してください。