Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
peer-tweet — 使用 BitTorrent 的 DHT 实现去中心化订阅源。灵感来自 Arvid 和 The_8472 的 "DHT RSS feeds" http://libtorrent.org/dht_rss.html | Kitploit
工具/GitHubGitHub/lmatteis/peer-tweet
OSINT (开源情报)信息收集密码学
GitHublmatteis/peer-tweet

peer-tweet

使用 BitTorrent 的 DHT 实现去中心化订阅源。灵感来自 Arvid 和 The_8472 的 "DHT RSS feeds" http://libtorrent.org/dht_rss.html

查看仓库
8643410年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

PeerTweet

使用 BitTorrent DHT 的去中心化信息流。灵感来自 Arvid 和 The_8472 的“DHT RSS feeds” http://libtorrent.org/dht_rss.html

截图

PeerTweet

快速链接

  • 从发布页面下载最新二进制文件。
  • 从地址问题页面查找和分享 PeerTweet 地址。

什么是 PeerTweet?

BitTorrent 的 DHT 可能是互联网上最具弹性和抗审查能力的网络之一。PeerTweet 利用这个网络允许用户向所有监听者广播 推文。当你启动 PeerTweet 时,它会生成一个哈希 @33cwte8iwWn7uhtj9MKCs4q5Ax7B,类似于你的 Twitter 用户名(例如 @lmatteis)。不同之处在于,你完全控制可以发布的内容,因为只有你拥有与该地址关联的私钥。此外,得益于 DHT,你所发布的内容无法被任何政府或机构阻止。

一旦你找到其他你信任(非垃圾信息)的 PeerTweet 地址,就可以关注他们。这会配置你的客户端存储该用户的推文,并每隔一段时间将其广播到 DHT,以保持其信息流的活跃。这种关注账户的合作方式使得信息流能够在 DHT 网络中保持存活。PeerTweet 协议还会发布你的操作,例如“我刚刚关注了 @919c..”或“我刚刚点赞了 @9139..”以及“我刚刚转发了 @5789..”。这使得新用户能够找到其他可以信任的地址;如果我信任用户 @6749..,而他们关注了 @9801..,那么我或许可以将 @9801.. 标记为非垃圾信息。这种公开推文记录行为的方式也为未来对此社交图谱进行强大的爬取分析提供了可能。

工作原理

PeerTweet 基本遵循 DHT RSS feed 提案 http://libtorrent.org/dht_rss.html 提供的实现指南。我们将其构建在当前的 BEP44 提案之上,该提案提供了通过 DHT 网络进行 get() 和 put() 操作的功能。这意味着,我们不仅可以利用 DHT 来宣布当前正在下载的种子,还可以用它来存入和获取少量数据(大约 1000 字节)。

PeerTweet 区分了两种类型的条目:

  1. 你的信息流头部。这是信息流中唯一的可变条目,你的关注者用它来下载你的条目并查找更新。头部哈希是关注者了解更新的依据——它是你的身份标识,可用于让他人了解你的信息流(类似于你的 @lmatteis 账号)。信息流头部大致结构如下:
root@kitploit:~
{
  "d": <从纪元到头部修改时间所经过的分钟数(无符号整数)>,
  "next": <信息流中后续 4 个条目的最多 80 字节数据,分别是 1、2、3、4 跳,每跳 20 字节>,
  "n": <信息流的 UTF-8 名称>,
  "a": <用作头像的图片的 UTF-8 HTTP URL>,
  "i": <信息流的 UTF-8 描述>
}
  1. 你的信息流条目。这些是不可变条目,包含你的实际推文,结构如下:
root@kitploit:~
{
  "d": <从纪元到条目创建时间所经过的分钟数(无符号整数)>,
  "next": <信息流中后续 4 个条目的最多 80 字节数据,分别是 1、2、4、8 跳,每跳 20 字节>,
  "t": <推文的 UTF-8 内容,最多 140 个字符>
}

跳表

条目包含指向列表中其他条目的多个指针,是为了实现并行查找。我们的跳表实现与常规实现不同,专门针对网络查找设计:每个条目包含 4 个指针,这样当我们收到一个条目时,可以并行向列表中的其他条目发出 4 个 get() 请求。这对于及时访问用户的信息流至关重要,因为 DHT 查找有不可预测的响应时间。

关注

当你关注某人时,本质上是在告知你的客户端下载他们的信息流并定期重新发布。DHT 网络不是持久化网络,条目在大约 30 分钟后就会迅速从网络中消失。为了保持条目的活跃,拥有大量关注者对于信息流的正常运行时间至关重要。否则,你仍然可以有一台服务器全天候运行,每 30 分钟重新发布一次条目来保持信息流存活。

安装

安装依赖项。

root@kitploit:~
$ npm install

安装原生模块

该应用带有一些原生绑定。我是用以下代码使其在我的电脑上运行的:

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

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

# 每次运行 "npm install" 后,运行此命令
./node_modules/.bin/electron-rebuild

# 在 Windows 上如有问题,请尝试:
.\node_modules\.bin\electron-rebuild.cmd

为了让 ed25519-supercop 在 Windows 上工作,我还必须安装 node-gyp 以及 node-gyp 所需的所有 Python2.7 和 Visual Studio 组件:https://github.com/nodejs/node-gyp

然后在 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

运行

在两个不同的控制台标签页中 同时 运行以下两个命令。

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

注意:需要 node 版本 >= 4 和 npm 版本 >= 2。

切换 Chrome DevTools

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

更多信息请参见 electron-debug。

切换 Redux DevTools

  • 所有平台: Ctrl+H

更多信息请参见 redux-devtools-dock-monitor。

外部依赖

如果你使用了无法通过 webpack 构建的第三方库,则必须在 webpack.config.base.js 中列出它们:

root@kitploit:~
externals: [
  // 在此放置无法通过 webpack 构建的 node 第三方库(例如 mysql、mongodb 等)
]

你可以在该文件中找到这些行。

CSS 模块支持

使用 .module.css 导入 CSS 文件作为 css-modules。

打包

root@kitploit:~
$ npm run package

为所有平台打包应用:

root@kitploit:~
$ npm run package-all

选项

  • --name, -n: 应用名称(默认:ElectronReact)
  • --version, -v: Electron 版本(默认:最新版本)
  • --asar, -a: asar 支持(默认:false)
  • --icon, -i: 应用图标
  • --all: 为所有平台打包

使用 electron-packager 配合 --all 选项为 darwin (macOS)、linux 和 win32 (Windows) 平台打包应用。构建后,你将在 release 文件夹中找到它们。否则,你只会得到针对当前操作系统的版本。

默认情况下,test、tools、release 文件夹以及 package.json 中的 devDependencies 将被忽略。

默认忽略的模块

我们默认将某些模块的 peerDependencies 添加到忽略选项中,以减小应用体积。

  • babel-core 是 babel-loader 所需的,其大小约为 19 MB
  • node-libs-browser 是 webpack 所需的,其大小约为 3 MB。

注意: 如果你想在运行时使用上述任何模块(例如 require('babel/register')),则应将其从 devDependencies 移到 dependencies 中。

从非 Windows 平台构建 Windows 应用

请参阅 从非 Windows 平台构建 Windows 应用。

原生风格 UI

如果你想要原生风格的 UI(macOS El Capitan 和 Windows 10),react-desktop 可能非常适合你。

维护者

这是 https://github.com/chentsulin/electron-react-boilerplate 项目的一个分支。

许可证

MIT

下载工具