1 puntos por GN⁺ 2023-07-11 | 1 comentarios | Compartir por WhatsApp
  • El PR #927 de zedeus/nitter, “Fix everything”, se fusionó a master el 10 de julio de 2023, incorporando cambios para restaurar funciones rotas
  • La restauración se hizo usando un nuevo bearer token y un conjunto de endpoints actualizados, y el parser también fue actualizado
  • La función de búsqueda no está totalmente restaurada; según el commit, la búsqueda de usuarios está habilitada, pero la búsqueda de tuits está deshabilitada
  • Como cambio adicional, multi-user timelines fue deshabilitado por el momento, y también se incluyó una corrección al parseo de pinned tombstone
  • RSS funciona, pero está deshabilitado en nitter.net, así que su disponibilidad depende de la configuración de cada instancia

Alcance de la corrección fusionada

  • El PR #927 de zedeus/nitter, “Fix everything”, se fusionó desde la rama elon-fix hacia master
    • La fecha de fusión fue el 10 de julio de 2023
    • Incluyó un total de 4 commits
    • Después de la fusión, la rama elon-fix fue eliminada

Método principal de restauración

  • El núcleo del cambio fue usar un nuevo bearer token y un conjunto de endpoints actualizados
  • El parser también se actualizó para funcionar con la nueva estructura de respuesta
  • En la explicación inicial, se indicó que la función faltante era search

Cambios relacionados con búsqueda y timelines

  • La búsqueda solo se restauró parcialmente
    • Con el commit Enable user search, disable tweet search, la búsqueda de usuarios quedó habilitada
    • La búsqueda de tuits quedó deshabilitada
  • Con el commit Disable multi-user timelines for now, multi-user timelines quedó deshabilitado por el momento

Corrección de parseo

  • Se incluyó el commit Fix parsing of pinned tombstone
  • Se corrigió por separado un problema de parseo relacionado con pinned tombstone

Estado de RSS

  • En los comentarios se preguntó si RSS estaba funcionando
  • zedeus respondió que RSS funciona, pero está deshabilitado en nitter.net
  • Por lo tanto, el soporte de RSS en sí y su estado de activación en nitter.net son cosas distintas

1 comentarios

 
GN⁺ 2023-07-11
Comentarios de Hacker News
  • Advertencia: esto puede sonar como una fanfarronada larga y apenas relacionada, pero en resumen evadir el rate limit de Twitter no es tan difícil
    Como no quería tocar el molesto certificate pinning de Twitter, subí el APK de Twitter a Corellium, activé el “network monitor” ahí y abrí la app de Twitter que se puede usar incluso sin iniciar sesión
    Mientras buscaba y veía tuits, revisé el registro de solicitudes y había un proceso de guest token similar al del sitio web, con solo algunas diferencias
    Al reproducir estas solicitudes, puedes crear varios OAuth tokens sin expiración por día con una sola IP. Estos tokens son para usuarios no autenticados, así que no tienen permisos de escritura, pero aquí eso no hacía falta
    Si compras alrededor de 1GB de ancho de banda a un proveedor de proxies con un gran pool de IPs, puedes obtener fácilmente miles de tokens/secrets usando muy poco ancho de banda, y cada uno tiene su propio rate limit. No importaba desde qué IP se usaran realmente los tokens
    Después seguí https://docs.google.com/document/d/1xVrPoNutyqTdQ04DXBEZW4ZW... y aproveché que /statuses/lookup.json todavía puede devolver 100 tuits por solicitud para reconstruir algo cercano al 50% Firehose de Twitter
    Twitter ni siquiera bloqueó las IPs de centros de datos. Quise mostrar los datos en https://firehose.lol, pero habría necesitado cientos de solicitudes por segundo y eso me hizo sentir incómodo, así que terminé apagando el programa sin dejarlo correr más de unos minutos
    Ver una parte del Firehose por unos minutos fue interesante. Al principio olvidé ocultar los tuits marcados como possibly_sensitive, así que durante unos segundos vi material bastante subido de tono; también había muchos anuncios de apuestas en chino aunque Twitter está bloqueado en China, cuentas sospechosas promocionando inversiones, usuarios con nombres como FirstnameLastname3781264872 que tuiteaban tres palabras aleatorias cada pocos segundos, y algunos tuits graciosos

    • Si usas archive.md, también puedes evadir el rate limit de forma mucho más simple, aunque con bastante menos eficiencia. Como archive.md no se ve afectado por el rate limit, sirve cuando solo quieres ver de vez en cuando algunos tuits sin cuenta
  • Es el proyecto en Nim más impresionante que he visto hasta ahora. Recrear el frontend principal, hacer que la autenticación funcione y además manejar comportamientos raros de una API privada es un trabajo enorme
    En contexto, dentro de Twitter seguramente habrían asignado a más de 20 personas solo para dar soporte a algo así. Aplausos para quien lo logró

    • El frontend usa Karax, que es mi biblioteca de frontend/aplicaciones de página única favorita de cualquier lenguaje. Tiene algunas asperezas, pero de verdad da mucho gusto usarla
      https://github.com/karaxnim/karax
    • Claro, en Twitter sí le pondrían a más de 20 personas, pero también porque aunque Nitter se caiga, a casi nadie le importaría demasiado
  • Da risa que el efecto del rate limit casi no haya afectado a bots ni scrapers, pero sí haya golpeado duramente a la base de usuarios normal del sitio

    • Es totalmente anecdótico, pero en mis cuentas la actividad de bots había ido en aumento durante el último mes y se detuvo por completo después de las medidas recientes de rate limit
    • En modo conspiración, ¿y si ese era el objetivo desde el principio? Twitter fue un espacio importante para organizar protestas como Arab Spring u Occupy Wall Street
      Una de las personas más ricas del mundo, además con una fuerte postura antisindical, compró ese espacio y lo volvió inutilizable en un momento en que la desigualdad sigue empeorando y la cohesión social se está desmoronando
      Ya no queda un lugar para organizarse, y eso significa una amenaza menos para el capital
    • En muchos casos es cierto. Casi cualquier restricción nueva termina afectando solo a los usuarios casuales, mientras que los atacantes por lo general no son usuarios casuales
    • Desde que Elon compró el sitio, más bien parece que los bots no han hecho más que aumentar. Cada vez recibo más DMs de cuentas spam, y por alguna razón también llegan desde Japón
      Haga lo que haga Elmo, nada parece funcionar bien
  • Después del cambio en la API, el bearer token predeterminado que yo usaba también dejó de funcionar, pero al cambiarlo del mismo modo mi app para descargar Twitter Spaces volvió a funcionar sin problemas
    0: https://github.com/Chiplis/moonbird

  • Sigue sin poder verse perfiles o respuestas en Twitter sin iniciar sesión, y eso es realmente impresionante
    Llevo 4 años como usuario de Nitter y voy a seguir usándolo mientras funcione

    • También puedes usar RSS. Solo agrega /rss al final de la URL
  • Se suponía que no debíamos hablar de Fight Club

    • De todos modos, las páginas de Nitter están indexadas en Google, así que no es precisamente un secreto
  • ¿Esto de verdad es permanente? Quisiera saber más sobre este bearer token
    En otros hilos de issues de GitHub parecía que cada vez que encontraban una forma de sortear las protecciones de Twitter, terminaban bloqueándola
    Parece que el token está literalmente hardcodeado en el código fuente, lo que significaría que miles de instancias de Nitter y miles de usuarios en todo el mundo están usando el mismo token
    Las empresas de IA también podrían usarlo potencialmente, así que no entiendo cómo esto podría seguir funcionando

    • Parece que este token lo usan las apps web/móviles oficiales de Twitter. Por eso veo difícil que Twitter simplemente lo desactive o lo bloquee de inmediato
    • Me intriga que hayan permitido que la API “no oficial” siguiera funcionando, aunque sea de forma intermitente. Agradezco poder usar Nitter, pero algo no termina de cuadrar
    • Parece que la API vieja volvió a funcionar
    • Por eso parece que NewPipe no funciona bien la mayor parte del tiempo. Y cuando funciona, es ridículamente lento
  • Eso significa que se restauró el acceso anónimo. De todos modos Nitter no usa la ya desaparecida API de Twitter. Hubo un momento en que volvió por un rato
    Twitter debería ofrecer un portal web interoperable noscript/basic (x)html

  • Entonces, ¿el tema del AI Scrapocalypse ya no es críticamente importante?

    • Desde el principio dudé que esa fuera la verdadera razón del rate limit
    • Tal vez amenazó con despedir en grande a los duendecillos del taller, así que ellos trabajaron toda la noche, durmieron sobre los viejos colchones de la oficina e hicieron realidad Make Twitter Scale Again, y ahora el mundo de los load balancers volvió a estar en paz
  • Esto se parece a una laguna analógica. Mientras los datos se sigan entregando del servidor al cliente, el scraping siempre será posible
    Aunque Apple está intentando dificultarlo más: https://developer.apple.com/documentation/devicecheck/prepar...

    • No soy desarrollador de iOS, pero me gustaría entender qué implicaciones tiene App Attest en relación con la laguna que se usó aquí