我与B站不得不说的故事
初到 Bilibili
我第一次来到B站还是在 2013 年,算起来那时应该是高一下半学期暑假。那时候的B站人还比较少,我来B站也只是看游戏区的(现在也是)。那时候B站还有很多直接外链别的视频网站的视频,也就是说片源在别人的服务器上,但是却没有广告。这也必将引起侵权纠纷,事实上也是如此。我当初看好B站就是因为它没有广告,还有弹幕,看起来就很爽,现在也大体保持免费无广告,还是挺好的。
我在 2013 年 7 月 30 日注册了B站会员,当时注册成为正式会员需要答卷子,及格才能通过。卷子的内容大部分都是二次元相关,那时候的我根本不会啊(现在的我也应该不会)。因此我是靠百度苟活了下来。
来到B站 4 年了,我也陆陆续续关注了许多UP主。第一个应该是逍遥散人吧。我应该是通过第六天堂认识的他。当时我沉迷 terraria 不能自拔,因而就去找视频看。当时做这个视频的人很少,就找到了第六天堂,之后就在新浪游戏看他的直播。后来他玩以撒,有意无意地提到了逍遥散人,说他玩以撒欧洲人,运气好。再后来我就在新浪游戏看他的直播以撒之类的游戏。不久之后,新浪游戏好像 GG 了,散人也不在那播了。我自然而然地看到他的优酷频道:
简介:加油! 我的B站网址http://member.bilibili.tv/space?uid=168598 去那里看弹幕和吐槽吧
所以我就来到B站,看他的视频啦。
Bilibili 这几年
我来到B站的几年,正好是B占发展最快的几年。如今的B站已经成为中国最大的视频网站(戏称“世界最大同性交友网站”),说实在的我也没想到。前几年也有了自己的直播,视频播放也都便成了领先国内的 html5 技术了。
然而,所谓树大招风,如此庞大的视频网站也自然不能再做那种“盗片”的事了。随着国内版权意识的提升,也或许是因为B站服务器带宽的不足,总之B站会限制国外,尤其是日本地区的访问速度。
http://interface.bilibili.com/player?id=cid:22435723&aid=13716817 此网址会根据访问者的 IP 来判别访问者的地区。如果它认为你是来自日本的,它就会在之后返回的视频真实地址中加入速度限制。比如下面这个地址里的 rate=7000 ,这个时候你播放视频会非常卡顿。
可是这何在中国的我,又有什么关系呢?
我上大学了
2015 年,我来到了东北大学。东北大学的网还是不错的,有 ipv6 这种好东西。我们学校网络套餐是每月 20 元 30GB ,超出部分 1 元 1G 。可是像我这种看视频大户,正常每月七八十 G 大概。这我哪用得起啊,再也不能开心的看B站了!
后来,我在网上注意到了可以用 Showsocks + ipv6 来做代理,使用免费的 ipv6 来访问 ipv4 的网络。具体就是本地通过 ipv6 访问远程服务器,服务器同时支持 ipv6 和 ipv4 ,服务器通过 ipv4 访问网站,再把内容通过 ipv6 发回来。这其中远程服务器是关键,它要满足以下条件:
- 支持 ipv6
- 要能访问“不能访问”的网站
- 与本地有较低的延迟
- 有足够的带宽
- 价格便宜
要找到同时满足这么多条件的服务器可不容易。最后,我选择了 Vultr 的 $5/mo 版本,地区日本,每月 5 美金,流量 1000 GB !延迟也比较低,在 90ms 左右,虽然玩游戏肯定不行,但是网页还是可以妙开的。终于可以愉快的玩耍了,然而,B站不同意。
我的解决方案
对于看B站视频的卡顿,我想了很多办法。比较好的办法是下载下来,用 bililocal 加载弹幕看。然而我还是不爽,为什么不能在线愉快的看!终于,在不久之前,我灵光一闪,突然想到:我不能流畅的看是因为服务器认为我是来自日本的,我不得不用日本的服务器访问是因为视频流量太大。然而,检测我的地区的流量消耗又不大,我可以直接访问那个地址,用代理访问视频真实地址啊。
要实现这点,只需要使用白名单,把需要直接访问的域名加入,不在名单中的域名使用代理访问。想到这,我稍微修改了 ss 的 pac.txt ,把它从黑名单改成了白名单:
|
|
除了B站要用的 interface.bilibili.com ,我还加入了几个我常用的不需要代理的域名(有 ipv6 的和校内的)。这份文件中的domains
对象的属性是全局域名包括子域名,比如 bilibili.com 包括 所有其下的域名(interface.bilibili.com, www.bilibili.com …)。neuIPv4 中设置的是校内的IPv4地址,我把它们换成了十进制数,用来判别访问的IP是不是在网段内。
我用这份 pac 文件试了试,果真可以,再也不会出现视频卡顿的状况了!这份 pac 文件由 js 写成,因此还可以实现更精细的控制,这种欺骗服务器的方法也可以用在其他对地域有限制的网站上。