
Tarpit Pythonic para crawlers de IA
Pyison es un tarpit para rastreadores web de IA
Clona este proyecto en una carpeta local
Cambia los ajustes en el archivo config/config.json
random-seed a un número aleatorio!port que usará el servidor(Opcional pero recomendado) Actualiza la plantilla HTML, el CSS, las imágenes y el robots.txt a tu gusto
(Opcional) Edita el robots.txt si quieres cambiar qué bots se ven afectados
Configura el entorno del servidor con cualquiera de los métodos siguientes
Coloca el servidor detrás de un proxy inverso
pip install nltkpython3 src/server.pyhttp://localhost:<your port number> en un navegadorEs muy recomendable que uses un proxy inverso para servir este contenido. Puede reducir la carga del servidor al almacenar páginas en caché e introducir límites de velocidad, además de servir el contenido a través de https y proteger contra algunos exploits básicos de servidores web.
User-Agent de NPM al servidor Pyison sin ninguna configuración especial. Usa proxy_pass_header User-Agent; si es necesario.Selecciona los siguientes ajustes en la interfaz, o introduce los ajustes equivalentes en el archivo de configuración:
tarpit.example.comhttplocalhost, o el nombre del contenedor docker si usas una red docker80)Cache Assets y Block Common Exploits, pero no Websockets SupportPara usar Pyison en una sub-ruta, usa la siguiente configuración de ubicación
# Handles the root page ("example.com/tarpit")
location /tarpit {
proxy_pass http://localhost:80;
}
# Handles all sub-pages ("example.com/tarpit/a" and "example.com/tarpit/a/b")
location /tarpit/ {
proxy_pass http://localhost:80;
}
# Handles all urls with a 3-letter file extension ("example.com/tarpit/style.css" and "example.com/tarpit/images/picture.jpg")
# Note that the ~ denotes regex matching. The string immediately following it must be a valid regex statement.
location ~ .*\/tarpit\/.*\....$ {
proxy_pass http://localhost:80;
}
Aquí tienes una configuración funcional usando la interfaz:
/tarpit, no tiene configuración personalizada. Se comportará como el primer bloque de ubicación definido anteriormente./tarpit/, contiene el segundo y el tercer bloque de ubicación definidos anteriormentetarpit con la ruta raíz deseada.
/tar/pit, ten en cuenta que el tercer bloque de ubicación usa expresiones regulares, por lo que cualquier barra debe escaparse con una barra invertida
port (por defecto 80)
random-seed (¡Por favor, cámbialo!)
document-root (por defecto "/")
https://example.com/pyison/ o /pyison/fake-image-dir (por defecto ["images"])
fake-css-dir (por defecto ["css"])
spacing-characters (por defecto ["_","-","%20"])
{HOME}
{TITLE}
/blog/about/once-upon-a-time -> Once Upon A Time{UPTITLE}
{MAIN}
{UP}
/blog/about/once-upon-a-time -> /blog/about
Aquí tienes una muestra de cómo se ve el sitio antes de cualquier edición de la plantilla:

services:
pyison:
image: "ghcr.io/jonaslong/pyison:main"
container_name: pyison
tty: true
ports:
- 80:80
docker compose up
-d para separarte del contenedordocker run --tty --name pyison -p "127.0.0.1:80:80" --rm ghcr.io/jonaslong/pyison:main
--rm para conservar el contenedordocker build -t pyison:latest .docker run --tty --name pyison -p "127.0.0.1:80:80" --rm pyison:latest/tar/pit requeriría location ~ .*\/tar\/pit\/.*\....$ en el tercer bloque de ubicacióndocument-root de Pyison con la sub-ruta utilizada por el proxy (consulta la sección Configuración)unsafe-characters (por defecto ["'","`"])
robots-txt (por defecto "assets/robots.txt")
/robots.txthtml-templates (por defecto ["assets/template.html"])
css-files (por defecto ["assets/style.css"])
images
ico (por defecto ["assets/logo.ico"])jpg (por defecto ["assets/logo.jpg"])png (por defecto["assets/logo.png"])remove-from-stop-words
{CSSLINK}
/styles) se puede configurar en la configuración{WORD}
{NAME}
{SENTENCE}
{PIC}
/images) se puede configurar en la configuración{LINK}
/dressage/electrochronometer/himself-she-eciliate{OVER}
/neighborliness/wont_unhonest, una etiqueta {OVER} podría reemplazarse con /neighborliness/hooliganism{NEWTITLE}
Nectarial Electrofusion Which Dephosphorization{LINK} o {OVER}, el título y la URL estarán sincronizados
<a href="https://github.com/jonaslong/pyison/blob/main/%7BOVER%7D">{NEWTITLE}</a> podría reemplazarse con <a href="https://github.com/jonaslong/pyison/blob/main/swordmanship/yeller/over-will-oghuz">Over Will Oghuz</a>{NEWTITLE} buscará hacia atrás la etiqueta {LINK} o {OVER} más cercana para sincronizarse.
{LINK} o {OVER} vaya seguida inmediatamente de su etiqueta , si se desea un {NEWTITLE}{NEWTITLE}