Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
peer-tweet — Feeds descentralizados usando o DHT do BitTorrent. Ideia de Arvid e The_8472 "DHT RSS feeds" http://libtorrent.org/dht_rss.html | Kitploit
Ferramentas/GitHubGitHub/lmatteis/peer-tweet
OSINT (Inteligência de Fontes Abertas)Coleta de InformaçõesCriptografia
GitHublmatteis/peer-tweet

peer-tweet

Feeds descentralizados usando o DHT do BitTorrent. Ideia de Arvid e The_8472 "DHT RSS feeds" http://libtorrent.org/dht_rss.html

Ver Repositório
86434há 10 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

PeerTweet

Feeds descentralizados usando o DHT do BitTorrent. Ideia de Arvid e The_8472 "DHT RSS feeds" http://libtorrent.org/dht_rss.html

Captura de tela

PeerTweet

Links rápidos

  • Baixe os binários mais recentes na página de lançamentos.
  • Encontre e compartilhe endereços PeerTweet na página de issues de endereços.

O que é PeerTweet?

O DHT do BitTorrent é provavelmente uma das redes mais resilientes e resistentes à censura na internet. O PeerTweet usa essa rede para permitir que usuários transmitam tweets para qualquer pessoa que esteja ouvindo. Quando você inicia o PeerTweet, ele gera um hash @33cwte8iwWn7uhtj9MKCs4q5Ax7B que é semelhante ao seu nome de usuário do Twitter (ex. @lmatteis). A diferença é que você tem controle total sobre o que pode ser postado, pois somente você possui a chave privada associada a esse endereço. Além disso, graças ao DHT, o que você publica não pode ser interrompido por nenhum governo ou instituição.

Depois de encontrar outros endereços PeerTweet em que você confia (e que não são spam), você pode segui-los. Isso configura seu cliente para armazenar os tweets desse usuário e retransmiti-los para o DHT de vez em quando para manter seu feed ativo. Essa cooperação de seguir contas permite que os feeds permaneçam vivos na rede DHT. O protocolo PeerTweet também publica suas ações, como I just followed @919c.. ou I just liked @9139.. e I just retweeted @5789... Isso possibilita que novos usuários encontrem outros endereços confiáveis; se eu confio no usuário @6749.. e ele está seguindo @9801.., então talvez eu possa marcar @9801.. como não spam. Essa ideia de tuitar publicamente sobre suas ações também permite uma poderosa análise futura de crawling desse grafo social.

Como funciona?

O PeerTweet segue a maioria das diretrizes de implementação fornecidas pela proposta DHT RSS feed http://libtorrent.org/dht_rss.html. Nós o implementamos sobre a atual proposta BEP44 que fornece funcionalidades get() e put() sobre a rede DHT. Isso significa que, em vez de apenas usar o DHT para anunciar quais torrents alguém está baixando no momento, podemos usá-lo também para colocar e obter pequenas quantidades de dados (aproximadamente 1000 bytes).

O PeerTweet diferencia entre dois tipos de itens:

  1. Seu cabeçalho do feed. Que é o único item mutável do seu feed, e é o que seus seguidores usam para baixar seus itens e encontrar atualizações. O hash do seu cabeçalho é o que seus seguidores usam para saber sobre atualizações - é sua identidade e pode ser usado para informar outros sobre seu feed (semelhante ao seu handle @lmattes). O cabeçalho do feed é aproximadamente estruturado da seguinte forma:
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. Seus itens do feed. Estes são itens imutáveis que contêm seus tweets reais e são estruturados:
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>
}

Listas de salto

A razão pela qual os itens têm múltiplos ponteiros para outros itens na lista é permitir buscas paralelas. Nossa implementação de lista de salto difere das implementações regulares e é voltada para buscas em rede, onde cada item contém 4 ponteiros, de modo que, quando recebemos um item, podemos emitir 4 requisições get() em paralelo para outros itens na lista. Isso é crucial para acessar os feeds dos usuários em tempo hábil, porque as buscas DHT têm tempos de resposta imprevisíveis.

Seguindo

Quando você segue alguém, você está essencialmente informando seu cliente para baixar o feed dessa pessoa e republicá-lo de vez em quando. A rede DHT não é persistente, e os itens caem rapidamente da rede após aproximadamente 30 minutos. Para manter as coisas ativas, ter muitos seguidores é crucial para o tempo de atividade do seu feed. Caso contrário, você ainda pode ter um servidor em algum lugar executando 24/7 que mantém seu feed ativo republicando itens a cada 30 minutos.

Instalação

Instalar dependências.

root@kitploit:~
$ npm install

Instalação de módulos nativos

O aplicativo vem com algumas ligações nativas. Usei este código para fazê-lo funcionar no meu computador:

Fonte: 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 fazer ed25519-supercop funcionar no Windows, também precisei instalar o node-gyp e todas as coisas Python2.7 e Visual Studio que o node-gyp exige: https://github.com/nodejs/node-gyp

Em seguida, execute estes comandos para compilá-lo no 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

Executar

Execute estes dois comandos simultaneamente em abas de console diferentes.

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

Nota: requer uma versão do node >= 4 e uma versão do npm >= 2.

Alternar Ferramentas do Desenvolvedor do Chrome

  • macOS: Cmd Alt I ou F12
  • Linux: Ctrl Shift I ou F12
  • Windows: Ctrl Shift I ou F12

Veja electron-debug para mais informações.

Alternar Redux DevTools

  • Todas as plataformas: Ctrl+H

Veja redux-devtools-dock-monitor para mais informações.

Externos

Se você usar bibliotecas de terceiros que não podem ser compiladas com webpack, você deve listá-las em seu 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..)
]

Você pode encontrar essas linhas no arquivo.

Suporte a CSS Modules

Importe arquivos css como css-modules usando .module.css.

Empacotamento

root@kitploit:~
$ npm run package

Para empacotar aplicativos para todas as plataformas:

root@kitploit:~
$ npm run package-all

Opções

  • --name, -n: Nome do aplicativo (padrão: ElectronReact)
  • --version, -v: Versão do Electron (padrão: última versão)
  • --asar, -a: Suporte a asar (padrão: false)
  • --icon, -i: Ícone do aplicativo
  • --all: empacotar para todas as plataformas

Use electron-packager para empacotar seu aplicativo com a opção --all para as plataformas darwin (osx), linux e win32 (windows). Após a compilação, você os encontrará na pasta release. Caso contrário, você encontrará apenas um para seu sistema operacional.

test, tools, release e devDependencies em package.json serão ignoradas por padrão.

Módulos de ignorar padrão

Adicionamos alguns peerDependencies de módulos à opção de ignorar como padrão para redução do tamanho do aplicativo.

  • babel-core é exigido pelo babel-loader e seu tamanho é ~19 MB
  • node-libs-browser é exigido pelo webpack e seu tamanho é ~3MB.

Nota: Se você quiser usar qualquer um dos módulos acima em tempo de execução, por exemplo: require('babel/register'), você deve movê-los de devDependencies para dependencies.

Compilando aplicativos Windows a partir de plataformas não Windows

Por favor, consulte Compilando aplicativos Windows a partir de plataformas não Windows.

Interface de usuário nativa

Se você quiser ter uma interface de usuário com aparência nativa (macOS El Capitan e Windows 10), react-desktop pode ser perfeito para você.

Mantenedores

Este é um fork do projeto https://github.com/chentsulin/electron-react-boilerplate.

Licença

MIT

Baixar ferramenta