我采访了一位 Pornhub 工程师,聊了这些纯纯的话题

站在推动 Web 发展方面所起到的作用无可辩驳。从突破浏览器的视频能力限制,到利用 WebSocket 推送广告(防止被广告拦截),你必须不断想出各种聪明的办法,让自己处在 Web 技术创新的最前沿。

最近,我有幸采访了大型站 Pornhub 的一位 Web 开发工程师,了解了相关的开发技术、Web API 的改进,以及作为站开发工程师是一种怎样的体验。

注意:因为站这个行业竞争相当激烈,有一些问题他们不能回答我,这一点我表示理解。

站需要显示大量的图像内容,在开发过程中,你是否使用了大量的图片和视频占位符?开发过程中的内容体验和最终产品差距大吗?

实际上,在开发这个网站时我们并没有使用占位符!归根结底,代码和功能才是最重要的东西,至于界面什么的,到了这个时候我们已经很熟悉了。刚开始时有一点难度,但很快我们就适应了。

在开发过程中,你们是如何模拟直播视频流和第三方广告脚本的?它们都是很重要的资源。

播放器被分为两个组件,基本组件实现了核心功能,用于触发事件。开发是单独进行的,在进行集成时,我们需要用到第三方脚本和广告,这样可以尽早发现问题。对于一些特殊情况,我们会与广告主合作,通过手动的方式来触发一些随机事件。

一般页面上至少会有一个视频、一些 GIF 广告、一些直播预览和其他视频的缩略图。你是如何测定页面性能的?以及如何尽量提升页面的性能?

我们使用了一些测评系统。

播放器会将视屏播放的性能和用户播放情况发送给我们;

我们使用了第三方的 RUM 系统;

我们使用了 WebpageTest,这样就可以知道在某个时段发生了什么事情。

我假设播放器是前端的一个最重要也最复杂的功能。在视频前面插入广告、标记视频的关键部分、改变播放速度,等等,你是如何保持播放器的性能、功能和稳定性的?

我们有一个专门负责开发播放器的团队,他们的首要任务是持续地监控播放器的性能。我们用上了所有可用的工具:浏览器性能工具、WebpageTest、性能指标,等等。每次在发布更新之前,我们都会进行一轮严格的 QA 来保证稳定性和质量。

视频团队有多少专职开发人员?有多少前端开发人员?

我只能说,如果从整个产品的规模来看,我们的团队规模算是中等的。

在从事站开发期间,你看到前端领域经历了哪些发展?有哪些新的 Web API 给你带来很大的帮助?

我看到前端技术在很多方面都有进步。

从使用纯 CSS 到使用 LESS 和 Mixin,再到使用灵活的栅格系统和图像标签来适应不同的分辨率和屏幕大小;

jQuery 和 jQueryUI 逐渐淡出了我们的视线,我们回到了更加面向对象的纯 JavaScript 编程。一些框架在某些场景下也起到非常有趣的作用;

我们很喜欢新的 IntersectionObserver API,用它来加载图像非常高效;

我们还使用了画中画 API,让视频漂浮在页面上,不过现在还在争取用户对这个想法的反馈。

展望未来,有没有哪些 Web API 是你希望发生变化、改进的?或者出现新的 Web API?

我们希望这些 API 能够发生变化或改进:Beacon、WebRTC、Service Worker 和 Fetch。

Beacon:在 iOS 上有些问题,对 pageHide 事件支持得不太好;

Fetch:没有下载进度,也没有提供拦截请求的方式;

WebRTC:在进行直播时,如果分辨率不够大就会有所限制;

Service Worker:调用 navigator.serviceWorker.register 不会被 Service Worker 的 Fetch 事件处理器拦截到。

WebVR 在过去几年已经有所改进。目前来看,它的作用有多大?站会投入多大精力来支持 VR 内容?Pornhub 的 WebVR 有涉及触觉技术吗?

我们正在研究如何将 WebXR 应用在沉浸式空间场景中。作为最大的内容分发平台,我们有必要为用户提供让他们能够按照自己的方式来体验网站内容的机会。但我们还在探索,在使用这些新媒体时,内容和平台应该是什么样子。

我们是支持 VR、计算机视觉和虚拟主播的一个主要平台,我们将继续推动新技术的发展。

每个页面上都有不同类型的媒体和内容,对于桌面版或移动版来说,最需要考虑的东西是什么?

我们主要考虑操作系统和浏览器对功能方面的限制。比如,iOS 和 Android 在访问权限和功能方面就非常不一样。

一些 iOS 设备不允许在全屏时使用自定义播放器,它们会强制使用原生的 QuickTime 播放器。而 Android 则给了我们完全的控制权限,可以在全屏时使用我们的播发器。

另一个例子是 HLS 视频流,IE 和 Edge 对 HLS 视频流质量非常挑剔,所以我们需要控制视频的质量,否则在播放时就断断续续或者出现重影。

目前 Pornhub 可以支持的最低浏览器版本是哪个?现在还支持 IE 吗?

我们支持 IE 很长时间了,但最近不支持 IE 11 之前的版本。另外,我们也停止支持 Flash 播发器。我们现在主要支持 Chrome、Firefox 和 Safari。

可以分享一下 Pornhub 的技术栈吗?从服务器端到前端,你们使用了哪些库?

基本上,我们使用了这些东西:

Nginx;

PHP;

MySQL;

Memcached/Redis。

其他技术还包括 Varnish、ElasticSearch、NodeJS、Go 语言、Vertica。

前端方面,我们主要使用了纯 JavaScript。我们在逐步淘汰 jQuery,并开始使用框架,比如 Vue.js。

在外行看来,站的网页上一般充斥着各种视频缩略图、视频、直播和广告。从开发者的角度来看,是什么东西让一个站变得与众不同?

我们努力让每一个品牌都具备一定程度的独特性,不同的内容、界面体验和功能,还使用了很多不同的算法。

在面试 Pornhub 时,你是怎么想的?你有犹豫过吗?如果有,又是怎么消除这种情绪的?

我没有感到有什么不妥,毕竟这个挑战对我来说充满了吸引力。一想到有数百万人会用到我开发的东西,我就感到很兴奋。这个想法很快就得到了验证,当我开发的功能第一次上线时,我感到很自豪,我还叫我的朋友们也去看看!站永远都不会消亡,它为我们提供了稳定的工作来源。

与开发一般的网站相比,开发站可能会有所不同。当你告诉你的朋友、家人和熟人自己在开发站,你会觉得这是一种耻辱吗?你会犹豫告诉他们这些吗?

我为自己开发的东西感到自豪,我身边的人都知道,也很喜欢它们。这也成了我们的茶余饭后的谈资,非常有意思。

你也在其他地方开发过其他网站,在 Pornhub 的工作氛围有什么不同吗?

这里的氛围非常轻松友好,我不觉得跟在其他地方有什么不同。

作为前端开发人员,你需要与哪些团队密切接触?你们平常常用哪些交流方式?

我们需要与后端开发人员、QA 和产品经理打交道。大部分时间我们会跑到各自的工位上讨论问题,其次是使用聊天工具(Microsoft Teams),然后是电子邮件。

最后,作为一名在站工作的开发工程师,你还有什么想要分享的吗?

我非常高兴能够参与开发这个有如此大规模用户的产品。我们身处技术发展的最前沿,这让一切都变得有趣且颇具挑战性。

后记

这个采访很有启发性。我很惊讶他们在开发时居然没有使用图像。Pornhub 走在 Web 技术的最前沿——WebXR、WebRTC 和 Intersection Observer API。我也很高兴看到他们开始逐步淘汰 jQuery,因为现在的 Web API 很给力。

我很想从他那里挖到更过有关技术和性能的细节,我敢肯定他们的源代码里有很多值得一学的东西。换了是你,你会想问哪些问题?

安卓手机真的可以全局免流量上网吗?免流教程及原理分享

最近有很多粉丝都在问小极(公众号:智能极客),安卓手机真的可以做到全局免流量上网吗?网上那些免流软件是真的吗?下面小极就目前比较火的刀云免流分享一下原理和教程。有兴趣的小伙伴们不妨可以试一试。

 1:索引,前言

2:什么是免流?

3:什么是免流ip?

4:什么almp?

5:如何免流?

6:如何安装almp?

7:如何查看almp是否免流成功?

8;如何破6g上限?

9:如何寻找,提取免流ip?

①:什么是免流?

从字面上可理解为“免流量和免费流量”两层意思。免流量就是你上网不用流量。比如说你xia载了个东西,但是没有扣你的流量,进掌厅(联通或者移动手机营业厅)查总流量也没有增加,就好比是用了wifi,这就是免流量。

至于免费流量呢,就是你上网用的流量是属于免费流量,不会扣你的流量(包括套餐流量和运营商赠送的流量等等),但是进掌厅查总流量是会增加的。比如进联通掌上营业厅,它用的流量不收费,也就是不扣流量但会记录到总使用流量里。

通常我们用的免流,大都是第二种,第一种则可以用来破6g,后面我会提到。

②什么是免流ip?

免流ip就是从联通移动的一些免流网站的网址里提取出来的,比如我们所熟悉的掌厅:联通掌上营业厅 wap.10010.com和移动掌上营业厅wap.hn.10086.cn(湖南)就可以直接用来当免流ip。因为在wap接入点xia登陆掌厅是用免费流量的(有的地区好像不免。具体我也不清楚)。

还有像一些套餐卡里有那个m值和t值,可以在沃音乐网站里xia载歌曲,它只收m值或t值个数,不收流量。所以也可以提取出ip用于免流。

对了,还有一种就是一些网站搞活动,在它的网站里干什么什么免流量之类,也是可以提取出其网站ip地址用于免流,一般这种ip都存活不了多久。至于提取出来的ip免不免流则要看你那个地区是否支持该ip免流。

③什么是almp?

咳咳,吃水不忘挖井人,首先,我们需要感谢免流almp的开发人员@老虎会游泳,以及在免流历史上做出过卓越贡献的@ju花点穴手 等。正是他们昨日的努力,才有我们今天的享受。

再来了解一xiaalmp,almp是android lighttpd mysql php的缩写,简单的说就是安卓本地的php环境,再通俗点讲就是我们平时所说的“全局免流”。而我们用于免流的almp是老虎修改后的,还加入了一些用于免流的php代码,事实上,这已经不算是almp了,因为老虎精简了其中的mysql数据库(这些了解一xia就可以了,不懂也没关系,它并不妨碍我们使用免流) xia面再讲解xiaalmp的结构剖析和原理almp是对android系统设置了一个全局代理。

主要有三个部分组成: 1.almp主文件。(在安卓系统中构成一个框架) 2.apn(也就是手机接入点)。 3.proxy.php文件(其中记录着免流ip地址)。

====================

almp全局代理,免流工作流程。

以uc为例,当你用uc进行联网时。uc会发出联网信号到almp代理,almp代理会将uc的ip连接地址强制更改为proxy.php文件中的免流ip地址(这就是lbe显示android系统在联网,而不是uc在联网的原因)从而实现免流。接入点设置,是根据你用的什么免流ip而设置的。

======================================

以xia为,精简版almp代理免流过程。

↓uc发出联网信号。 ↓almp代理拦截此信号。 ↓并根据proxy.php文件中的免流ip地址,将uc的连接地址改为免流量。 ↓最后,uc成功实现免流。

④如何免流?想要免流,有两种方法。

1:xia载别人修改好了的免流软件,如免流uc,免流欧朋等等。

【使用方法】:换联网接入点为wap(非彩信wap,不会换的请移步百度),联通一般是3gwap,移动则是cmwap。换了接入点后即可直接使用,当然,使用前记得测试是否可免!还有一点值得注意的是,欧朋要在设置→高级→网络协议→选择http后,才能正常使用。

还有就是uc要关闭云加速(发布免流软件的人,应该会有说明,这个不必太担心不会用)。这里需要注意的一点是,很多免流软件并不全免流量,像免流酷狗,一般在线,xia载等都免,但是看mv就不免。目测免流欧朋基本上全免,我在使用过程中还未发现不免的地方(具体免不免请自测)。

2:为安卓系统安装一个almp,以达到全局代理免流。

目前这个是使用人数最多,可免范围最广,实用性最强,灵活性最高的免流手段。它不再局限于单个软件之内使用免流。但同时也是安装步骤最多,最繁琐的(对于新手来说),使用过程中突发的问题也挺多的,像跳点啊,无法联网啊等等(这些都不是大问题,很好解决)。

虽然almp是给安卓系统做了全局代理,但并不是全免,像众所周知的qq聊天在almpxia就是不免的(只是聊天不免,其他基本都免),还有就是一般播放器在线播放也是不免的⑤如何安装almp?我用的是安卓4.0.4的机器,可能并不适用于所有机型(大部分机型是可以的),所以仅供参考。

先要准备好以xia几样东西: 手机需root权限,没有的童鞋请百度自己机型root办法(推荐root大师)。re管理器,almp安装包,almp开关。

教程开始:首先打开re,找到你xia载的almp安装包,解压它(普通手机大概需要1分钟左右),解压出来的文件有34.76m。进almp后看到三个文件夹(分别是etc,mnt,system),点进etc,看到两个文件夹(lighttpd和php),全选这两个文件夹然后复制(复制在xia面一排选项左边第一个)复制到系统根目录xiaetc里然后改权限,lighttpd和php文件夹的权限以及这两个文件夹里面的文件的权限都要改(长按住文件夹不动,然后选择“权限”)权限改成如xia【所有者】的【读,写,执行】全打钩,【用户组】的【读,写】打钩,【其他】的【读,写】打钩。然后重复*作,后面提到的改权限都是改成上面那样。

改好后返回到almp文件夹,进system–xbin里,看到五个文件对吧,一样全选,复制到系统根目录xiasystem–xbin里,然后修改权限,五个文件都要改,如果xbin里文件很多,可以把排序方式设置成日期(倒序)再修改。修改完毕后再到almp–mnt–sd*——看到root文件夹,选择它,复制到sd卡根目录xia即可。

打开root文件夹看到var文件夹,里面有三个文件夹,其中log和tmp是空文件夹,为防止被清除掉,像小米手机的文件管理器,非常人性化,会自帮你清除文件夹,你可以放一个文件进去,随便什么文件,并不影响almp。

然后我们要打开www这个文件夹,看到poxy.php了吧,点一xia它,然后选择文本编辑器。改两个地方 新建接入点:名称:almpapn:3gwap(这是联通的)或者cmwap(移动填这个)代理:127.0.0.1端口:80点击保存新建好了后要换成这个接入点,就是用这个接入点联网。

然后把xia载的almp开关安装,再然后就是对着上面的教程仔细检查是否有遗落以及*作错误。如果有,改过来就是了。然后重启手机,。。开机后进刚刚安装的almp开关,点启动almp服务,然后就可以使用全局免流了。

⑥如何查看almp是否成功免流?

我的方法就是直接查流量。

我具体说说吧,首先确定almp安装是否无误(可对照教程从头到尾仔细检查检查,发现不对就改正过来),新建接入点是否正确,almp开关是否打开。如果都没问题了,那就开始。先查xia流量还剩多少并记xia来,然后在almpxia进欧朋最新版,欧朋其他版本也可以,这个浏览器我用了很久基本上全免,最近欧朋搞用流量送话费活动,相信很多人都安装了吧?

进来欧朋后,进设置-高级-网络协议——选择http。然后在欧朋界面找到【应用xia载】点进去,在里面随便找个5m左右的应用xia载它(流量不多的,可以找个2-3m的,太小了等会看不出变化),然后过一会再次查一xia流量看少没少。如果少了那就是你almp没安装好,自己对着教程再仔细的检查检查找出错误的地方并改正过来(如100%确认没错,但再测试后还是扣了可能是你哪地区不支持该ip免流,换个ip即可)。

如果没少,那么恭喜你,全局免流成功!这里有一点需要注意,就是你全局免流成功了,也要坚持再测试两三天(自己把握),因为第二次查流量可能会是延时的并没有扣,实际上是扣了流量。所以我在这里给你个建议,你可以在每天晚上睡觉之前xia载个东西,然后第二天早上醒来再查xia流量,这样延时的可能性比较小。说点题外话,有些教程在安装完almp后,他还会让你去抓包,进测试网址等等检测almp是否成功。我觉得这些都是没必要的,因为就算测试成功也未必就可以免流(知道原理的都懂)。而只要你知道了你所在地区支持你所用ip免流,那就可以直接跳过这几步,省去不必要的麻烦。

⑦如何破6g上限?

经过前面的学*,相信你已经全局免流成功了。成功之后当然是猛用流量啦,可有的人就发现了,当流量用到6g时(以联通为例),万恶的公平上网原则就来了。。。然后就直接断网了不能上网了,呜呜 。。。xia面教大家怎么破6g(老鸟都知道就不用来参合了)。

1:带上你的身份证到你当地的大营业厅,不知道在哪的可以自己打人工问客服小姐,她会告诉你详细地址的。然后让营业厅的工作人员帮你取消6g上限即可。实名认证时用的不是本人的身份证我也不知道可不可以,但你可以试试。对了,用这个办法最好是月初去,还有就是如果工作人员问你为什么取消,你就不解释跟她说:麻烦你快点,我赶时间。或者问东答西,总之不要回答她的问题。不解释。。。这种方法是最直接最有效的,100%成功(如果连这种方法都不行,那么,我只能说你是被上帝所遗忘的孩子……),但是很遗憾,不是永久取消。。。

2:停复机,用到6g停网后,打人工让她帮你停机保号,这个当月是不收费的,停机后,过会再打人工,让客服帮你开机也就是激活。然后看是否能破6g(有的地区行,有的地区不行),同样很遗憾,这方法也不是永久取消的*。。。

3:换能破6g的免流ip,有两种,一种是流量到6g后还能免流,就是总流量里到6g后还会继续增加,然后成功破6g!一种则是不管你怎么用,流量都不计入总量里,也就是前面我所说的“免流量”,这种方法可以一劳永逸,应该可以永久破6g,当然,得除去该ip还没被和谐的情况xia。这两种ip怎么找?请看xia面。

⑧如何寻找,提取免流ip?

对于免流老鸟来说,这些都是家常便饭,就不必看了。菜鸟们快来学学吧。前面我已经解释过了什么是“免流”对吧,相信很多人大概已经知道了怎么寻找免流ip了吧?

不过我还得说说,提取免流ip之前要找到一些相关的“免流”网站,比如沃音乐(以联通为例),然后直接提取在其网址前缀,wap开头的哦(一般都是这么提取的)。。这些免流网站可以到各个运营商的相关网站找找,应该都能找到的。还有关于彩信ip,应该有两个,一个是发出去的,一个是收彩信时的。这两个都很好提取。首先,随便发条彩信出去,然后过短时间再登陆掌上营业厅,查看上网记录,找到发彩信那天的记录,然后可以看到上面的ip。收的那条ip则是让别人给你发条彩信,然后你接收后过段时间去营业厅看上网记录。和前面一样。

怎么样?你学会了吗?你也可以留言参与讨论,只要爱搞机的都是好朋友。

———————————————————————————————————————-

订阅小极的媒体号:极客大咖论或者关注微信公众号 – 智能极客:znjk_cc  ←长按复制搜索以上即可关注!

每天第一时间分享手机使用小技巧,福利软件,各种新鲜好玩的热门科技数码游戏资讯。还等什么?做为极客的你,赶快订阅打开微信关注吧!你也可以关注后给我们留言说出您的需求

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。