Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
peer-tweet — Flux décentralisés utilisant le DHT de BitTorrent. Idée d'Arvid et The_8472 « DHT RSS feeds » http://libtorrent.org/dht_rss.html | Kitploit
Outils/GitHubGitHub/lmatteis/peer-tweet
OSINT (Renseignement de Sources Ouvertes)Collecte d'InformationsCryptographie
GitHublmatteis/peer-tweet

peer-tweet

Flux décentralisés utilisant le DHT de BitTorrent. Idée d'Arvid et The_8472 « DHT RSS feeds » http://libtorrent.org/dht_rss.html

Voir le dépôt
86434il y a 10 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

PeerTweet

Flux décentralisés utilisant le DHT de BitTorrent. Idée d'Arvid et The_8472 "DHT RSS feeds" http://libtorrent.org/dht_rss.html

Capture d'écran

PeerTweet

Liens rapides

  • Téléchargez les derniers binaires depuis la page des versions.
  • Trouvez et partagez des adresses PeerTweet depuis la page des adresses issues page.

Qu'est-ce que PeerTweet?

Le DHT de BitTorrent est probablement l'un des réseaux les plus résilients et résistants à la censure sur Internet. PeerTweet utilise ce réseau pour permettre aux utilisateurs de diffuser des tweets à quiconque écoute. Lorsque vous démarrez PeerTweet, il génère un hachage @33cwte8iwWn7uhtj9MKCs4q5Ax7B qui est similaire à votre nom d'utilisateur Twitter (ex. @lmatteis). La différence est que vous avez un contrôle total sur ce qui peut être publié, car vous seul possédez la clé privée associée à cette adresse. De plus, grâce au DHT, ce que vous publiez ne peut être arrêté par aucun gouvernement ou institution.

Une fois que vous trouvez d'autres adresses PeerTweet auxquelles vous faites confiance (et qui ne sont pas du spam), vous pouvez les suivre. Cela configure votre client pour stocker les tweets de cet utilisateur et les rediffuser sur le DHT de temps en temps pour maintenir leur flux actif. Cette coopération de comptes suivis permet aux flux de rester vivants sur le réseau DHT. Le protocole PeerTweet publie également vos actions comme I just followed @919c.. ou I just liked @9139.. et I just retweeted @5789... Cela permet aux nouveaux utilisateurs de trouver d'autres adresses fiables ; si je fais confiance à l'utilisateur @6749.. et qu'il suit @9801.., alors je peux peut-être marquer @9801.. comme non-spam. Cette idée de tweeter publiquement vos actions permet également une future analyse puissante de ce graphe social via le crawling.

Comment ça fonctionne ?

PeerTweet suit la plupart des directives d'implémentation fournies par la proposition de flux RSS DHT http://libtorrent.org/dht_rss.html. Nous l'avons implémentée par-dessus la proposition actuelle BEP44 qui fournit des fonctionnalités get() et put() sur le réseau DHT. Cela signifie que, plutôt que d'utiliser uniquement le DHT pour annoncer quels torrents on est en train de télécharger, nous pouvons également l'utiliser pour mettre et obtenir de petites quantités de données (environ 1000 octets).

PeerTweet distingue deux types d'éléments :

  1. L'en-tête de votre flux. C'est le seul élément mutable de votre flux, et c'est ce que vos abonnés utilisent pour télécharger vos éléments et trouver les mises à jour. Le hachage de votre en-tête est ce que vos abonnés utilisent pour connaître les mises à jour - c'est votre identité et peut être utilisé pour faire connaître votre flux (similaire à votre identifiant @lmattes). L'en-tête du flux est structuré approximativement comme suit :
root@kitploit:~
{
  "d": <unsigned int of minutes passed from epoch until head was modified>,
  "next": <up to 80 bytes of the next 4 items in the feed, directly 1,2,3 and 4 hops away. 20 bytes each.>,
  "n": <utf8 name of the feed>,
  "a": <utf8 http url of an image to render as your avatar>,
  "i": <utf8 description of your feed>
}
  1. Les éléments de votre flux. Ce sont des éléments immuables qui contiennent vos tweets réels et sont structurés :
root@kitploit:~
{
  "d": <unsigned int of minutes passed from epoch until when item was created>,
  "next": <up to 80 bytes of the next 4 items in the feed, 1, 2, 4 and 8 hops away. 20 bytes each.>,
  "t": <utf8 contents of your tweet. up to 140 chars>
}

Listes à saut

La raison pour laquelle les éléments ont plusieurs pointeurs vers d'autres éléments de la liste est de permettre des recherches parallèles. Notre implémentation de liste à saut diffère des implémentations régulières et est conçue pour les recherches réseau, où chaque élément contient 4 pointeurs de sorte que lorsque nous recevons un élément, nous pouvons lancer 4 requêtes get() en parallèle vers d'autres éléments de la liste. Ceci est crucial pour accéder aux flux des utilisateurs en temps opportun car les recherches DHT ont des temps de réponse imprévisibles.

Suivi

Lorsque vous suivez quelqu'un, vous informez essentiellement votre client de télécharger son flux et de le republier de temps en temps. Le réseau DHT n'est pas persistant, et les éléments disparaissent rapidement du réseau après environ 30 minutes. Pour maintenir les choses en vie, avoir de nombreux abonnés est crucial pour la disponibilité de votre flux. Sinon, vous pouvez toujours avoir un serveur quelque part fonctionnant 24h/24 et 7j/7 qui maintient votre flux en vie en republiant les éléments toutes les 30 minutes.

Installation

Installer les dépendances.

root@kitploit:~
$ npm install

Installation des modules natifs

L'application est livrée avec certaines liaisons natives. J'ai utilisé ce code pour la faire fonctionner sur mon ordinateur :

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

To get ed25519-supercop to work on Windows I also had to install node-gyp and all the Python2.7 and Visual Studio stuff which node-gyp requires: https://github.com/nodejs/node-gyp

Then run these commands to build it on 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

Exécution

Exécutez ces deux commandes simultanément dans différents onglets de console.

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

Remarque : nécessite une version de node >= 4 et une version de npm >= 2.

Activer/Désactiver les DevTools Chrome

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

Voir electron-debug pour plus d'informations.

Activer/Désactiver les Redux DevTools

  • Toutes les plateformes : Ctrl+H

Voir redux-devtools-dock-monitor pour plus d'informations.

Dépendances externes

Si vous utilisez des bibliothèques tierces qui ne peuvent pas être construites avec webpack, vous devez les lister dans votre 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..)
]

Vous pouvez trouver ces lignes dans le fichier.

Prise en charge des modules CSS

Importez le fichier CSS en tant que css-modules en utilisant .module.css.

Empaquetage

root@kitploit:~
$ npm run package

Pour empaqueter des applications pour toutes les plateformes :

root@kitploit:~
$ npm run package-all

Options

  • --name, -n: Nom de l'application (par défaut : ElectronReact)
  • --version, -v: Version d'Electron (par défaut : dernière version)
  • --asar, -a: Prise en charge de asar (par défaut : false)
  • --icon, -i: Icône de l'application
  • --all: empaqueter pour toutes les plateformes

Utilisez electron-packager pour empaqueter votre application avec l'option --all pour les plateformes darwin (osx), linux et win32 (windows). Après la construction, vous les trouverez dans le dossier release. Sinon, vous n'en trouverez qu'un pour votre système d'exploitation.

Les dossiers test, tools, release et les devDependencies dans package.json seront ignorés par défaut.

Modules ignorés par défaut

Nous ajoutons les peerDependencies de certains modules à l'option d'ignorance par défaut pour réduire la taille de l'application.

  • babel-core est requis par babel-loader et sa taille est d'environ 19 Mo
  • node-libs-browser est requis par webpack et sa taille est d'environ 3 Mo.

Remarque : Si vous souhaitez utiliser l'un des modules ci-dessus au moment de l'exécution, par exemple : require('babel/register'), vous devez les déplacer de devDependencies vers dependencies.

Construire des applications Windows depuis des plateformes non Windows

Veuillez consulter Construire des applications Windows depuis des plateformes non Windows.

Interface utilisateur native

Si vous souhaitez avoir une interface utilisateur d'apparence native (OS X El Capitan et Windows 10), react-desktop pourrait vous convenir parfaitement.

Mainteneurs

Ceci est un fork du projet https://github.com/chentsulin/electron-react-boilerplate.

Licence

MIT

Télécharger l’outil