-
Notifications
You must be signed in to change notification settings - Fork 8.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
是不是能统一一下配置文件中的 null,none,None 和 “” #990
Comments
V2Ray的官方文档中没有使用过任何除了 |
@DarienRaymond
设置成
目前偶然遇到出错才发现的这个 “none” 写法,确定是 v2ray-core 内置的,而不是 “生成器” 的逻辑。 由于 v2ray 设计,并不是一个类似 ssr,全部配置信息在 config.json 里都可以找到树结构的,所以,二次开发可能坑很多。来确认一下,这个树结构的标准。 |
这两个语义完全不同,不明白你为什么一定要强求 |
你真去作程序就懂了,加冒号的 实在不行,“” 也可以考虑,也比 “none” 要好,但我测了,“” 用在这个键值上,v2ray.exe报错,看楼上 |
另外,我也是刚接触 v2ray 不知道遇到这个坑之后,还有那些坑,你们要知道,和我说下。 |
这是比较严重的现实问题: 在 v2rayN 的 guiNConfig.json 里,关于三种协议,混用到了令人糊涂的地步:
而这个 “none” 代表的是
同一个 json 键值,代表的却是 而第三个,就是上面提到的,v2ray 始作俑的 “none”:
我觉得, @2dust 在 v2rayN 混用 “none” 的不同语义根源就是来自这里,并不能仅仅说他用了账号生成器的问题。 |
制作 v2ray 的配置文件解析器过程里,感觉,账号生成器为了 “凑合” 位置,把不同协议,不同功能键值,都写到一个 json 键值上,把不同语义 null,None,“”,“string” 混用,导致了这些错乱,根源,其实还在 v2ray-core。 |
ss, ssr 的配置文件是扁平的,uri 也简单粗放,所有数据都可以列在一个二层树上列出来,v2ray 则完全不同,即便 v2rayN 用一个二层树文件,凑合表达,造成不同语义复用键值,而且没有一个通用标准配置文件可用。 |
https://github.com/Justsoos/ss-ssr-v2ray-gadget/blob/cf35d7aaa695112e299ac2366a9d76491a1d56e4/check_v2ray.py#L143 |
如果你要设计客户端的话建议使用Pb格式的配置文件,其有更好的文件层级结构, |
啥格式都不怕,但,不能脱离现实啊 -- 大量的消费者如果要用 v2rayN 和 v2ray-core 的 “none” ,我除非说服他们的开发者改掉,就算自己造一个客户端,也免不了被这些丑陋的数据吞噬。哈哈 @xiaokangwang 目前面临的就是这个问题吧。 |
@Justsoos 我的话并没有什么使用json格式的地方,我的Android客户端是没有编辑配置文件功能的。。。。。 |
至于网页版本的配制文件编辑器是将配置以json文件来理解的,并没有集成V2的特性 |
最近在写个小脚本,处理 config.json 和 guiNConfig.json ,后者是 v2rayN 使用的。
发现 v2rayN 大量使用
"none"
这种不规范的 json 取值,变换导入v2ray 的 config.json 后,大部分变成规范的null
。但今天发现 v2ray 的配置文件里:
['outbound']['streamSettings']['kcpSettings']['header']['type']
这个值也是可以取“none”
,而不是null
或者“”
。json 标准对
“none”
值是按照 string 处理的,正规的 json 应该用null
, python 内 json.loads 后对应为None
,这样才有通用性。不知道还有那个值也是这样取的?
建议从 v2ray 的 config.json 开始,能把这几个
“none”,none,”None“,“”,‘’,”null“
的值全部规范为null
@2dust
The text was updated successfully, but these errors were encountered: