
Alternative auto-hébergée à 12ft.io. et 1ft.io. Proxy pour supprimer les en-têtes CORS et modifier le HTML.
Ladder est un proxy web HTTP.
Ladder est un outil pour développeurs permettant de tester et d'analyser les implémentations de paywall et le comportement de distribution de contenu sur les sites web modernes.
Il permet aux développeurs, chercheurs et éditeurs de simuler différents environnements clients (tels que les navigateurs et les robots d'exploration) et d'observer comment le contenu est servi dans des conditions variées. Il est donc utile pour déboguer les configurations de paywall, vérifier les contrôles d'accès, les en-têtes HTTP et garantir un comportement cohérent entre différents agents utilisateur.
Ladder est destiné uniquement à des fins légitimes de test, de recherche et d'assurance qualité. Il ne doit être utilisé qu'en conformité avec les lois applicables et les conditions d'utilisation du site web cible.

sequenceDiagram
client->>+ladder: GET
ladder-->>ladder: apply RequestModifications
ladder->>+website: GET
website->>-ladder: 200 OK
ladder-->>ladder: apply ResultModifications
ladder->>-client: 200 OK
Certains sites web fournissent un contenu différent (cloaking) selon le type de client qui y accède (par exemple, les robots de moteurs de recherche par rapport aux navigateurs web standard). Ladder peut être configuré pour émuler différents types de clients afin de récupérer du contenu accessible au public à des fins de test, d'automatisation ou de recherche.
Cependant, de nombreux sites web mettent en œuvre des mécanismes avancés pour restreindre l'accès automatisé, tels que l'empreinte numérique (fingerprinting), la limitation de débit (rate limiting) ou l'analyse comportementale. Ladder ne contourne pas ces protections et peut ne pas fonctionner correctement sur les services qui restreignent ou contrôlent activement l'accès.
Des outils tiers tels que FlareSolverr existent et peuvent être utilisés indépendamment pour restituer des pages web dans un environnement de navigateur sans tête (headless browser). Ces outils ne font pas partie de Ladder et leur utilisation peut être soumise à des restrictions légales et contractuelles. Les utilisateurs sont seuls responsables de veiller à ce que leur utilisation respecte toutes les réglementations applicables.
Avertissement : Si votre instance est accessible publiquement, assurez-vous d'activer l'authentification de base. Cela empêchera les utilisateurs non autorisés d'utiliser votre proxy. Si vous n'activez pas l'authentification de base, n'importe qui peut utiliser votre proxy pour naviguer sur des contenus choquants/illégaux. Et vous en serez tenu responsable.
./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
Voir README.md dans le sous-répertoire helm-chart pour plus d'informations.
Ou directement en ajoutant l'URL à la fin de l'URL du proxy : http://localhost:8080/https://www.example.com
Ou créez un favori avec l'URL suivante :
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 | Valeur |
|---|---|---|
PORT | Port à écouter | 8080 |
PREFORK | Générer plusieurs instances du serveur | false |
USER_AGENT | User agent à émuler | Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) |
X_FORWARDED_FOR | Adresse IP de transfert | 66.249.66.1 |
USERPASS | Active l'authentification de base, format admin:123456 | `` |
LOG_URLS | Journalise les URL récupérées | true |
DISABLE_FORM | Désactive le formulaire d'URL sur la page d'accueil | false |
FORM_PATH | Chemin vers le HTML du formulaire personnalisé | `` |
RULESET | Chemin ou URL vers un fichier de règles, accepte les répertoires locaux | https://raw.githubusercontent.com/everywall/ladder-rules/main/ruleset.yaml ou /path/to/my/rules.yaml ou /path/to/my/rules/ |
EXPOSE_RULESET | Rendre votre ruleset disponible aux autres instances de Ladder | true |
ALLOWED_DOMAINS | Liste de domaines autorisés séparés par des virgules. Vide = aucune limitation | `` |
ALLOWED_DOMAINS_RULESET | Autoriser les domaines du ruleset. false = aucune limitation | false |
FLARESOLVERR_HOST | URL du service FlareSolverr pour contourner Cloudflare (optionnel) | http://localhost:8191 |
ALLOWED_DOMAINS et ALLOWED_DOMAINS_RULESET sont combinés. Si les deux sont vides, aucune limitation n'est appliquée.
| BASE_PATH | Chemin de base du proxy, utile si vous souhaitez exécuter le proxy sur un sous-chemin (par ex. http://localhost:8080/proxy/) | `` |