【新人请进】kep搭建以及注册基本流程
← 返回列表

当前位置: 作者:2077朋克 · 2026-06-03 03:03:13

#1 2077朋克 · 2026-06-03 03:03:13
stalltrix

哈哈哈,新人报道,顺便写记录下折腾记录



之前在知乎是看到有人推荐这里,以游客偶尔上来看了,发现这里技术氛围其实还不错。之前都想注册水一篇新人报道混个脸熟。然后噩梦开始了。不然就不会有这篇文章了

最开始就是习惯的点击登录,然后发现有注册选择,几乎是反射性的点击注册。然后发现邮箱收不到验证码,试了几分钟都是这样。然后看到下面有github一键注册,想起来我的github还是登录状态,就顺手点进去使用github注册试试。

使用github注册界面进去后,我直接懵了。这玩意是什么东西,"token管理后台"?,"远程 URL","用户Token","本地URL",这玩意是什么东西?太高级了,从来没有见过。算了不搞了。



(这个是之后成功后我再重新截的图,刚开始"本地URL"这里应该是`http://localhost`之类)




之后几天摸鱼刷其他地方刷无聊了,又偷偷上来看下了,于是刷到这个帖子,看到有"api-token登录"

我就在想,是不是在这里登录的,但是登录页面好像没有api-token选项啊。试了试直接填到密码选项,发现不行,提示输入用户名才能登录。应该不是这里



然后无意间在github仓库发现,原来可以却换主题https://meta.stalltrix.com/debug?theme=simple ,把主题切换为了simple。发现确实是token登录。突然兴致冲冲的登录,不输用户名,直接填token,登录,嗯?错误登不上。看来不对

这里的注册真的很迷,一点也不明确,都把我搞蒙几次了。




之后的搁置了几天没管,想起了“隐私协议和服务条款”中的这个“互联”的这个词,想到之前困难那里没有理解对。

后来刷到前辈们新人报到的帖子:



1.大家好啊,好不容易进来了啊,感觉部署教程太啰嗦了

2.我进来了!,部署的时候踩了一个小坑,记录一下

3.新人报道,各位看看我的hack域名




感觉坛友为什么要带域名才能注册这个呢?本来很疑惑,然后看到了这个



好奇一件事情,为什么有一些帖子回复数量会大于阅读数量呢

我发现一件事,edge程序与webui程序好像可以分配在两个域名上

然后大概感觉到了是怎么回事。




这个帖子是事成之后写的,之前是怎么发现真正的部署方法的过程记不清了。感觉靠着直觉与灵感发现的



这里先说下官方教程,啰嗦的不像样,就像其他坛友说的:"重理论而轻实践",很容易就把人搞昏。

然后官方的docs,一直是TODO状态,比鸽王还能鸽








说下我的部署教程,明白后发现基本上很简单。



就一句话:自己搭建一个论坛,然后与这里互联。

官方的论坛实现程序,其实很轻量,实测占用不到128M。也不需要配置数据库之类。

(看来现在实现是强制所有人跑自己的节点,从而实现分布式论坛。怪不得bug反馈会这么多,也很细心。原来大家真的在用啊,之前还以为大家只是闲着看帮忙找bug的)

部署教程



部署其实很简单,搞明白了就几点。

只需要域名就行

1.部署论坛程序



新建一个文件夹当程序运行工作目录。


把这两个下载下来:

下载cli:https://github.com/stalltrix/kep-cli

生成密钥与初始化目录

```bash
./kep-cli -act=gen #生成新密钥
./kep-cli -act=init #初始化目录
```

密钥与文件目录应该都建立了。
现在好像没有Windows的cli版本,可以自己编译。

下载webui:https://github.com/stalltrix/kepweb

配置好config.json设置文件

```json
{
"mainkey": "mainkey.pub",
"pub_key": "pkey.pub",
"priv_key": "pkey.priv",
"sig_key": "pkey.sig",
"domain": "你验证的域名",
"user": "用户",
"login_token": "密码12345678",
"api_token": "不知道什么用途,随便填",
"listen": "127.0.0.1:3000",
"ntp": "time.cloudflare.com",
"neighbors": [
{
"url": "https://connxxxxxxorg",
"token": "strx_1xxxxxxxxx"
}
]
}
```

注意密码至少8位



neighbors的这一栏,`"url": "https://connxxxxxxxxg"`填写之前的`远端URL`,`"token": "strx_1xxxxxxxxx"`填这个`用户token`

就是之前这个图的




url填远端url,那个以`https://connect.`开头的,token就填给你的token

没错,到这里就完事了,论坛已经部署完了。



你的目录应该变成这样:






我是Windows来跑的,差不多是这样。

直接把config.json拖到kepweb-windows-amd64.exe上面,就能启动客户端了。如果启动不了,使用cmd启动`kepweb-windows-amd64.exe config.json` 看报错信息

访问127.0.0.1:3000,就能看到论坛了,使用json中设置的用户名与密码即可登录。





2.配置互联



配置互联很重要,关系到能否直接把帖子发送到别人节点上。

其实也不难,就完善`验证域名`的TXT验证就行



之前有一个`"domain": "你验证的域名"`,改成自己的域名。设置txt记录,比如我的是`"domain": "punk.207727.xyz"`,那么我的punk.207727.xyz下需要设置2个txt

> "kep=NQCPJWEXVRUEF536AYGWDEIMYQWONS6QVOPLAXBZSRM5TJLF47HQ"

> "des=e9ecf856144aaf22"

这个是我的密钥记录,不要直接抄我的,你没有私钥用不了。自己生成自己的。



"kep=NQCPJW.."这个是主公钥的base32记录,`NQCPJW..`这种值使用`./kep-cli -act=base32`获取

"des=e9ecf8.."这个是子公钥的摘要值,`e9ecf8..`这种值使用`./kep-cli -act=des`获取。

3.激活token



之前apply.stalltrix.com申请的token默认是未激活,用不了,必须先保存一次才能激活。

保存的时候,会验证`本地URL`也就是自己的节点,下面我们使用cloudflare worker模拟一个节点来过验证。以激活此token

```js
export default {
async fetch(request) {
const type = request.headers.get("X-Msg-Type");

if (type === "ping") {
return new Response("+PONG", {
headers: { "content-type": "text/plain;charset=UTF-8" }
});
}

if (type === "data") {
return new Response("+OK", {
headers: { "content-type": "text/plain;charset=UTF-8" }
});
}

return new Response("404 page not found", {
headers: { "content-type": "text/plain;charset=UTF-8" }
});
}
};
```

cloudflare新建一个worker项目,把上面代码粘贴上去。点击部署。

然后转到域名,worker路由,绑定url路径,选择`/v1/m*`

返回之前的apply页面,`本地URL`填,https://域名,不需要带上后面的/v1。点击保存,应该会显示保存成功。那么此token就激活了。




然后打开你本地的127.0.0.1:3000试试,发帖试试,看看官方节点是否收到了这个帖子。

#2 skymmap · 2026-06-03 03:22:00
stalltrix
啊。你这方法完全不对啊,这种相当于卡bug进来的啊。使用cf worker欺骗其他节点让其认为自己是节点,而使通信token生效。然后再使用"此有效token",来推送消息到其他节点上。

你这种没有运行kep-edge,就变成单向通信了啊,你发送消息别人能收到。别人发消息你收不到啊。
#3 hua · 2026-06-03 03:28:29
stalltrix
这种方法有缺陷吧,只能回自己帖子,回不了其他人的帖子
#4 星河 · 2026-06-03 03:33:29
stalltrix


> 使用cf worker模拟一个节点来过验证。以激活此token

哈哈哈,之前还在内测的时候,讨论的防呆设置,竟然这样呗绕过了。



#5 bigjj · 2026-06-03 03:43:28
stalltrix
这里没自己部署过确实感觉很难,但是搞过一次后就会发现也就那样。就是写一个配置文件,然后就启动就行了。
#6 gmking · 2026-06-03 03:52:37
stalltrix
哈哈哈,之前一直觉得这里门槛太高了,楼主研究出的卡bug成功把准入门槛降下去了。
#7 风长旧客 · 2026-06-03 04:44:48
stalltrix
你看到讨论质量高,大概是这里的事实门槛导致的,这里虽然没有明确邀请制,但是也有门槛,大概是网络技术的操作门槛,能进来的大多数都或多或少懂一点网络技术,

自然门槛和邀请制的人为门槛不同。人为门槛有概率变成裙带关系,很多时候呆久了就会有一种感觉是别人的私人论坛之类的(并非邀请制本身原因,而不是权力者能控制邀请本身)

早期互联网论坛纯粹,就是自然门槛导致的,那时候能买电脑+上网的人你想想是什么样的人。

现在很多社区搞邀请制,甚至还有付费进群的。其实也就那样,本质上是人为制造稀缺性,而非自然稀缺,见多了就会发现很多里面的消息其实也是二手的。

当然了,邀请制并非不好。就是大多数社区的邀请码从分发拉朋友变成了新人索要。其实已经不能算“邀请制”了而是搞“门票制”,和付费群没有什么区别,只不过付的并非金钱而是其他东西。

#8 2077朋克 · 2026-06-03 05:20:09
stalltrix
大佬救救我,是真的啊。我看官网对应的hash已经显示回复了一大串了,我这边还是空的,没有一个回复,只有自己的

#9 duso · 2026-06-03 05:28:06
stalltrix
看来坛内的bug王要易主了,这才是真正的bug王,卡bug卡进来了
#10 hua · 2026-06-03 05:32:11
stalltrix
@punk.207727.xyz 不止这样,你没有edge程序的话,消息不会持久化,你一重启的话所有的帖子就会消失了。
#11 kanshan · 2026-06-03 05:50:11
stalltrix
简单说下

步骤大体上没有问题,就是你中间少一个步骤,补上就行了




按照你的思路给你补充一下


1.初始化环境


下载cli:https://github.com/stalltrix/kep-cli

初始化

```bash
./kep-cli-linux-amd64 -act=gen
./kep-cli-linux-amd64 -act=init
```

注意把私钥mainkey.priv本地离线保存,服务器平时是用不到的。




2.部署core程序



下载:https://github.com/stalltrix/kep-demo

配置好core.json设置文件

```json
{
"api_token": "后端管理token",
"listen": "127.0.0.1:13000",
"ntp": "time.cloudflare.com",
"local_token": "消息发送token",
"deny_file": "deny.json",
"token_file": "token.json",
}
```

然后直接启动就行

```bash
screen -S web1
./kep-demo-linux-amd64 core.json
```

程序会监听 `127.0.0.1:13000`




3.部署webui程序



下载webui:https://github.com/stalltrix/kepweb

配置好json设置文件

```json
{
"mainkey": "mainkey.pub",
"pub_key": "pkey.pub",
"priv_key": "pkey.priv",
"sig_key": "pkey.sig",
"domain": "你验证的域名",
"user": "登录用户",
"login_token": "登录密码",
"api_token": "后端管理token",
"listen": "127.0.0.1:13001",
"ntp": "time.cloudflare.com",
"neighbors": [
{
"url": "http://127.0.0.1:13000",
"token": "消息发送token-token"
}
]
}
```

neighbors的url填之前第二步部署的后端地址`127.0.0.1:13000`,而不是直接填邻居地址+token,你之前就是直接填的邻居token,要在webui与别人邻居之间串联一个edge程序。




然后把`http://127.0.0.1:13000`与`127.0.0.1:13001`反代出去就行。

`http://127.0.0.1:13000`这是你的edge端口,比如你反代为`https://edge.207727.xyz`,那么那个token管理后台的本地URL填这个反代地址,而不是填那个worker模拟的节点

`127.0.0.1:13001`是你的webui端口,比如你反代为`https://webui.207727.xyz`,直接访问`https://webui.207727.xyz`,而不是本地运行,然后访问127.0.0.1
#12 2077朋克 · 2026-06-03 08:41:40
stalltrix
感谢大佬回复,请问下这种中间串连了edge后,webui的邻居直接填写自己的的edge,`http://127.0.0.1:13000`。那么apply页面token管理后台申请的用户token又是放到那里的呢。
#13 bigjj · 2026-06-03 08:58:53
stalltrix
其实这个能直接webui可视化操作,打开后台管理到"添加邻居"那里就行了。也可以手动加。

手动添加的话,就下列方式:

比如你core.json填写了`"token_file": "token.json"`,token.json这个就是保存邻居token的。

打开token.json,按以下格式就行

```json
{
"strx_token1xxxxxxx": {
"url": "https://connect.xxxxxx",
"token": "strx_token1xxxxxxx",
"rpm": 300
}
}
```

然后重启edge程序
#14 2077朋克 · 2026-06-05 02:13:08
stalltrix
我更新了新帖子:https://meta.stalltrix.com/index.php?topic=0bbff35acde413108bc4ea60108e39bc815da3df4c8269f1c448d0eb7f08cb38 ,各位可以看看

顺便试一下是否这种虚空回复行不行

注册

或使用第三方注册

登录

没有账号? 立即注册
技术
闲聊
开发
正在提交...