Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

uninet-protocol

用uninet-address实现的方法加密。 公钥即地址,私钥即密钥。

基于WebSocket+JSON的协议

格式[type: PacketType, data ...]。

const enum PacketType {
  Servers,
  GetServers,
  RoutingTable,
  GetRoutingTable,
  ProxyMe,
  Packet,
}

Servers

提供一些节点。可以在任何时候发出任意数量的。

为[t: PacketType.Servers, data]。

data为低层地址的数组。

GetServers

获取一些节点。

为[t: PacketType.GetServers]。

RoutingTable

提供一个路由表。可以在任何时候发出任意数量的。

为[t: PacketType.RoutingTable, data]。

data为一个object,键为地址,值为低层地址的数组。

低层地址

为[protocol: string, low_address: string]

protocol可以是ws(WebSocket)或wss(WebSocket)。

GetRoutingTable

获取路由表。

为[t: PacketType.GetRoutingTable]。

ProxyMe

要求WebSocket服务器为自己提供代理。

由WebSocket客户端发出。

为[t: PacketType.ProxyMe, address: string]。

address为地址。

Packet

包。

为[t: PacketType.Packet, address: string, rawsender: string, rawdata: string]。

address为接收者的地址。

rawdata为base64编码的加密的数据。

rawsender为base64编码的加密的发送者的地址。

rawdata的加密

  1. 用发送者的密钥加密。
  2. 用接收者的地址加密。

rawdata的解密

  1. 用接收者的密钥解密。
  2. 用发送者的地址解密。

rawsender

  • 用接收者的地址加密。
  • 用接收者的密钥解密。

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors