主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
最近抽空学了一点rust(刚看完the book & async programming), 顺便研究了一下realm 先说第一个问题(个人认为比较重要)网友回复说:https://github.com/zhboner/realm/issues/25 这个程序支持批量监听端口。程序启动以后会先单独启动一个线程用于解析域名,随后为每个端口分配一个异步任务, 改动网友回复说: 把线程全都改成异步任务(包括DNS解析),保留了锁。因为如果跑在多核的机器上,tokio就会开启多个线程。 第二个问题网友回复说: UDP丢包 https://github.com/zhboner/realm/issues/26 UDP转发的逻辑有点暴力网友回复说:绑定的端口接受到UDP包以后,依次记录来源。等到收到回复的时候再把包转发给之前记录的第一个来源。 改动网友回复说:单独加了个UDP转发模块。每有一个不同的来源,就为其单独分配一个socket 负责跟服务端通讯,持续一段时间。 主要改动就以上这两个。仓库网友回复说:https://github.com/zephyrchien/realm 另外我单独开了一个分支,把程序改成了单线程的,去掉了锁,并且去掉了输出(因为是同步的,想好好打印日志就最好改成异步的) iptables: 工作于IP层,让内核负责转发。可惜享受不到TCP拥塞控制。 haproxy: 性能很好,功能性够强。支持配置入站/出站tls(以及sni, alpn),可以纯TCP转发,也可以处理HTTP(2),还可以用acl分流 nginx: 同上,但是我自己用的时候速度差强人意。<del>同样不支持UDP转发(一般也用不到)</del> (nginx可以转发UDP,加上udp关键字就行) golang系列转发工具: 功能都很多,但是我自己基本用不上,有些配置比较复杂。(纯转发的话不如自己写个,开俩io.Copy()就行,自动实现零拷贝) |
注册网友回复说: 目前UDP的处理方式还是比较暴力。得等接受端口15分钟不活动,再唤醒负责清理的future,让分配的socket自鲨。这样处理超时的代价比较小,但是如果老是收到不同来源的UDP包,就没机会释放资源了 (话说论坛真是卡成dog了,我这回复好几次都发不出去
dunce网友回复说: 会话的概念要有超时,否则内存会泄漏 我还是喜欢用rinetd
dunce网友回复说: 支持大佬,虽然你说的这些我都看不懂。
aipage网友回复说: 大佬,谈谈Brook和rinetd
qer网友回复说: 我也喜欢haproxy,还有一个是GOST搭配MMP-Go。端口复用必备 haproxy可以SNI分流(加了tls的),裸ws读取host头分流。转ws tls或者ws必备。而且转发到cf的话别人扫到你的端口也没法用。 MMP-Go解包分流。搭配GOST用起来相当舒服,转发到本地GOST监听端口加密隧道发过去,可以分流酸酸。
小蓝姐姐网友回复说: realm确实不错,配置起来相对简单,而且可以享受bbr。
yuanyuexiaoni网友回复说: thx! (不过我不是大佬
注册网友回复说: 我目前中转机和落地机都用haproxy(落地机服务端分流grpc/ws/tcp/web),非常的舒适
dole网友回复说: = =没用过,不好说。而且不同的人之间使用环境千变万化,就算我用过也不好妄下定论。不过一般而言这些工具性能上差不了多少,我个人因为只需要TCP纯转发,相比之下更关心资源占用和配置简洁程度 // rinted似乎是个纯转发,而brook功能很多。就Go和C本身而言,个人更倾向于C。Go在单核nat上发挥不出来goroutine的多线程调度优势,而且因为转发太方便,通常会支持一大堆我自己用不上的功能 // golang依靠runtime检查fd是否就绪,调用的io.Copy()自带splice()实现(不过golang syscall代价挺大);C程序依靠epoll让内核通知fd就绪,要实现零拷贝也很容易。 论性能理论上是C更好,但是实际上这两者实在不会差多少 (我业余学编程也就一年时间,学的远远不够深入,不能保证前面说的都是对的)
dunce网友回复说: 亲测,流量大的时候,尤其是多人中转的时候,除了gost都是渣
dunce网友回复说: nginx stream 可以 UDP
注册网友回复说: 感谢指正! 我不曾用过,误以为不支持。。原来只要加上udp关键字就可以了
注册网友回复说: 这我不敢苟同。如果要一概而论的话,gc语言是绝对干不过系统语言的。具体而言,首先go程序并发依赖于goroutine(有栈),连接数特别多的时候会占用大量内存;而c程序依赖于内核调度(rust tokio封装了epoll kqueue iocp),性能和资源消耗绝对更优秀。其次go在垃圾回收的时候会挂起所有线程(stop the world)。最后gost封装了太多层接口 不知道是否失去了零拷贝优化(当然realm也没去实现零拷贝)
dunce网友回复说: 1. nginx的stream支持UDP转发
gbadge网友回复说: 2.golang开发的brook也停简单的
xiaoz网友回复说: realm 、gost 这2个我用了时间久了似乎有卡死的迹象
ychx0719网友回复说: 缘分,这几天刚好在用 Rust 写端口转发工具,主要涉及到基本的 TCP/UDP 转发、常见协议(SSH、BT、TLS 等)的识别和分流策略、通过 gRPC 进行动态管理、事件驱动的中间件(转发日志记录等)。打算五一假期把这些全部做完,有兴趣的话可以一起折腾。
35954514网友回复说: realm的配置格式能否改一下。目前的格式是网友回复说:port1,port2,port3;sip1,sip2,sip3;dip1,dip2,dip3…….转发数量多了,眼晴都要看花,无法一一对应修改目标。能否改成网友回复说:sip1,port1,dip1;sip2,port2,dip2….
KallyDev网友回复说: 劳烦大佬开发的时候也编译一个win版,最好支持DDNS,谢谢!
dunce网友回复说: cool! 不过我才刚入门没多久,不一定帮的上忙。我目前打算先学O习一下page大佬的trojan-r
taigt网友回复说: 嗯嗯,我的联系方式是 t.me/kallydev,大概在 5 月 2 日开始有空余时间。
dunce网友回复说: 我也觉得目前的配置文件不够清晰。但是如果连配置格式都改了,这还叫realm吗。。(除非作者来改)
KallyDev网友回复说: 程序运行的过程中总是会遇到千奇百怪的问题。。只能在写代码的时候尽量考虑周全了
dunce网友回复说: github actions里面有编译好的版本(刚刚把win给加上了)
dunce网友回复说: 感谢楼主的贡献。我因为博士的最后一年很忙,realm没有时间管了。
注册网友回复说: 客气了,我也只是做了点微不足道的事情。话说老哥你难得回归一次,我想借此机会提个PR(thread->task & udp fix) 晚点麻烦你review一下=-=
主机参考zhujicankao.com_收集国内外VPS,VPS测评,主机测评,云服务器,虚拟主机,独立服务器,国内外服务器,高性价比建站主机相关优惠信息
详细介绍和测评国外VPS主机,云服务器,国外服务器,国外主机的相关优惠信息,商家背景,网络带宽等等,也是目前国内最好的主机云服务器VPS参考测评资讯优惠信息分享平台
这几篇文章你可能也喜欢:
- CloudCone,美国Win系统VPS云服务器少量补货,美国洛杉矶MC机房,KVM虚拟架构,3核4G内存1Gbps带宽,17.49美元/月
- 热网互联Hotiis,年底特惠活动,海外高质量免备案VPS云服务器5折,中国香港/美国/日本机房,1核1G内存15Mbps带宽,低至20元/月,默认赠送5G DDOS防御
- LiteServer,黑色星期五特别优惠,全场VPS云服务器终身5折,特价大硬盘/NVME VPS云服务器,荷兰机房,KVM虚拟架构,1核1G内存1Gbps带宽,2.5欧元/月
- CloudCone,黑色星期五特别优惠,美国便宜VPS云服务器低至5.5美元/年,美国洛杉矶MC机房,KVM虚拟架构,1核256M内存1Gbps带宽优化线路,5.5美元/年
- AlphaVPS,黑色星期五特别优惠,全球多个数据中心可选,国外便宜低价VPS云服务器低至9.99欧元/年,独立服务器低至30欧元/月,KVM/OVZ虚拟架构,1核0.5G内存1Gbps带宽,9.9欧元/月
本文由主机参考刊发,转载请注明:便宜国外vps论坛_改了一点realm, 顺便说说目前常见的转发工具 https://zhujicankao.com/58110.html
评论前必须登录!
注册