mirror of
https://github.com/e1732a364fed/v2ray_simple.git
synced 2025-12-24 13:27:56 +08:00
修订文档,注释
This commit is contained in:
26
README.md
26
README.md
@@ -180,7 +180,9 @@ verysimple -c server.json
|
||||
|
||||
极简模式使用json格式,内部使用分享链接url的方式,所以非常节省空间;
|
||||
|
||||
极简模式暂不支持 ws/grpc 特性
|
||||
极简模式暂不支持 ws/grpc 特性.
|
||||
|
||||
极简模式继承自v2simple,理念是字越少越好。推荐没有极简需求的同学直接使用标准模式。
|
||||
|
||||
### 命令行模式
|
||||
|
||||
@@ -210,12 +212,16 @@ verysimple -c server.toml
|
||||
|
||||
标准模式使用toml格式,类似windows的ini,对新手友好,不容易写错。推荐直接使用标准模式。
|
||||
|
||||
我的 vlesss.client.toml 文件以及 vlesss.server.toml 文件中 提供了大量解释性的注释, 所以对新手很友好
|
||||
我的 vlesss.client.toml 文件以及 vlesss.server.toml 文件中 提供了大量解释性的注释, 对新手很友好
|
||||
|
||||
### 兼容模式
|
||||
|
||||
未来会推出兼容v2ray的json配置文件的模式。
|
||||
|
||||
### 交互模式
|
||||
|
||||
未来会推出交互模式, 可以在命令行交互着生成一个你想要的配置,这样也就不需要各种一键脚本了
|
||||
|
||||
### 其他说明
|
||||
|
||||
如果你不是放在path里的,则要 `./verysimple`, 前面要加一个点和一个斜杠。windows没这个要求。
|
||||
@@ -381,10 +387,20 @@ https://t.me/shadowrocket_unofficial
|
||||
|
||||
## 免责
|
||||
|
||||
MIT协议!我不负任何责任。本项目只是个代理项目,适合内网测试使用,以及适合阅读代码了解原理。
|
||||
MIT协议!作者不负任何责任。本项目只是个代理项目,适合内网测试使用,以及适合阅读代码了解原理。
|
||||
|
||||
你如果用于任何其它目的,我不会帮助你。
|
||||
你如果用于任何其它目的,我们不会帮助你。
|
||||
|
||||
我只会帮助研究理论的朋友。而且我不帮你你也没话说,MIT协议。
|
||||
我们只会帮助研究理论的朋友。
|
||||
|
||||
同时,我们对于v2ray/xray等项目也是没有任何责任的。
|
||||
|
||||
## 引用的外部包
|
||||
|
||||
```
|
||||
github.com/oschwald/maxminddb-golang v1.8.0
|
||||
github.com/yl2chen/cidranger v1.0.2
|
||||
github.com/BurntSushi/toml v1.0.0
|
||||
github.com/gobwas/ws v1.1.0
|
||||
```
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
下面给出安装到linux amd64服务器 所需要的命令, 大家总结一下即可得到一个简单的一键脚本
|
||||
下面给出安装到 ubuntu amd64服务器 所需要的命令, 大家总结一下即可得到一个简单的一键脚本
|
||||
|
||||
|
||||
```sh
|
||||
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
"github.com/hahahrfool/v2ray_simple/netLayer"
|
||||
)
|
||||
|
||||
var Version string //版本号由Makefile指定
|
||||
var Version string //版本号由 Makefile 里的 BUILD_VERSION 指定
|
||||
|
||||
func printVersion() {
|
||||
fmt.Printf("===============================\nverysimple %v (%v), %v %v %v\n", Version, desc, runtime.Version(), runtime.GOOS, runtime.GOARCH)
|
||||
|
||||
36
ws/client.go
36
ws/client.go
@@ -1,20 +1,7 @@
|
||||
// Pakcage ws implements websocket handshake
|
||||
//
|
||||
//websocket rfc: https://datatracker.ietf.org/doc/html/rfc6455/
|
||||
package ws
|
||||
/* Pakcage ws implements websocket handshake
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"context"
|
||||
"io"
|
||||
"net"
|
||||
"net/url"
|
||||
websocket rfc: https://datatracker.ietf.org/doc/html/rfc6455/
|
||||
|
||||
"github.com/gobwas/ws"
|
||||
"github.com/gobwas/ws/wsutil"
|
||||
)
|
||||
|
||||
/*
|
||||
下面把一个握手放在这里作为参考
|
||||
|
||||
请求
|
||||
@@ -36,7 +23,26 @@ HTTP/1.1 101 Switching Protocols
|
||||
|
||||
总之,一个websocket的请求头直接就是一个 合法的http请求头,所以也没必要额外包一个http连接,
|
||||
直接使用tcp/tls 连接即可。
|
||||
|
||||
websocket 库比较 https://yalantis.com/blog/how-to-build-websockets-in-go/
|
||||
|
||||
中文翻译:
|
||||
https://tonybai.com/2019/09/28/how-to-build-websockets-in-go/
|
||||
|
||||
总之 gobwas/ws 是最好的库. 本包使用 gobwas/ws
|
||||
*/
|
||||
package ws
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"context"
|
||||
"io"
|
||||
"net"
|
||||
"net/url"
|
||||
|
||||
"github.com/gobwas/ws"
|
||||
"github.com/gobwas/ws/wsutil"
|
||||
)
|
||||
|
||||
// 注意,Client并不实现 proxy.Client.
|
||||
// Client只是在tcp/tls 的基础上包了一层websocket而已,不管其他内容.
|
||||
|
||||
Reference in New Issue
Block a user