
Alternativa self-hosted a 12ft.io e 1ft.io. Proxy per rimuovere le intestazioni CORS e modificare l'HTML.
Ladder è un proxy web http.
Ladder è uno strumento per sviluppatori per testare e analizzare le implementazioni di paywall e il comportamento di distribuzione dei contenuti sui siti web moderni.
Consente a sviluppatori, ricercatori ed editori di simulare diversi ambienti client (come browser e crawler) e osservare come i contenuti vengono serviti in condizioni variabili. Ciò lo rende utile per eseguire il debug delle configurazioni dei paywall, verificare i controlli di accesso e le intestazioni HTTP e garantire un comportamento coerente tra diversi user agent.
Ladder è destinato esclusivamente a test legittimi, attività di ricerca e garanzia di qualità. Deve essere utilizzato solo in conformità con le leggi applicabili e i termini di servizio del sito web target.

sequenceDiagram
client->>+ladder: GET
ladder-->>ladder: apply RequestModifications
ladder->>+website: GET
website->>-ladder: 200 OK
ladder-->>ladder: apply ResultModifications
ladder->>-client: 200 OK
Alcuni siti web distribuiscono contenuti diversi (cloaking) in base al tipo di client che vi accede (ad esempio, crawler dei motori di ricerca rispetto a browser web standard). Ladder può essere configurato per emulare diversi tipi di client al fine di recuperare contenuti accessibili pubblicamente per scopi di test, automazione o ricerca.
Tuttavia, molti siti web implementano meccanismi avanzati per limitare l'accesso automatizzato, come fingerprinting, limitazione della frequenza o analisi comportamentale. Ladder non aggira tali protezioni e potrebbe non funzionare correttamente su servizi che limitano o controllano attivamente l'accesso.
Strumenti di terze parti come FlareSolverr esistono e possono essere utilizzati indipendentemente per rendere le pagine web in un ambiente browser headless. Questi strumenti non fanno parte di Ladder e il loro utilizzo potrebbe essere soggetto a restrizioni legali e contrattuali. Gli utenti sono gli unici responsabili di garantire che il loro utilizzo sia conforme a tutte le normative applicabili.
Avvertenza: Se la tua istanza sarà accessibile pubblicamente, assicurati di abilitare l'autenticazione di base. Ciò impedirà a utenti non autorizzati di utilizzare il tuo proxy. Se non abiliti l'autenticazione di base, chiunque può usare il tuo proxy per navigare su contenuti sgradevoli/illegali. E ne sarai ritenuto responsabile.
./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
Vedere README.md nella sottodirectory helm-chart per maggiori informazioni.
Oppure direttamente aggiungendo l'URL alla fine dell'URL del proxy: http://localhost:8080/https://www.example.com
Oppure crea un segnalibro con il seguente 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
| Variabile | Descrizione | Valore |
|---|---|---|
PORT | Porta su cui ascoltare | 8080 |
PREFORK | Avvia più istanze del server | false |
USER_AGENT | User agent da emulare | Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) |
X_FORWARDED_FOR | Indirizzo IP di inoltro | 66.249.66.1 |
USERPASS | Abilita l'autenticazione di base, formato admin:123456 | `` |
LOG_URLS | Registra gli URL recuperati | true |
DISABLE_FORM | Disabilita il modulo URL nella pagina iniziale | false |
FORM_PATH | Percorso del modulo HTML personalizzato | `` |
RULESET | Percorso o URL di un file ruleset, accetta directory locali | https://raw.githubusercontent.com/everywall/ladder-rules/main/ruleset.yaml oppure /path/to/my/rules.yaml oppure /path/to/my/rules/ |
EXPOSE_RULESET | Rende il tuo Ruleset disponibile ad altre istanze di Ladder | true |
ALLOWED_DOMAINS | Elenco separato da virgole di domini consentiti. Vuoto = nessuna limitazione | `` |
ALLOWED_DOMAINS_RULESET | Consenti i domini dal Ruleset. false = nessuna limitazione | false |
FLARESOLVERR_HOST | URL del servizio FlareSolverr per il bypass di Cloudflare (opzionale) | http://localhost:8191 |
ALLOWED_DOMAINS e ALLOWED_DOMAINS_RULESET vengono combinati. Se entrambi sono vuoti, non vengono applicate limitazioni.
| BASE_PATH | Percorso di base per il proxy, utile se si desidera eseguire il proxy su un sottopercorso (es. http://localhost:8080/proxy/) | `` |
È possibile applicare regole personalizzate per modificare la risposta o l'URL richiesto. Questo può essere utilizzato per rimuovere elementi indesiderati o modificare elementi della pagina. Il ruleset è un file YAML, una directory con file YAML o un URL di un file YAML che contiene un elenco di regole per ciascun dominio. Queste regole vengono caricate all'avvio.