文章方法主要参考大佬文章而来:https://lala.im/5504.html
只是做一些细节详解,技术方面问题我也不太懂,欢迎各位去原贴大佬咨询
一、为什么要曲线解锁netflix
无论是哪种方法,首先你得准备一台本身就能看的机器,
那有人可能会问,你这不是脱裤子放屁嘛,我本来就能看了那还设置个什么?
可能需要用到的几个场景:
1:我有很多台小鸡,但能看的只有1台,我想让全部的小鸡都能看。
2:能看的那台很卡,我想看的更舒服点/流畅点。
方法主要是两个: 1:DNS+SNIProxy 2:使用Brook中转
原作者推荐Brook中转,我喜欢折腾,就先说说DNS+SNIProxy吧:
方法一:DNS+SNIProxy
首先准备一个aws国际账号,注册账号方法有四:
1.自己信用卡直接去官网注册:https://aws.amazon.com/
2.淘宝买10来块钱一张的含1美元的预付费虚拟信用卡,准备干净ip手机号,看脸注册,小心风控
3.买个职业刷子做好的账号,全新30左右,二手(用完1年免费版ec2的)大概15-20看你运气了,到论坛四处收收私人的估计便宜些
账号准备完毕,就开始访问开建lightsail机器了:
可以从控制台>>服务>>lightsail>>登录lightsail,或者直接访问:https://lightsail.aws.amazon.com/
大佬可以直接用新注册免费送的1年ec2搭建每个月30GB流量的实例来做dns机器应该流量够用(未亲测,自己安装探针随时关注流量)
对了,咱们不是土豪的就去买个aws github教育码子,150美元现在市场价格90左右,目测近期在缓慢上涨,
注意码子类别,最新的是2018Q2_1有效期到2020.10.01,大概一年半可用,总额度150美元,相当于可开两台3.5刀最低配lightsail 20来个月,每台每月成本2元的样子,或者开一台10刀/月高配,能用15个月,自己看着来
兑换code地址:https://console.aws.amazon.com/billing/home#/credits
准备工作完毕,我们直接去开lightsail机器,这里选择日本区域c区,系统选择centos 7.
注意aws的云防火墙,不是部署在centos机器上的firewalld,去你的lightsail机器点击面板右侧设置>>网络
自行添加如上图的dns解析端口53放行
首先在你能看netflix的aws机器上安装DNSMasq:
yum -y install epel-release
yum -y install dnsmasq bind-utils
这里使用的是最新版的CentOS7,通过yum包管理器安装的DNSMasq的版本是2.76,那么这个版本不需要去改什么主配置文件,全部都按默认设置就好,只需要自己新建一个配置文件,将netflix的两个域名解析到你的VPS公网IP:
echo "address=/netflix.com/VPSIP" > /etc/dnsmasq.d/netflix.conf
echo "address=/nflxvideo.net/VPSIP" >> /etc/dnsmasq.d/netflix.conf
注意把VPSIP替换成你的vps 实际ipv4地址,别直接复制代码
启动DNSMasq并添加开机启动:
systemctl start dnsmasq
systemctl enable dnsmasq
测试一下,如果解析出来的IP是你自己的VPSIP那么DNS这边就配置好了:
dig @127.0.0.1 netflix.com
dig @127.0.0.1 nflxvideo.net
接着安装SNIProxy,由于CentOS7的包管理器没有这个软件包,这里只能自己编译了:
yum -y groupinstall "Development Tools"
yum -y install libev-devel pcre-devel udns-devel rpm-build
git clone https://github.com/dlundquist/sniproxy.git
cd sniproxy
./autogen.sh && ./configure && make dist
rpmbuild --define "_sourcedir `pwd`" -ba redhat/sniproxy.spec
cd /root/rpmbuild/RPMS/x86_64
yum -y install sniproxy-0.6.0+git.8.g3fa47ea-1.el7.x86_64.rpm
如果你不想编译,下面我把我自己编译好的RPM包发上来,你只需要执行如下命令即可安装完成:
yum -y install https://lala.im/static/script/sniproxy-0.6.0+git.8.g3fa47ea-1.el7.x86_64.rpm
新建一个SNIProxy的配置文件,编辑一下:
vi /etc/sniproxy.conf
写入如下配置:
user daemon
pidfile /var/run/sniproxy.pid
resolver {
mode ipv4_only
}
access_log {
filename /tmp/sniproxy-access.log
}
listen 0.0.0.0 443 {
proto tls
table imlala_netflix
}
table imlala_netflix {
(.*.|)netflix.com$ *
(.*.|)nflxvideo.net$ *
}
新建一个systemd服务文件,编辑一下:
vi /etc/systemd/system/sniproxy.service
写入:
[Unit]
Description=sniproxy server
[Service]
Restart=always
ExecStart=/usr/sbin/sniproxy -f -c /etc/sniproxy.conf
[Install]
WantedBy=multi-user.target
启动SNIProxy并添加开机自启:
systemctl start sniproxy
systemctl enable sniproxy
那这台机器的配置就完成了,重启下小鸡的网络:systemctl restart network
可选项目:秋水一键bbr加速,可以减少网络高峰拥堵状况:
地址自行谷歌
接下来我们需要在不能看的机器上安装ssr,并改写dns nameserver记录为上面我们的aws ip就行了。
小鸡上接收端的操作
安装ssr的一键包也推荐秋水一键四合一脚本,地址自己谷歌吧
现在你需要将这台机器的DNS地址修改为刚才配置了DNS+SNIProxy的机器IP地址:
vi /etc/resolv.conf
加入下行文字:
nameserver VPSIP
注意,VPSIP改成你的aws ip地址,别直接照抄。
为了dns永久生效,可修改网卡配置:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
加入一行:
DNS1=VPSIP
最后 systemctl restart network
或者 reboot
下,应该就可以了。
输入 nslookup netflix.com
,看看返回是否你的aws ip地址,是就说明ok了,如果nslookup指令不存在,那就安一个:
yum install -y bind-utils
那现在连接你这台机器的SSR,这台机器应该就能看Netflix了,同理如果你还有更多的机器,都只需要装一个ssr修改下DNS就可以翻看nf了。不过你需要注意的是,这个方法有可能会造成滥用。建议不要公布自己的VPSIP地址。
如果看不了,那就看看你小鸡centos7的firewalld设置,打开下53端口吧:
咱们centos 7默认是安装了firewall的,如果你是centos6,喜欢iptables的请继续
附送:firewalld防火墙设置
firewall-cmd --state
查看centos7防火墙状态,
没安装的直接安
yum install firewalld
安装的更新下:
yum update firewalld
启动: systemctl start firewalld
请注意,firewalld防火墙默认只启动22端口的ssh,你如果之前改了端口的,请务必改回默认再启动,
如果你没开启开机自动加载firewalld,那就重启vps,否则重装vps吧
查看状态: systemctl status firewalld
停止: systemctl disable firewalld
禁用: systemctl stop firewalld
我们来演示下开启指定端口
防火墙的设置:
firewall-cmd --permanent --add-port=53/tcp
firewall-cmd --permanent --add-port=53/udp
如果你的ssr在开启防火墙之前安装的,请自行打开ssr对应端口
完毕后重启防火墙:
firewall-cmd --reload
然后list下看看所有规则是否生效:
firewall-cmd --list-all
小鸡上dig下netflix看看是否连接到aws ip:
dig @127.0.0.1 netflix.com
dig @127.0.0.1 nflxvideo.net
返回对应ip就是成了
2.Brook中转【未亲测,全照搬】
现在来说使用Brook中转的方法。中转同样也需要安装一个代理,但和之前用DNS+SNIProxy不同的地方是:
1.DNS+SNIProxy是把代理架设在不能看的机器上。
2.中转是把代理架设在能看的机器上,将不能看的机器的流量转发到能看的机器上。也就是大家常说的能看的那台当作“落地鸡。”
其实弄中转的方法很多,iptables/firewalld都是可以的,但是我个人觉得这两个防火墙配置太操蛋,我有更方便更好用的Brook为什么不用?(这句话是原作者说的)
鉴于有人不太明白两种方法区别,贴个图:
实际上我个人现在都用v2ray的路由功能中转,挺适合NAT机器使用,说到底这些都是流量转发工具,市面上非常多同类工具,v2ray路由功能中转可以参考我的文章:
这里首先安装supervisor,因为我们可能需要中转多台机器,这里用systemd去运行brook就不太合适了:
yum -y install supervisor
下载最新版的brook并给执行权限:
mkdir -p /opt/brook && cd /opt/brook
wget https://github.com/txthinking/brook/releases/download/v20190401/brook
chmod +x brook
新建一个supervisor的配置文件:
nano /etc/supervisord.d/brook.ini
写入下面的配置:
[supervisord]
nodaemon=false
[program:brook]
priority=1
directory=/opt/brook
command=/opt/brook/brook relay -l :55555 -r SSIP:23333
注:55555是转发端口,SSIP是你能看Netflix那台机器的IP,后面的23333就是SS的端口号。
如果你要转发多个,那么就可以在supervisor里面写多个配置,例如[program:brook2]/[program:brook3]/[program:brook4]/等等更多…
配置好了之后启动supervisor就行了:
systemctl start supervisord
systemctl enable supervisord
本地配置SS连接的时候就填写这台中转服务器的IP+端口55555,密码/加密方式那些不变。
17 comments
你好 博主,请问一下使用 aws lightsail 的 vps搭的服务 怎么注册或者登录推特就显示出错了 请稍后在试, 有什么解决方案吗 但是只要登录上了 就可以正常使用。
可能是推特的风控,一般谷歌,youtube这些大厂注册对注册环境和ip,浏览器指纹都会有一定的记录,aws,gcp这种随意换ip的可以薅羊毛的低门槛vps,估计很多ip非法使用过,应该是进黑名单了
第一种方式为啥我的不行?我要怎样排查问题
一二两种方式看看有没有能起效的,目的毕竟只是为了能用,技术方面的排错我也不懂,你可以跟原作者咨询看看?
你好,问下最后Brook中转可否实现,一台VPS的2种用法?
比如看油管的时候,用酸酸直连VPS的111端口
看奈飞的时候,用酸酸直连VPS的222端口,之后VPS通过222端口中转到可以看NF的小鸡上?
你好,酸酸多端口配置和brook无关,brook简单理解就是个兼容各种系统环境的路由包转发配置工具,你的酸酸111端口使用默认配置即可,针对222端口做一个
command=/opt/brook/brook relay -l :222 -r SSIP:222
即可。个人建议国内还是使用v2ray和trojan吧,酸酸不可靠了,如果用v2ray的话直接用v2ray中转功能就可以实现单端口多用户以及多种按域名或者ip转发流量中继各种路由配置,很方便,无需额外安装别的玩意,可以参考文章后面第四和第五部分配置Netflix中转等:
CentOS7如何利用你的typecho博客顺手搭建v2ray +tls + websocket + nginx+CloudFlare提高伪装和稳定性
弱弱问个问题我看你上面brook都是在中转VPS上的设置,那能看NF的VPS上需要要安装brook?需要设置?菜鸟了
还是只是需要中转VPS上设置brook就可以?OωO
如果你稍微看了下国内NAT机器中转流量就明白,无论用centos自带的iptables或者firewalld还是brook或者socat,都是把你之前不能看Netflix的vps的酸酸/v2ray给清理了,改造成水管管道,只负责转发流量,把你原来安在vps上的酸酸或者v2ray重新安装到可以看Netflix的那台机器上,俗称落地鸡,简单理解你原来普通vps变成路由器了,明白了吧。
前者dns解锁那种就是你原来小鸡还是原来的,酸酸是架设在原普通vps不变,给你普通vps开个dns分支,转发单独的Netflix流量到你的中转鸡出去,中转鸡只负责Netflix流量;
后者是把你普通vps清空,改造成路由器,把原来的酸酸配置,架设到Netflix落地鸡上,而你本地客户端填酸酸配置只需要将ip地址改动成这个路由器地址即可,其他不变。
我在文章中更新了一个流程图,你刷新看看,希望能帮你快速理解:)
请问一下,aws的日本c区现在还可以看Netflix吗
日区应该极少了,可以看看新加坡
大佬,想请问一下为什么我的aws lightsail不能开大于5美刀的vps,最大只能用5美刀的1h1g2t流量那款,地区是日本,用的是中国银行的外币卡,码子无论是150刀还是40刀的都不行
资料没做假的话,提交ticket申请开通解锁没问题的,现在薅羊毛的太多,新账号默认限制越来越严,合理使用的话,不用担心
最后那里错了,应该是:
systemctl start supervisord
systemctl enable supervisord
哈哈,谢谢指正,没测过第二种,没注意系统进程守护随着centos7也改成systemctl enable supervisord.service(缩写即systemctl start supervisord)了
第一种通过dns的方式,是所有流量都到了NETFLIX小鸡上面,还仅仅只是网站访问、域名解析的流量(视频流量不经过NETFLIX小鸡)?
netflix.com和nflxvideo.net所有流量,包括nf的视频流量,都要走nf小鸡上面,所以一般用大流量或者无限流量当地鸡做落地或者解锁nf用。
牛逼