操作手册

安装与启动

安装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