Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
peer-tweet — Dezentrale Feeds, die BitTorrents DHT nutzen. Idee von Arvid und The_8472 „DHT RSS feeds" http://libtorrent.org/dht_rss.html | Kitploit
Tools/GitHubGitHub/lmatteis/peer-tweet
OSINT (Open-Source-Intelligence)InformationsbeschaffungKryptographie
GitHublmatteis/peer-tweet

peer-tweet

Dezentrale Feeds, die BitTorrents DHT nutzen. Idee von Arvid und The_8472 „DHT RSS feeds" http://libtorrent.org/dht_rss.html

Repository anzeigen
86434vor 10 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

PeerTweet

Dezentrale Feeds unter Verwendung des BitTorrent DHT. Idee von Arvid und The_8472 "DHT RSS feeds" http://libtorrent.org/dht_rss.html

Screenshot

PeerTweet

Schnellzugriff

  • Laden Sie die neuesten Binärdateien von der Releases-Seite herunter.
  • Finden und teilen Sie PeerTweet-Adressen auf der Adressen Issues-Seite.

Was ist PeerTweet?

Das DHT von BitTorrent ist wahrscheinlich eines der widerstandsfähigsten und zensurresistentesten Netzwerke im Internet. PeerTweet verwendet dieses Netzwerk, um Nutzern das Senden von Tweets an alle zu ermöglichen, die zuhören. Wenn Sie PeerTweet starten, wird ein Hash @33cwte8iwWn7uhtj9MKCs4q5Ax7B generiert, der Ihrem Twitter-Benutzernamen (z.B. @lmatteis) ähnelt. Der Unterschied besteht darin, dass Sie die vollständige Kontrolle darüber haben, was gepostet werden kann, da nur Sie den privaten Schlüssel besitzen, der mit dieser Adresse verbunden ist. Darüber hinaus kann das, was Sie posten, dank des DHT von keiner Regierung oder Institution gestoppt werden.

Sobald Sie andere PeerTweet-Adressen gefunden haben, denen Sie vertrauen (und die kein Spam sind), können Sie ihnen folgen. Dadurch wird Ihr Client konfiguriert, die Tweets dieses Benutzers zu speichern und sie von Zeit zu Zeit an das DHT zu senden, um deren Feed am Leben zu erhalten. Diese Kooperation beim Folgen von Konten ermöglicht es, dass Feeds im DHT-Netzwerk aktiv bleiben. Das PeerTweet-Protokoll veröffentlicht auch Ihre Aktionen wie Ich bin @919c.. gefolgt oder Ich habe @9139.. geliked und Ich habe @5789.. retweetet. Dadurch können neue Benutzer andere Adressen finden, denen sie vertrauen können; wenn ich dem Benutzer @6749.. vertraue und dieser @9801.. folgt, kann ich @9801.. möglicherweise als nicht Spam markieren. Diese Idee, öffentlich über Ihre Aktionen zu twittern, ermöglicht auch leistungsstarke zukünftige Crawling-Analysen dieses sozialen Graphen.

Wie funktioniert es?

PeerTweet folgt den meisten Implementierungsrichtlinien des DHT RSS Feed Vorschlags http://libtorrent.org/dht_rss.html. Wir haben es auf Basis des aktuellen BEP44 Vorschlags implementiert, der get()- und put()-Funktionalität über das DHT-Netzwerk bereitstellt. Das bedeutet, dass wir das DHT nicht nur verwenden, um anzukündigen, welche Torrents man gerade herunterlädt, sondern auch, um kleine Datenmengen (ca. 1000 Bytes) abzulegen und abzurufen.

PeerTweet unterscheidet zwischen zwei Arten von Elementen:

  1. Ihr Feed-Head. Dies ist das einzige veränderbare Element Ihres Feeds und wird von Ihren Followern verwendet, um Ihre Elemente herunterzuladen und Updates zu finden. Der Hash Ihres Heads wird von Ihren Followern verwendet, um über Updates informiert zu werden – es ist Ihre Identität und kann verwendet werden, um andere über Ihren Feed zu informieren (ähnlich wie Ihr @lmattes-Handle). Der Feed-Head ist grob wie folgt strukturiert:
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. Ihre Feed-Elemente. Dies sind unveränderbare Elemente, die Ihre eigentlichen Tweets enthalten und wie folgt strukturiert sind:
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>
}

Skip-Listen

Der Grund, warum Elemente mehrere Zeiger auf andere Elemente in der Liste haben, ist, parallele Lookups zu ermöglichen. Unsere Skip-Liste-Implementierung unterscheidet sich von regulären Implementierungen und ist für Netzwerk-Lookups ausgelegt. Dabei enthält jedes Element 4 Zeiger, sodass wir beim Empfang eines Elements vier get()-Anfragen parallel an andere Elemente in der Liste senden können. Dies ist entscheidend für den zeitnahen Zugriff auf Benutzerfeeds, da DHT-Lookups unvorhersehbare Antwortzeiten haben.

Folgen

Wenn Sie jemandem folgen, weisen Sie Ihren Client im Wesentlichen an, dessen Feed herunterzuladen und von Zeit zu Zeit erneut zu veröffentlichen. Das DHT-Netzwerk ist nicht persistent, und Elemente verschwinden nach etwa 30 Minuten aus dem Netzwerk. Um Dinge am Leben zu erhalten, ist eine hohe Anzahl von Followern entscheidend für die Betriebszeit Ihres Feeds. Alternativ können Sie einen Server haben, der rund um die Uhr läuft und Ihren Feed am Leben erhält, indem er Elemente alle 30 Minuten neu veröffentlicht.

Installieren

Installieren Sie Abhängigkeiten.

root@kitploit:~
$ npm install

Native Module installieren

Die App enthält einige native Bindungen. Ich habe diesen Code verwendet, um sie auf meinem Computer zum Laufen zu bringen:

Quelle: 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

Um ed25519-supercop unter Windows zum Laufen zu bringen, musste ich auch node-gyp und all die Python2.7- und Visual Studio-Sachen installieren, die node-gyp benötigt: https://github.com/nodejs/node-gyp

Führen Sie dann diese Befehle aus, um es unter Windows zu bauen:

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

Ausführen

Führen Sie diese beiden Befehle gleichzeitig in verschiedenen Konsolen-Tabs aus.

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

Hinweis: Erfordert node Version >= 4 und npm Version >= 2.

Chrome DevTools umschalten

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

Weitere Informationen finden Sie unter electron-debug.

Redux DevTools umschalten

  • Alle Plattformen: Ctrl+H

Weitere Informationen finden Sie unter redux-devtools-dock-monitor.

Externe Module

Wenn Sie Bibliotheken von Drittanbietern verwenden, die nicht mit webpack gebaut werden können, müssen Sie sie in Ihrer webpack.config.base.js auflisten:

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

Sie finden diese Zeilen in der Datei.

CSS Modules Unterstützung

Importieren Sie CSS-Dateien als css-modules mit .module.css.

Paketieren

root@kitploit:~
$ npm run package

Um Apps für alle Plattformen zu paketieren:

root@kitploit:~
$ npm run package-all

Optionen

  • --name, -n: Anwendungsname (Standard: ElectronReact)
  • --version, -v: Electron-Version (Standard: neueste Version)
  • --asar, -a: asar Unterstützung (Standard: false)
  • --icon, -i: Anwendungssymbol
  • --all: für alle Plattformen paketieren

Verwenden Sie electron-packager, um Ihre App mit der --all-Option für die Plattformen darwin (osx), linux und win32 (windows) zu paketieren. Nach dem Bau finden Sie sie im Ordner release. Andernfalls finden Sie nur eine für Ihr Betriebssystem.

Die Ordner test, tools, release und devDependencies in package.json werden standardmäßig ignoriert.

Standardmäßig ignorierte Module

Wir fügen die peerDependencies einiger Module standardmäßig zur Ignorier-Option hinzu, um die Anwendungsgröße zu reduzieren.

  • babel-core wird von babel-loader benötigt und ist etwa 19 MB groß
  • node-libs-browser wird von webpack benötigt und ist etwa 3 MB groß.

Hinweis: Wenn Sie eines der oben genannten Module zur Laufzeit verwenden möchten, z.B. require('babel/register'), sollten Sie sie von devDependencies zu dependencies verschieben.

Windows-Apps von Nicht-Windows-Plattformen bauen

Bitte lesen Sie Building windows apps from non-windows platforms.

Native UI

Wenn Sie eine natives Benutzeroberfläche (OS X El Capitan und Windows 10) wünschen, ist react-desktop möglicherweise ideal für Sie.

Betreuer

Dies ist ein Fork des Projekts https://github.com/chentsulin/electron-react-boilerplate.

Lizenz

MIT

Tool herunterladen