Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
peer-tweet — Feeds descentralizados usando el DHT de BitTorrent. Idea de Arvid y The_8472 "DHT RSS feeds" http://libtorrent.org/dht_rss.html | Kitploit
Herramientas/GitHubGitHub/lmatteis/peer-tweet
OSINT (Inteligencia de Fuentes Abiertas)Recopilación de InformaciónCriptografía
GitHublmatteis/peer-tweet

peer-tweet

Feeds descentralizados usando el DHT de BitTorrent. Idea de Arvid y The_8472 "DHT RSS feeds" http://libtorrent.org/dht_rss.html

Ver Repositorio
864342hace 10 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

PeerTweet

Feeds descentralizados usando el DHT de BitTorrent. Idea de Arvid y The_8472 "DHT RSS feeds" http://libtorrent.org/dht_rss.html

Captura de pantalla

PeerTweet

Enlaces rápidos

  • Descarga los últimos binarios desde la página de lanzamientos.
  • Encuentra y comparte direcciones de PeerTweet desde la página de direcciones.

¿Qué es PeerTweet?

El DHT de BitTorrent es probablemente una de las redes más resistentes y resistentes a la censura en Internet. PeerTweet utiliza esta red para permitir a los usuarios transmitir tweets a cualquiera que esté escuchando. Cuando inicias PeerTweet, genera un hash @33cwte8iwWn7uhtj9MKCs4q5Ax7B que es similar a tu nombre de usuario de Twitter (ej. @lmatteis). La diferencia es que tienes control total sobre lo que se puede publicar porque solo tú posees la clave privada asociada a dicha dirección. Además, gracias al DHT, lo que publiques no puede ser detenido por ningún gobierno o institución.

Una vez que encuentres otras direcciones de PeerTweet en las que confíes (y que no sean spam), puedes seguirlas. Esto configura tu cliente para almacenar los tweets de ese usuario y transmitirlos al DHT de vez en cuando para mantener su feed vivo. Esta cooperación al seguir cuentas permite que los feeds se mantengan activos en la red DHT. El protocolo PeerTweet también publica tus acciones como I just followed @919c.. o I just liked @9139.. y I just retweeted @5789... Esto permite la posibilidad de que nuevos usuarios encuentren otras direcciones en las que puedan confiar; si confío en el usuario @6749.. y él sigue a @9801.., entonces quizás pueda marcar @9801.. como no spam. Esta idea de tuitear públicamente sobre tus acciones también permite un poderoso análisis futuro de rastreo de este grafo social.

¿Cómo funciona?

PeerTweet sigue la mayoría de las pautas de implementación proporcionadas por la propuesta de feed RSS del DHT http://libtorrent.org/dht_rss.html. Lo implementamos sobre la propuesta actual BEP44 que proporciona funcionalidad get() y put() sobre la red DHT. Esto significa que, en lugar de usar el DHT solo para anunciar qué torrents se están descargando, también podemos usarlo para poner y obtener pequeñas cantidades de datos (aproximadamente 1000 bytes).

PeerTweet diferencia entre dos tipos de elementos:

  1. Tu cabeza del feed. Es el único elemento mutable de tu feed, y es lo que tus seguidores usan para descargar tus elementos y encontrar actualizaciones. El hash de tu cabeza es lo que tus seguidores usan para conocer las actualizaciones; es tu identidad y puede usarse para que otros conozcan tu feed (similar a tu identificador @lmattes). La cabeza del feed tiene la siguiente estructura aproximada:
root@kitploit:~
{
  "d": <entero sin signo de minutos transcurridos desde la época hasta que la cabeza fue modificada>,
  "next": <hasta 80 bytes de los siguientes 4 elementos del feed, directamente a 1,2,3 y 4 saltos de distancia. 20 bytes cada uno.>,
  "n": <nombre utf8 del feed>,
  "a": <url http utf8 de una imagen para renderizar como tu avatar>,
  "i": <descripción utf8 de tu feed>
}
  1. Tus elementos del feed. Son elementos inmutables que contienen tus tweets reales y se estructuran:
root@kitploit:~
{
  "d": <entero sin signo de minutos transcurridos desde la época hasta que el elemento fue creado>,
  "next": <hasta 80 bytes de los siguientes 4 elementos del feed, a 1, 2, 4 y 8 saltos de distancia. 20 bytes cada uno.>,
  "t": <contenido utf8 de tu tweet. hasta 140 caracteres>
}

Listas de salto

La razón por la que los elementos tienen múltiples punteros a otros elementos en la lista es para permitir búsquedas paralelas. Nuestra implementación de lista de salto difiere de las implementaciones regulares y está orientada a búsquedas en red, donde cada elemento contiene 4 punteros para que cuando recibamos un elemento, podamos emitir 4 solicitudes get() en paralelo a otros elementos de la lista. Esto es crucial para acceder a los feeds de los usuarios de manera oportuna porque las búsquedas DHT tienen tiempos de respuesta impredecibles.

Seguir

Cuando sigues a alguien, esencialmente estás informando a tu cliente para que descargue su feed y lo vuelva a publicar de vez en cuando. La red DHT no es persistente, y los elementos desaparecen rápidamente de la red después de aproximadamente 30 minutos. Para mantener las cosas vivas, tener muchos seguidores es crucial para el tiempo de actividad de tu feed. De lo contrario, aún puedes tener un servidor ejecutándose 24/7 que mantenga tu feed vivo republicando elementos cada 30 minutos.

Instalación

Instalar dependencias.

root@kitploit:~
$ npm install

Instalación de módulos nativos

La aplicación viene con algunos enlaces nativos. Yo usé este código para que funcione en mi computadora:

Source: https://github.com/atom/electron/blob/master/docs/tutorial/using-native-node-modules.md

root@kitploit:~
npm install --save-dev electron-rebuild

# Every time you run "npm install", run this
./node_modules/.bin/electron-rebuild

# On Windows if you have trouble, try:
.\node_modules\.bin\electron-rebuild.cmd

Para que ed25519-supercop funcione en Windows también tuve que instalar node-gyp y todo el material de Python2.7 y Visual Studio que node-gyp requiere: https://github.com/nodejs/node-gyp

Luego ejecuta estos comandos para construirlo en Windows:

root@kitploit:~
npm install -g node-gyp
cd ./node_modules/ed25519-supercop/
HOME=~/.electron-gyp node-gyp rebuild --target=0.36.9 --arch=x64 --dist-url=https://atom.io/download/atom-shell

Ejecutar

Ejecuta estos dos comandos simultáneamente en diferentes pestañas de consola.

root@kitploit:~
$ npm run hot-server
$ npm run start-hot

Nota: requiere una versión de node >= 4 y una versión de npm >= 2.

Alternar Chrome DevTools

  • OS X: Cmd Alt I o F12
  • Linux: Ctrl Shift I o F12
  • Windows: Ctrl Shift I o F12

Consulta electron-debug para más información.

Alternar Redux DevTools

  • Todas las plataformas: Ctrl+H

Consulta redux-devtools-dock-monitor para más información.

Externos

Si usas alguna librería de terceros que no se pueda construir con webpack, debes listarlas en tu webpack.config.base.js:

root@kitploit:~
externals: [
  // put your node 3rd party libraries which can't be built with webpack here (mysql, mongodb, and so on..)
]

Puedes encontrar esas líneas en el archivo.

Soporte para CSS Modules

Importa archivos css como css-modules usando .module.css.

Empaquetar

root@kitploit:~
$ npm run package

Para empaquetar aplicaciones para todas las plataformas:

root@kitploit:~
$ npm run package-all

Opciones

  • --name, -n: Nombre de la aplicación (por defecto: ElectronReact)
  • --version, -v: Versión de Electron (por defecto: última versión)
  • --asar, -a: Soporte de asar (por defecto: false)
  • --icon, -i: Icono de la aplicación
  • --all: empaquetar para todas las plataformas

Usa electron-packager para empaquetar tu aplicación con las opciones --all para las plataformas darwin (osx), linux y win32 (windows). Después de la compilación, los encontrarás en la carpeta release. De lo contrario, solo encontrarás una para tu sistema operativo.

test, tools, release folder and devDependencies in package.json will be ignored by default.

Módulos ignorados por defecto

Agregamos algunas peerDependencies de módulos a la opción de ignorar por defecto para reducir el tamaño de la aplicación.

  • babel-core es requerido por babel-loader y su tamaño es ~19 MB
  • node-libs-browser es requerido por webpack y su tamaño es ~3MB.

Nota: Si quieres usar alguno de los módulos anteriores en tiempo de ejecución, por ejemplo: require('babel/register'), debes moverlos de devDependencies a dependencies.

Compilación de aplicaciones para Windows desde plataformas que no son Windows

Por favor, consulta Compilación de aplicaciones para Windows desde plataformas que no son Windows.

Interfaz de usuario similar a nativa

Si quieres tener una interfaz de usuario similar a la nativa (OS X El Capitan y Windows 10), react-desktop puede ser perfecto para ti.

Mantenedores

Este es un fork del proyecto https://github.com/chentsulin/electron-react-boilerplate.

Licencia

MIT

Descargar herramienta