Proxy: Add Hysteria outbound & transport (version 2, udphop) and Salamander udpmask#5508
Proxy: Add Hysteria outbound & transport (version 2, udphop) and Salamander udpmask#5508
Conversation
|
|
不是,但参考过, |
|
似乎有一些 hy2 实现没有实现端口跳跃和 obfs,这个 PR 实现了吗 |
obfs 实现了,端口跳跃没有, |
|
根据 https://t.me/projectXtls/1354 的想法,obfs 应该用一个新的层,顺便加个新的层吧 |
|
我觉得加个传输层没有用 不如都写hy setting里 |
|
|
|
就是说既然无法在一个地方全部写完就按功能分开吧,并且 obfs 是作用于 QUIC 外部的,写 hy2 settings 里也会很怪 |
往 StreamSettings 加个 networkMask 字段吗还是 |
|
没有协商这个传输就对其他协议没作用 这个obfs也是hy专有的 没法重复组合的东西放外面没啥用 |
|
总不至于往 proxy 的 hy2 settings 里加个 TLS settings 吧,那太怪了 既然不动 TLS settings,obfs 留在 hy2 settings 里也是很怪, |
|
等等,这是出站? 那xray服务端会支持建立HY2入站么? |
|
@LjhAUMEM 我想一下,按照 streamSettings 内目前的规律是 network、*settings、security、*settings 所以为了直观展示层级关系可以叫 endmask、*settings |
|
|
|
为什么bps定义了一个解析回头把错误忽略了 然后好多地方全忽略输出不直接写 写一堆 _ = |
好的我看看
当时想的是 0 也可以直接用,但是这样看不到解析的错误,我改一下 |
|
端口跳跃其实也可以抽象成一个 endmask 给所有基于 PacketConn 的客户端使用,在想解析的时候是不是可以做成数组或者增加一个优先级字段实现嵌套 wrap, |
|
应该可以了,endmask 先加上了 hysteria2 会用的两个,其他的可以另开个 pr 加, 不对,udphop 好像需要持续获取新的 socket,好像还不能这么改 |
|
udphop 需要实时监听新的 socket 还是不能加入嵌套,预计 streamsettings 加入三个字段,endmask,*settings,endmasks,前面两个作为单独的选项给最外层比如 udphop,endmasks 作为可选嵌套伪装, 还是只保留了数组的那个字段,如果存在 udphop 不加入嵌套,单独使用, |
|
我这边没问题了, |
再检查一下吧,我在写 release notes,半小时后发版 |
|
|
又不行了,难道是我刚刚没保存 json,现在是只能解析数组 |
|
|
|
|
不是,是把 UDP 伪装成 ICMP ASCII 那个更简单就是映射成可打印字符就行 |
|
有点类似 hy1 里的 faketcp,都是直接构建原始套接字,需要 root, |
|
|
…Require `"version": 2` in outbound's `settings` as well (#5537) Updated example: #5508 (comment)
|
噗 写到那里的时候有事被摇走了 回来的时候没弄上 那个字符串应该是copilot tab自动补的我没来得及改 我还记得回来要改一个时间 估计是看到 maxIdleTimeout 那里去了 |
|
1.PaaS架构是一种稳态架构,符合大道至简原则。 PaaS是个终极架构,上管应用,下管硬件。系统的天然分界平面,说的再简单一点,这套架构才是最简单的工程化部署实体。同时,落地需要企业或者运维团队形成真正的技术能力才行。k8S以及OPENSTACK确实表现出了蚁群智慧的工程设计方法,传统意义上的计算机已经开始向蚂蚁模型演进了,数据中心才是更大的智能体openstack是事实上的规模化分布式应用层集群系统参考实践模型,如果OpenStack是OSI/ISO七层模型,那么K8S就是TCP/IP协议栈。毋庸置疑,它们最终会互补成为一套更棒的标准体系和规范。关于K8S,我觉得目前最主要的限制是没有像Debian Gnu/Linux那样的本地源系统支持很好的本地化全功能部署和实践能力。导致用户上手实践困难。做好了本地源ISO镜像的发布将是社区成长的一大利好。企业应该有自己的Docker仓库系统,第一、有利于企业应用的统一化封装;第二、有利于企业应用系统部署过程中的Docker镜像包应用系统的网络层面及应用系统层面的安全管理和控制;第三、有利于企业代码审计,第四、有利于企业自身数据资产的收集和积累。这样的仓库系统有一套自由开源的实现,那是一种容器化的重要演进里程碑 |
|
24.自由是关于每个人的,我们必须防范数据纳粹的数据独裁,这数字纳粹本身可能比社会纳粹更可怕,计算机科学家们应该为防范数字纳粹化做些事情。数字纳粹化比数字犯罪可怕的多,虽然数字化可能被用来犯罪,但那绝不是说数字纳粹化就是为了防止犯罪的正当理由。 |
|
45.安全的本质是人性,所以恩格马加密机最终败给了炸弹破解机。机器都可以是自动化过程,但这些都源于人的设计,以人性对人性,善良的心最终取胜,多级代理,分段加密,分段TLS自签名证书。一种软件化的恩格马加密机就实现了,最重要的是它突破了不能将加密信息加密成自己的限制。 |
|
60.不能排除有人利用安全软件本身来传恶意软件的可能性和实际存在的安全问题,不能说管理的集权化一定就愚蠢,但这的确为恶意行为软件提供了更高效和便捷传输的一种通道方式。 |
|
@birdofprey 黄龙江遍地带蓝牙.jpg |
|
哥哥能一并支持一下 Hysteria 2 的入站?谢谢! |
|
这个版本的hysteria实现支持像原版一样关闭GSO吗?原版设置环境变量 |
可以的,都是相同的 apernet/quic-go |
以后会的 |
|
"version": 2, |
基于 44a5643
已测试可正常连接 hysteria2 v2.7.0 服务端。
二进制体积变化:
完整配置示例:
{ "log": { "loglevel": "debug" }, "inbounds": [ { "listen": "127.0.0.1", "port": 1080, "protocol": "socks", "settings": { "auth": "noauth", "udp": true } } ], "outbounds": [ { "protocol": "hysteria", "settings": { "version": 2, "address": "example.com", "port": 1081 }, "streamSettings": { "network": "hysteria", "hysteriaSettings": { "version": 2, "auth": "Se7RAuFZ8Lzg", "congestion": "brutal", "up": "100mbps", "down": "100mbps", "udphop": { "port": "20000-50000", "interval": 30 } }, "security": "tls", "tlsSettings": { "serverName": "example.com", "allowInsecure": true, "alpn": ["h3"] }, "udpmasks": [ { "type": "salamander", "settings": { "password": "cry_me_a_r1ver" } } ] } } ] }