【Bncr】无界3.0新手教程-Deer


特殊说明

无界的上手难度不算低,大家尽力而为,有问题带着截图去群里问。

https://t.me/BncrJSChat

本教程参考以下大佬做一个集成

【Bncr】Linux/群晖搭建无界Docker和部分报错解决教程

【Bncr】无界3.0新手教程

Bncr 无界3.0安装教程

从零开始的无界3.0 - 单身汪

为什么用无界?

1、用bot后台对接登录,有效防止网站被DDOS。韭菜可以直接在机器人内绑定账号,每日查询资产变动。

2、线报监控和解析变得更智能。

点击查看无界服务状态

注意事项

本教程系统适用于所有Linux系统(云服务器家宽均可),本次教程使用Debian12(本地服务器),其他系统大同小异

安装无界需要服务器安装docker,这个自己安装就行了。宝塔可以一键安装,1panel也是一键安装,这里不多赘述。

这里推荐大家使用科技lion一键脚本 Linux服务器运维工具箱 监控管理建站一个脚本全搞定!

N0.1 安装Bncr3.0并登录

https://t.me/BncrJSChat

先去机器人 https://t.me/red_Lights_Districts_Bot

发送/get_token 获得token,保存下来。

# 在你要存放数据的目录下手动新建BncrData文件夹

# (以root目录为例)

# 警告!群晖用户请勿在root下存放任何文件!修改成你的硬盘目录!

1
~~mkdir /root/BncrData#在root目录新建BncrData文件夹~~

Docker安装,运行容器 并进入交互控制台

1
2
3
4
5
6
7
8
9
docker run -dit \
-v /root/BncrData:/bncr/BncrData \
-p 9090:9090 \
--name bncr \
--hostname bncr \
--restart on-failure:5 \
--log-opt max-size=5m \
--log-opt max-file=3 \
anmour/bncr && docker attach bncr

Docker compose安装代码

1
2
3
4
5
6
7
8
9
10
11
12
13
version: "3"
services:
bncr:
stdin_open: true
tty: true
volumes:
- ./data:/bncr/BncrData
network_mode: host
container_name: bncr
hostname: bncr
restart: on-failure:5
image: anmour/bncr
Copy

注意:Docker compose模式下安装可能存在ssh控制台无法输入的情况

ps:进入容器交互控制台

1
2
3
4
#进入
docker attach bncr
# 退出交互控制台
Ctrl+p Ctrl+q

默认鉴权URL无法使用,请前往

无界服务状态

获取鉴权地址,输入自定义鉴权URL后回车

然后输入从 鉴权bot 获取的token

系统日志开关建议开

控制台消息等级建议第一项全开,以后配置好了再改

开发者模式建议开

以上设置后面可以去面板配置

结构目录

1
2
3
4
5
6
Adapter :适配器目录
config :一些config.json文件,用来存放鉴权,反代等数据
db :数据库,可用来备份或者迁移无界
node_modules :模块
plugins :插件目录
public :缓存的文件,图片或视频

登录

浏览器打开 http://ip:9090 进入无界登录页面

一定要记得把9090端口去后台打开,一般阿里,腾讯,华为这些大厂都是防火墙的设置,自己找找也就找到了。假如说安装了宝塔,宝塔后台也要去打开。

在服务器终端输入:docker attach bncr 进入容器内部. 或在拥有管理员的平台发送以下命令:

1
2
3
4
5
6
#设置账号:
set system name 你的账号

#设置密码,密码必须为6-18位数字/字符/符号,至少2种组合:
set system password 你的密码

返回登录页登录,仪表盘首页的内存占用并不准确,不用在意

登录完成后按Ctrl+p Ctrl+q 可后台运行。

NO.2 插件订阅

在终端内输入

1
docker attach bncr

然后去无界web页面。

插件市场

暂不支持分类,可以使用搜索

无界的具体功能都需要适配器/插件实现,首先下载适配器,方便对接各聊天平台,建议一次把需要的适配器下载完,因为适配器需要重启才能看到

添加订阅

进入插件市场,右上角点击订阅按钮,默认已经订阅了官方插件

https://imgs.dsdog.tk/file/2f8d94893433fc63a3b24.png

点击右边加号添加其他大佬的订阅,点击减号删除订阅

个人建议,官方市场,红灯区一定要订阅,因为很多大佬的插件里的mod都是按照红灯区来写的

一些大佬的插件(排名不分先后)

官方市场

https://github.com/Anmours/Bncr

红灯区

https://github.com/RedLightsDistrict/Bncr_plugins
D佬

bncrSub://UpdjUc6jid/ZFkJhEZFTW7g0Y5mwQGTOquKC0qQ3jQT64ov58iu9al29oSMuvxiCTRP7m7nb+GShLeXBM34f5alozVwSO6Rk83p/jSqH458=
寒佬

bncrsub://3BPeb/Ff4FlBAx372D99jdVghsmvkSgLBq9KU/hngTdwC2GEcEwqYWSWDYKb6RfikHZG1cRp8/VvIGJ786YOuBlGXSIKXzAA1klCLP7Pc80=

单身汪(无法访问GitHub的可以使用sub订阅)

https://github.com/callacat/BncrJS_plugins

bncrSub://3BPeb/Ff4FlBAx372D99jVyIKCqA1o+N6BGTODwfLTZrDM4RSZKoS4TbJlpyOm47YhEFvTGcZvorshRgSZRqhuvtZ5z6IIZiGB8EWGrtvD0=

小九九

https://github.com/randomshit699/Bncr_plugins
胜利佬

bncrSub://4jZW6oPmVyXqvAZWhY1TV9wUaY1omNhbo/gx0gklBlfE/O29Z3xuEuPUMZJZ6nQKqnfbGOcfhtrMZuoyXlr6BvK3yhcuJoDn8QoAcBegu6c=
缘佬

bncrSub://3BPeb/Ff4FlBAx372D99jYvj+QZcN253M4hwNraBlDlkcHZ3Co50nPr36N+UPUwByGOOlBqx00VAtjamL5r6HbE7eOYTWuOnjVZCTZZmO68=
Merrickk

https://github.com/Merrickk/BncrFiles
sumuen

https://github.com/sumuen/Bncr_plugin
枯花佬

bncrSub://hbq80RwrMDlTHxjzsPkUWY/ObH3eYsqVRJduerbj3VLqn6HIX9FDfEnjLxmP3tnDAbgZA/ZytDYXnMPDNs/6OgX6FJrZlwgu1yMKxaPkjdA=
无眠

https://github.com/Womian/Wm_bncr_plugins

JC

bncrsub://4jZW6oPmVyXqvAZWhY1TV70Us3xou/l8DG7lu3ZNncvutZqo60FBZE0z2J6GOSuHVZ0FmeN9AJAT67XqtEDvcQ==

三藏

https://github.com/3zang/Bncr_plugins

October

bncrSub://3BPeb/Ff4FlBAx372D99jSgYAOp0iHTZYdXsiIPvd8Kv+n62AwCyJeSaLEwNILJPTolaQ/RxzeG3WMcOQzvUpkO+H+mnXr5+73k7J/jMjQA=

yuanter

bncrSub://UpdjUc6jid/ZFkJhEZFTW/8AQnqGof/eXGPt+fCsmJ31/6uffZxee3QzBTXMYrzPWdzsQ90+6RGUYrEfBlnRnsXejZuVbYXS1qVLK8a4tPI=

屁 啊

https://github.com/lastbaigeiapi/Bncr_plugin

奖励

https://github.com/CoverUp137/Bncr_plugin

鑫仔

https://github.com/seven-XINZ/bncr

xmo

https://github.com/xmoxmo/bncr

辰烬化思羽

bncrSub://3BPeb/Ff4FlBAx372D99jTC8Ri+Swd4INGfYEvPIfMhlNIUfgVosZXyb2EAcbjvLaaeQ6KyIc6nzm2ZmmXP/6v8Vz35tefgiutXDHOSqYYcOFE5m+pXCAfaBbn/oFutT

麦丽素佬

https://github.com/dandanainiyo/bncr_plugins/tree/main

发布插件:

1、端对端 :

以发布者的机器作为服务端载体

用户侧:

用户取得开发者订阅链接后在插件市场右上角设置中添加订阅源

开发侧:

·发布者把需要发布的插件@public字段改成true

·发布者需要在前端填写相关信息生成订阅插件发布于用户使用

·发布者可通过config/PluginCloudAuthentication.ts模块控制订阅行为(基于此模块,你可以实现订阅黑名单、白名单等操作)

2、GitHub模式 :

用GitHub仓库为服务端

用户测

前端订阅源只需要填写仓库地址,例如https://github.com/Anmours/Bncr ,不要带/结尾

开发侧

·需要在config.json手动增加pluginsPublishingMode字段,值为:github

·当有public插件时,会在BncrData中生成publicFileIndex.json索引文件,

·需要将publicFileIndex.json和要发布的文件同步更新至GitHub

·或 cp Bncr仓库的.github/workflows文件夹到自己仓库,然后仓库需要开启 “Read and write permissions” 与 “Allow GitHub Actions to create and approve pull requests” 权限,更新文件后GitHub Actions将会自动生成索引在仓库根目录。

·发布GitHub仓库默认分支必须是main分支,且文件摆放格式与需要与BncrData下的一致,具体请参考Bncr官方库

NO.3 对接聊天平台

打开网页 ‣ 点击下载zip包

下载保存至bncr 的 BncrData/plugins/红灯区/下

打开奶酪.js 修改第四行origin为team

去插件市场下载下面插件(按需)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Doraemon_config_tool.js
Doraemon_sendNotify.ts
Doraemon_tool.js
Doraemon_一键安装所需依赖.js
Doraemon_ql.js
h5st.js
Rebels_H.js
Rebels_jdCommon.js
redis_tool.js
wx_active_tool.js
查询.js
登录.js
qq.js
HumanTG.js
HumanTG_Expand.js
tgBot.js

下载完输入“重启”,重启无界。

重启后输入
*Doraemon_一键安装所需依赖*

等待依赖安装完成。安装完成后输入”重启”

留意重启的界面显示,如无报错则安装成功。

对接NTQQ

插件市场下载qq.js,插件配置中找到qq.js,点击开启适配器,适配器模式 ws,保存

去QQ框架那边启用并添加反向ws协议,写入 ws://无界ip:9090/api/bot/qqws,消息上报格式选择CQ码

NTQQ安装参考

落幕屋 - 【NTQQ】Docker版本NTQQ结合了LiteLoaderQQNT与LLonebot等插件

设置管理员

在web聊天窗口发送命令

1
set qq admin 管理员QQ号

要使配置生效,还需要再次重启无界

对接TG人型

必须有国外鸡或使用代理工具

参考【Faker教程】云服务器安装V2Ray

内置

需要科学上网环境或S5代理

访问 https://my.telegram.org/

输入自己的手机号码,国内手机号码需要前面➕86

填好手机号码,点“next”,会发送验证码,发完后回到Telegram,收到官方账号发的验证码copy,回到网页填上

选择API development tools,app title、shortname随便填,url 不用填,platform随便选?creatapplication

然后就能得到第三个参数BOT_API_ID和第四个参数BOT_API_HASH

插件市场下载适配器HumanTG.js,填写上面获取的apiID和apiHash,代理配置选填,保存,重启无界

无需设置管理员,默认自身就是管理员

如果出现错误需删除人形数据重新登录

在有管理员权限的平台发送:del HumanTG session

登录

配置好内置人型后第一次启动无界时进入交互界面,按照提示输入注册TG的手机号、TG登录密码以及收到的验证码即可登录

对接TgBot

有科学上网环境不需要反代。无科学上网环境需要配置反代。

注意:必须要有一个域名才可使用反代。

打开TG,到@BotFather 中创建一个bot,记住token。

反向代理设置

推荐cf的worker,详细教程上网去搜

1、必须要域名,几块钱一年的也行,cf提供的免费域名不行。

2、设置完worker以后要设置路由。

参考教程 https://blog.csdn.net/z_162423/article/details/124953050

https://www.cloudflare.com/zh-cn/

注意修改第一行即可。XXXXX是你Bot token的数字部分,没有后面的英文,其他不变,要带/bot和:

worker代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
const whitelist = ["/botxxxxxxxxxx:"];
const tg_host = "api.telegram.org";
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})
function validate(path) {
for (var i = 0; i < whitelist.length; i++) {
if (path.startsWith(whitelist[i]))
return true;
}
return false;
}
async function handleRequest(request) {
var u = new URL(request.url);
u.host = tg_host;
if (!validate(u.pathname))
return new Response('Unauthorized', {
status: 403
});
var req = new Request(u, {
method: request.method,
headers: request.headers,
body: request.body
});
const result = await fetch(req);
return result;
}

准备好反代和token,到无界插件市场下载tgbot.js 然后在输入“重启”

重启完成后在无界插件配置下打开适配器,然后输入反代和token,再重启。


重启完成后,设置好tg管理员即可。

1
set tgBot admin 管理员ID

对接企业微信应用

参考Bncr 无界3.0安装教程-CSDN博客

唯一需要注意的是本地服务器安装的不能用企业微信(除非你的公网IP是固定的),只能用企业客服或者公众号

首先插件市场订阅Merrickk

https://github.com/Merrickk/BncrFiles

Merrickk github对接教程

微信客服对接简明教程
1.访问微信客服网址并注册开通 https://kf.weixin.qq.com/
2.在“客服账号”创建一个客服账号
3.在“开发配置”修改回调配置,回调URL填“无界地址/api/bot/wxWorkKF”,Token和EncodingAESKey随机生成,先不要点“完成”
4.在无界安装依赖got @wecom/crypto xml2js form-data express-xml-bodyparser,重启无界,确保适配器正常加载
5.进入无界的WEB配置页面,启用适配器并填入corpId(企业ID)corpSecret(Secret)和encodingAESKey,保存
6.回到第3步的页面,点击完成,如提示成功则对接完成
7.在“开始接入”点击“在微信内其他场景接入”可以看到客服账号的链接,微信里点击这个链接就可以开启对话

注意: 1.要启用管理员功能请在已有管理员权限的平台输入set wxWorkKF admin 用户ID,给客服发送消息的时候在控制台可以看到用户ID
2.微信客服独立版和原来的企业微信客服不能共存,已经开通的需要去原来的企业微信把微信客服停用
3.有反馈说新开通的账号第5步的时候找不到corpSecret(Secret),要等第6步完成后才能出来,大家自测
4.第6步无法顺利完成的话可以在点击时候打开无界控制台看有没有收到请求,能收到请求可能是因为无界响应太慢(需要1秒以内),请自行优化

企业微信对接简明教程
1.访问企业微信网址并注册开通 https://work.weixin.qq.com/wework_admin/loginpage_wx
2.在“应用管理”-“自建”创建一个应用,在“我的企业”获取企业ID并记录
3.进入应用,获取Secret值并记录,在“开发者接口”设置企业可信IP为无界机器人的外网IP 4.在“功能”-“接收消息”启用API接收。修改回调配置,回调URL填“无界地址/api/bot/wxWork”,Token和EncodingAESKey随机生成,先不要点“完成”
5.在无界安装依赖got @wecom/crypto xml2js form-data express-xml-bodyparser,重启无界,确保适配器正常加载
6.进入无界的WEB配置页面,启用适配器并填入 企业ID Secret和encodingAESKey,保存
7.回到第4步的页面,点击完成,如提示成功则对接完成
8.在“企业微信”客户端-“工作台”可以找到应用,开启对话,之后也可以在微信端点击进入对话

注意: 1.要启用管理员功能请在已有管理员权限的平台输入set wxWork admin 用户ID,给客服发送消息的时候在控制台可以看到用户ID
2.第7步无法顺利完成的话可以在点击时候打开无界控制台看有没有收到请求,能收到请求可能是因为无界响应太慢(需要1秒以内),请自行优化
3.微信里无法收到企业微信消息的需要去企业微信后台“我的企业”-“微信插件”-“设置”勾选“允许成员在微信插件中接收和回复聊天消息”

微信公众号对接简明教程
1.访问微信公众号网址并注册开通 https://mp.weixin.qq.com/
2.在“设置与开发”-“基本配置”获取AppID、AppSecret并记录,配置IP白名单。 3.填写服务器配置,回调URL填“无界地址/api/bot/wxMP”,填写Token,随机生成EncodingAESKey,消息加解密方式选“明文模式”,先不要点“完成”
4.在无界安装依赖got form-data express-xml-bodyparser,重启无界,确保适配器正常加载
5.进入无界的WEB配置页面,启用适配器并填入 AppID AppSecret Token EncodingAESKey,保存
6.回到第3步的页面,点击完成,如提示成功则对接完成

N0.4 对接青龙面板

青龙相关的功能都是基于奶酪插件实现的,但是红灯区还没有适配3.0,需要自行从红灯区仓库下载奶酪.js到无界的 /bncr/BncrData/plugins/红灯区目录下

下载mod文件夹下 AmQlMod.jsAmTool.js和 CryptoJS.js到 mod目录下

下载好后进入文件管理,编辑奶酪插件,将 origin改成 team保存

重启完成后打开青龙面板-系统设置-应用设置 为无界创建一个应用。

Web交互聊天窗口使用管理员身份发送命令 面板管理按照提示添加青龙面板,可添加多个,最后记得输入 wq保存并退出

NO.5 对接青龙登录工具/查询资产

在前面的教程里,我们安装好了D佬的登录插件,对接好了青龙面板和Tgbot/人形/qq机器人。现在直接进行对接登录插件即可。

对接工具设置

首先自己安装好Pro/Rabbit,然后到无界网页端打开

以Nolan Pro面板为例,去随机生成一个带数字字母的字符串,两个位置写一样的就可以。

进入web后台插件配置 /plugins/红灯区/登录.js按照注释填写配置,带星号的必须填写。

rabbit容器id一般是2,如中间删过,后面又重新对接了,那就得写3,每删一次,就得往后加1。

登录/上车回复语自己设置。这里不设置的话,则默认使用插件内部回复语

注意:rabbitPro容器id哪怕没有也要填写一个0,否则无法保存,如果登录有莫名其妙的报错 请运行D佬的一键依赖并重启,got版本要在11.8.5,在任意有管理员权限的平台发:npm i [email protected]

https://imgs.dsdog.tk/file/33f2383921d058428dc17.png

配置完以后记得保存,保存好到输入“重启”,然后到bot发送“上车”,自己测试下。

查询狗东资产

插件市场下载D版查询.js插件,还需要下载依赖文件h5st.js,安装依赖 npm i date-fns,进入插件配置,直接点击保存即可。

注意:如果查询有莫名其妙的报错 请运行D佬的Doraemon_一键安装所需依赖.js并重启,有火爆的话在Doraemon_config_tool.js插件下配置代理。got版本要在11.8.5,在任意有管理员权限的平台发:npm i [email protected]

N0.5 无界spy和监听配置

无界spy可以代替spy,使用前必须对接了青龙面板,TgBot或者人形

1.从红灯区下载BncrSPY.js和mod下的文件

1.1 自行编辑bncr\BncrData\plugins\红灯区\mod\SpyConfig.js

或者直接用别人写好的模板

修改完需要重启才能生效

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
必填项目:
/* 监控列表 */
ListenList: [
{
Name: '6666', //备注
Id: '6666666666', //群id/频道id
选填项目:
/* 运行日志输出位置,例如错误运行日志/任务运行成功等日志,只能设置1个 */
runLogsInfo: {
platform: 'HumanTG', //发送平台
toGroupOrUser: 'groupId', //通知类型,个人userId //群groupId
Id: '-1001842786543', //个人id 或群id
},
/* 静默后监控结果输出位置 可填多个*/
TabooLogsInfo: [
{
platform: 'HumanTG', //发送平台
toGroupOrUser: 'groupId', //通知类型,个人userId //群groupId
Id: '-100666666666666', //个人id 或群id
},
Copy

实例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
Name: '【M】幸运抽奖',
/* 执行的脚本名 */
Script: 'm_jd_wx_luckDraw.js',
/* 监听变量 */
ListenEnv: ['M_WX_LUCK_DRAW_URL','GZSL_DRAW_URL','jd_lzkj_loreal_draw_url'],
/* 转换变量 */
SetEnv: {
GZSL_DRAW_URL: 'M_WX_LUCK_DRAW_URL',
jd_lzkj_loreal_draw_url: 'M_WX_LUCK_DRAW_URL',
},
/* 具体怎么装换 左转换→监听 */
execRegExp: ['(?<=activityId(=|%3D))[^&% ]+'],
TimeOut: 60,
/* 超时退出 (秒)*/
Interval: 0,
/* 间隔时间(秒) */
RunPanel: [0],
/* 运行面板 0 代表 面板管理中的第一个容器 以此类推 非超授只能用第一个面板 */
Disable: false,
/* 禁用任务 */
},
Copy

也可以参考Faker大佬的教程N0.4 无界spy和监听配置

2.监听群组

1.可以发消息的群组直接发送

1
2
3
监听该群
不回复该群(推荐 不然等着被ban)

或在用户配置→监听群列表添加需要监听的群或频道(如果频道或群组不能发消息的时候可以用)

3.配置解析

自行编辑bncr\BncrData\plugins\官方插件\mod\SpyHandleMsg.js

只要是spy配置文件的监控列表以及监听群组列表都有群组频道发送了活动链接

就自动解析+运行

举例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
keyword: /lzkj-isv\.isvj(clou)?d\.com\/wxGameActivity/, //不懂得看活动链接的特征 照抄
name: 'M无线游戏', //活动名或者脚本名
trans: [
{
ori: '-1', //-1是整个活动链接
redi: 'M_WX_GAME_URL', //M无线游戏 //
},
],
},
{
keyword: /lzkj-isv\.isvj(clou)?d.com\/wxgame/,
name: 'LZ游戏活动',
trans: [
{
ori: 'activityId', //activityId就是截取上面活动链接里的activityId到下面环境变量里
redi: 'WXGAME_ACT_ID', //

},
],

如果自己发的链接会被解析,在spyConfig里加spyjx:’j’,则管理员发的https链接必须以j开头才会被插件解析

注:没反应的问题自己检查有没有监听该群,spy里有没有白名单,有没有规则,解析规则对不对。跑过的线报会保存在数据库变为旧线报忽略,可定时发送命令”spy清空列队“,或在官方插件里的定时任务里添加定时任务