
12ft.io 및 1ft.io의 자체 호스팅 대안. CORS 헤더를 제거하고 HTML을 수정하는 프록시.
Ladder는 http 웹 프록시입니다.
Ladder는 최신 웹사이트에서 페이월(paywall) 구현 및 콘텐츠 전달 동작을 테스트하고 분석하기 위한 개발자 도구입니다.
개발자, 연구자, 게시자는 다양한 클라이언트 환경(예: 브라우저 및 크롤러)을 시뮬레이션하고 다양한 조건에서 콘텐츠가 제공되는 방식을 관찰할 수 있습니다. 이를 통해 페이월 구성을 디버깅하고, 액세스 제어 및 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
일부 웹사이트는 접근하는 클라이언트 유형(예: 검색 엔진 크롤러 vs. 일반 웹 브라우저)에 따라 다른 콘텐츠(Cloaking)를 제공합니다. Ladder는 테스트, 자동화 또는 연구 목적으로 공개적으로 접근 가능한 콘텐츠를 검색하기 위해 다양한 클라이언트 유형을 에뮬레이션하도록 구성할 수 있습니다.
그러나 많은 웹사이트는 핑거프린팅, 속도 제한, 행동 분석 등 자동화된 접근을 제한하는 고급 메커니즘을 구현합니다. Ladder는 이러한 보호를 우회하지 않으며, 적극적으로 접근을 제한하거나 통제하는 서비스에서는 제대로 작동하지 않을 수 있습니다.
FlareSolverr와 같은 타사 도구가 존재하며, 헤드리스 브라우저 환경에서 웹 페이지를 렌더링하기 위해 독립적으로 사용될 수 있습니다. 이러한 도구는 Ladder의 일부가 아니며, 사용 시 법적 및 계약상 제한을 받을 수 있습니다. 사용자는 자신의 사용이 모든 관련 규정을 준수하는지 확인할 전적인 책임이 있습니다.
경고: 인스턴스를 공개적으로 접근 가능하게 할 경우 Basic Auth를 활성화하십시오. 이렇게 하면 권한 없는 사용자가 프록시를 사용하는 것을 방지할 수 있습니다. Basic Auth를 활성화하지 않으면 누구나 프록시를 사용하여 불쾌하거나 불법적인 콘텐츠를 탐색할 수 있으며, 이에 대한 책임은 사용자에게 있습니다.
./ladder -r https://raw.githubusercontent.com/everywall/ladder-rules/main/ruleset.yaml 실행docker 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
| 변수 | 설명 | 값 |
|---|---|---|
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 Auth 활성화, 형식 admin:123456 | `` |
LOG_URLS | 가져온 URL 로깅 | true |
DISABLE_FORM | URL 양식 첫 페이지 비활성화 | false |
FORM_PATH | 커스텀 Form HTML 경로 | `` |
RULESET | 규칙셋 파일의 경로 또는 URL, 로컬 디렉터리 허용 | https://raw.githubusercontent.com/everywall/ladder-rules/main/ruleset.yaml 또는 /path/to/my/rules.yaml 또는 /path/to/my/rules/ |
EXPOSE_RULESET | 규칙셋을 다른 Ladder에서 사용 가능하게 함 | 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에서 사용할 수 있습니다. 자신만의 규칙을 추가하고 풀 리퀘스트를 생성하세요.