地点:北京
主要语言:nodejs/python
微信 id ( base64 ):ZXJyaXll
类 dns ( domain name system )的 kns ( key name system )项目,使用 pgp 的指纹来查找对应的服务的项目。
目前为初版实现,多个模块分散,接下来的几天会合并到一个仓库
0. 相关竞品
- tor/onion
- keybase
- tox
- ipfs
1. 简介
目前为第一版本测试版,接下来会有较大改动
目前主要包含两大模块,一个是 relay 代理,一个是 kns 解析服务
relay 代理类似 ngrok,但是是基于 http 协议的,可以嵌入到 nodejs 代码中使用,主要做内网穿透。
kns 服务则做类似 dns 解析功能,类 onion 域名解析和 tox 查找用户功能,但是并非为了匿名设计,为了实现去中心化的地址解析。
可以通过 relay 暴露自己的本机服务,可以通过 kns 解析找到自己所信任的设备的服务地址,就可以做很多事情了,比如:
- 多设备间同步
- 去中心聊天
- 基于 key 的订阅号 /服务号
2. 仓库
- third.kit-node.js - 公用代码
- third.kns-node.js - kns 解析服务
- third.relay-node.js - relay 代理服务(注意 relay 目前仅支持 content type 为 text 或 json 格式的内容)
3. 安装
npm i -g third.kit third.kns third.relay
4. 使用
4.1 命令行
4.1.1 中继
third.relay relay -p 80

4.1.2 kns 解析
# 提交解析结果
third.kns provide -n name -s service
# 查询解析结果
third.kns lookup -n name -f fingerprint

4.2 代码嵌入(nodejs)
略,查看各个仓库 readme
5. todo
- 合所有仓库为一
- 支持单账号(使用 gpg key )多设备(使用 openpgpjs )
- 多设备同步功能
- 类 rss 订阅发布功能
- 备份、缓存服务器(加密数据存储,发布数据缓存等)