搭建gost中转隧道加速emby播放—echo+mwss

提示:

经过测试本方案只适用于fileball等第三方emby播放软件,或者支持本地解码的其他类第三方工具,

而官方的emby客户端会直接连接主站,流量不经过反代服。

前言:

从第一版的nginx二次转发。到第二版,第三版一直在不断的优化emby的中转服务。从一开始的使用宝塔面板安装nginx,一直到后来的军歌lnmp一键脚本来安装nginx。虽然从宝塔面板到lnmp,对服务器的负载有了一定的降低。但是由于nginx的配置复杂性以及转发效率的低下。我一直在寻求一种高效的转发方式。从这几个月的后台服务器速度来看呢,使用nginx转发总是局限于单线程的速度,并且观看人数一多负载非常的高。于是呢我想到了使用使用隧道加密来转发。想到了ghost的转发,还有hysteria歇斯底里转发。仔细研究了hysteria歇斯底里的转发官网。作者明确表明hysteria转发的是UDP流量,但是emby使用的是tls(因为不管方案是怎么样的,我们都要使用HTTPS协议。HTTPS转发的是tls协议的流量,没有办法对udp协议的流量进行转发。因此,即使将站服务器和反代服务器之间使用歇斯底里协议进行连接也依然需要将udp流量转化为tls流量。),所以使用hysteria是没办法来暴力加速的。一开始我最初的想法就是使用暴力加速但觉得,但后来发现不太可行。于是呢就转而使用gost的转发。研究了好久的gost转发官网,自己使用代码在服务器端进行输入呢,总是出错。后来呢想到了使用面板来转发,一开始使用的是咸蛋面板,但是咸蛋面板收费,后来就使用了免费的极光面板(此面板由谷有谷歌工程师开发,对于个人使用而言是完全足够的。里面的各种协议也是非常的完善。我使用了一段时间并没有发现bug,还是非常稳定的)。极光面板的安装地址不在此赘述。自己百度搜一下就可以,下面放上一张极光面板目前支持的转发协议。

 

其实在使用这一版的转发方案之前,我还使用了另一种方案,如下所示。我当时考虑的就是使用两层nginx来转发,效率非常的低下。能否就使用一层nginx来转发,从而达到降低视频播放之前的加载时间。

 

这种方案我使用了大概有半个月的时间。从gost作者github介绍说明里面。我觉得我上述使用的这种方案是属于gost的转发。而作者在教程里面详细的介绍了gost的三大功能。其一是代理功能,其二是转发功能,其三是通道功能。对于第一个代理功能主要就是HTTP和socks5协议,主要是应用层数据转发协议。转发功能主要是单项映射从一个IP的端口a映射到一个端口b,这种映射是单向的,并不是双向的,也就是我上述使用的转发。所以我觉得我这种方案可能有问题,很多时候效率比较低,可能转发时间比较缓慢。然后第三种通道功能就是我一直在寻求的功能。它可以建立一种双向传输的数据流,通道的两端都可以同时收发数据,实现全双工通信。

下面这个方案就是我这篇文章将要介绍的一种。比较完美的方案。

 

相信大家看到我这幅图就已经对我的转发方案已经有了一个大致的了解。具体的实施细节,如果大家有需要的话,我可以另外再出一篇教程,有需要的话可以在评论区留言。

下面我简单说一下我这个方案的具体做法。首先我对我的这个方案做一个解释。由于呢我没有购买到国内的中转服务器。这是第一个原因,第二个原因呢是国内的中转服务器最近经常被反向墙或者不稳定。经常自己调试服务器,一方面自己造成了很多的麻烦,另一方面呢就是给观众的观影体验造成了非常不好的影响。于是呢我选择了使用国外的服务器9929来进行反代,这里的防火墙介于用户和9929服务器之间。所以流量是需要经过服务器的,因此呢9929和用户之间的服务器必须使用严格的HTTPS加密来进行连接。其次9929反代服务器和我们的主站服务器之间建立了一个双向传输的数据流通道,也就是我们俗称的gost通道或者隧道。这里之所以不使用上面的转发,是因为我觉得转发的话效率比较低,并不能达到一个全双工通信的效果,它的传输效率可能会低,即使能通信也只是单双工的通信效率非常的低下。然后至于这个ghost的隧道为什么选择这种协议呢?是因为我们知道这个emby服务它是基于HTTP原生的传输的,Ws协议是在HTTP协议基础上进行了一个升级,能够保持客户端和服务端之间能够进行长时间的连接。因此呢这里我们选择了兼容emby的传输协议ws。然后在服务器内部我们使用了gost转发服务。将反代服务器传输到10086端口的信号,转发到本地的8096端口。

以上我所写的方案是我写nginx2次转发emby教程的第四版,这个版本目前我已经投入了实际使用当中,具体效果还是非常不错的。

而且这种方案对于我们的性能机主站而言他不需要安装nginx服务,只需要安装一个 gost转发即可。大大降低了主机器的负载。之前的方案需要让主机安装nginx并进行转发,目前性能提升了很多。

并且从一开始配置所需要的时间也大大的降低了。现在从头配置的话,我们只需要在我们的反代服务器上安装nginx服务来进行反代即可,其他的一切配置都只需要在极光面板上用鼠标点击几下端口配置即可成功。主站服务器只需要安装EMBA服务即可。其他的不需要输入任何代码,非常的简单。

如果你有国内的反代服务器vds,net服务器的话,你也可以适用我下面的这一种方案来进行反代加速emby播放

 

如果你有国内的服务器适用上述这种方法来反对的话,可以看到我们搭建的ghost隧道可以完全的规避掉长城防火墙GFW对我们数据的探测的同时极大地降低了延迟,减小了剧集播放之前的加载时间,提升了用户的观影体验。以上这三种方案就是我最近这段时间折腾出来的方案,欢迎大家尝试并且反馈。

2022年8月19日更新:

上述隧道协议建议将relay+ws改为echo+mwss,其他的协议均会发生断流情况,只有echo+mwss是不断流的!!!

 

版权声明:
作者:admin
链接:https://www.shennong.date/?p=1000
来源:北冥有鱼
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭
目 录