操作手册
安装与启动
安装VS1984
# install vs1984 in ubuntu 24.04
sudo dpkg -i vs1984.deb
# uninstall vs1984 in ubuntu 24.04
sudo apt purge vs1984
# run in the terminal
vs1984
安装并启动后台服务
安装VS1984后台服务
# install vs1984 service in ubuntu 24.04
systemctl --user daemon-reload
systemctl --user enable --now vs1984d.service
显示当前版本
显示当前VS1984运行的版本
# 输入:
cmd version
# 输出:
SDK: xbc version: 0.9.28 build: 20251127025427
正确退出VS1984
VS1984虽然是命令行工具, 但正确退出依赖软件自身的处理, 通过命令行来正确退出软件:
cmd exit
文件目录介绍
- 安装后
# 安装目录: /usr/local/vs1984
├── cnf # 配置目录<必须保留>
├── .dat # 本地文件目录
├── .DFT_Exp_Table # 隐写连接图片计算缓存
├── .id # 节点id文件<必须保留>
├── .bt # 节点bt种子文件
├── .ai # 节点ai向量文库
├── .cache # 马尔科夫树缓存
├── .scbc # 自研scbc区块链
├── tasks # 当前任务缓存
└── .tmp # 缓存文件目录
启动命令行
- -p
# 指定<port>端口号启动服务端口
vs1984 -p <port>
# 若 -p 0 则会随机选取15000到65000之间的端口使用
- -s
# 连接某个节点
vs1984 -s <node ip>:<port>
- -i
# 连接节点的id
vs1984 -i <node id>
- -a
# 通过图片连接节点
vs1984 -a <node connect info image>
- -u
# 自动开启路由器upnp服务
vs1984 -u
- -c
# 读取自定义配置文件
vs1984 -c <config_file_path>
- example
# Example:
vs1984 -u -p 36984 -s :36983 -i A7HNzh7r2b6cKwXVdNShNLoKk+arm06pBT78TY6SyHK1
# 运行vs1984, 端口36984, 连接本地端口为36983,id为A7HNzh7r2b6cKwXVdNShNLoKk+arm06pBT78TY6SyHK1的节点
配置说明
cnf 目录下存在默认的config.xbc配置文件, 可以配置vs1984的行为, 也可以使用-c读取自定义的配置文件
# Example:
{
"neighbors": 10,
"share": {"max": 20},
"whitelist": ["node A id", "node B id"],
"tls": {"cert": "./cnf/self.crt", "pkey": "./cnf/self.key", "pass": "111"},
"app": "-u -p 0 -a ./will_connect_img",
"routes": "./cnf/routes.json",
"guard": "static",
"env": "MTg1MzU3OTk3MUF1aDdzQmVweFJ4ZWdWMzFYUnlzNlV0ekttUWxGZ0xselpadXloN3Mvc1E0TUVVQ0lRQ2NEM0ZNZFVHclZWVjZ3NmhDdUlOZjFHMUNkSHpEMFpjU1hxWkwwbVlDWlFJZ1ZLN1FKN2t0VjlhdFNTTkhVRjNDZnJVRlVzazRBam54V0VYdUg1K2pBcmc9"
}
# neighbors 客户端允许的最大连接邻居数量
# share: {"max": 20} 分享本地路由信息的最大数量
# whitelist 节点白名单
# blacklist 节点黑名单
# tls 指定连接证书
# app 客户端人软件运行参数
# routes 引导节点列表
# guard static时, 保护自己guard id和对应证书不被重新生成
# env 软件的背景参数
启动VS1984 BT 后台服务
# vs1984配置里添加:
"bt": {"startup": true, "config": "vshome/cnf/bt.conf", "bt_path" : "."}
# config BT配置文件
# bt_path vs1984的bt执行文件
启动VS1984 RAG 后台服务
# vs1984配置里添加:
"rag": {"provider": true, "model": "models/model.gguf", "rag_path" : "."}
# provider 作为rag内容提供服务启动
# model 本地llm模型路径
# rag_path vs1984的rag执行文件
使用xmd工具访问VS1984后台服务
# vs1984配置里添加:
"daemon": {"startup": true, "token": <user_token>},
# 本地启动xmd工具, 连接上本地vs1984 service
xmd -t <user_token>
连接其他节点
通过此命令连接其他节点
cmd connect <node_ip>:<node_port> <node_id>
断开节点连接
通过此命令断开某个节点
cmd disconnect <node_id>
列出节点路由信息
通过此命令查看本地节点路由信息列表
# 列出所有节点路由
cmd ids all
# 列出邻居路由
cmd ids
# 列出非邻居路由
cmd ids hint
查看节点的详细信息
通过此命令查看某个节点的详细路由信息
cmd id <node_id>
设置节点的昵称
通过此命令设置某个节点的昵称
cmd id set <node_id> <nickname>
删除节点的昵称
通过此命令删除某个节点的昵称
cmd id del <node_id>
创建自有证书
通过此命令创建自由抗MITM攻击证书, 此命执行后, 会在本地计算一个数学难题用来验证工作量,平均时间在1~2分钟, 用户需要耐心等待
cmd cert <cert_private_key_pass>
查看自己的节点信息
通过此命令查看自己节点的信息
cmd self
导出连接信息到图片
通过此命令导出自己的连接图片, 图片分辨率至少 1024 x 1024
cmd img <image_path>
通过图片连接节点
通过此命令使用其他节点的连接图片去连接
cmd connect <node_connection_image>
点对点消息 (网络中任何节点)
通过此命令向某个节点发送加密消息
cmd chat <node id> <message>
对邻居广播消息
通过此命令向自己的邻居广播消息
cmd broadcast <message>
VS1984工作目录
通过此命令查看vs1984的工作目录
cmd work
添加本地文件
通过此命令向系统添加本地文件
cmd add <local_file>
# ex: cmd add ll.jpg
# File copied to local node successfully!
浏览本地文件
通过此命令浏览本地文件
cmd ls file
# NODE: <self node id>
# FILE: ll.jpg
制作文件的下载链接
通过此命令为某个节点A制作下载链接, 生成后可以通过chat命令发送
cmd mk <self node id> <file name> <node A id>
# the resource url is rsx://QXduK01XanBy...
通过链接下载文件
通过此命令下载其他节点为自己分享的文件, 注意一定要下载属于自己的文件, 否则无法解密
cmd get <rsx url>
匿名链上发布信息
通过此命令匿名发布一个数据到链上,没有任何节点或中央服务或监控系统可以找到发布消息的节点
cmd kk '<msg>'
# 注意需要加上'', 如果使用sdk, 调用时不用'', 确保是字符串即可
# ex: cmd kk '{"topic":"wonder woman","url":"magnet:?xt=urn:btih:JMZCWVEMYLX5LBXEP3VPHF7NN4KNG3TG","tokens":"100000","type":"video","intro":"Diana of Themyscira, also known by her superhero title Wonder Woman","tag":"superhero"}'
转账 (未来将建立稳定币金库合约及桥接服务)
通过此命令向某个节点转账, 自己转账是必须确保自己的钱包内有足够余额
cmd tr <to node id> <mount>
# 向node id的节点转账mount数额
提现 (依赖于稳定币合约及桥接服务)
通过此命令通过稳定币金库合约提现到指定账户
comming
查看账本信息
通过此命令查看自己或其他节点的账本余额
# 查看自己的账本余额
cmd bl self
# 查看id的账本余额
cmd bl <node id>
查看当前任务
通过此命令查看正在进行的工作
# 查看任务列表
cmd task list
# 同步任务
cmd task sync
# 清除任务列表
cmd task clean
BT命令
通过此命令操作BT功能
# 添加文件做种
cmd bt seed <file_path>
# 通过magnet下载BT文件
cmd bt magnet <magnet_url>
# 查看BT下载状态
cmd bt status <infohash>
针对某段字符串加解密
通过此命令对某字符串加解密
# 针对某字符串加密
cmd secret encrypt <node_id> <to_secret_string>
# 针对某字符串解密
cmd secret decrypt <node_id> <from_secret_string>
File 加解密
通过此命令对FILE 加解密
# 针对某一个文件加密, 使用key做加密种子
cmd file encrypt <key> <file_path>
# 针对某一个文件解密密
cmd file decrypt <key> <file_path>
浏览单条信息
通过此命令查看单条信息的具体内容
cmd mid <mid>
与邻居语音通话
通过此命令让互为邻居的节点A和节点B语音通话
# 节点A向节点B请求语音通话
node A : cmd call req <node B id>
# 节点B受到节点A请求后,回复节点A
node B : cmd call ans <node A id>
# 节点A和节点B自动互相交换信令, 建立webrtc语音通讯
# 关闭语音通讯会话
node A : cmd call end <node B id>
node B : cmd call end <node A id>
浏览节点在链上的信息
通过此命令浏览某个节点在链上的信息
# 浏览自己在链上的信息
cmd bc self
# 浏览某个id的链上信息 (注意这里的id是节点的真实id)
cmd bc <node real id>
重新下载单个block
通过此命令重新下载某个区块及对应的详细内容
# cmd block <block number>
浏览当前黑名单
通过此命令浏览当前的节点黑名单
# cmd blacklist
重新生成guard id及删除tls证书
通过此命令重新生成guard id及tls证书, 这之前, 确保配置文件中"guard"选项不被配置为"static"
# cmd new id