说明:无论是哪种方法,首先你得准备一台本身就能看的机器,那有人可能会问,你这不是脱裤子放屁嘛,我本来就能看了那还设置个什么?
可能需要用到的几个场景:
1:我有很多台小鸡,但能看的只有1台,我想让全部的小鸡都能看。
2:能看的那台很卡,我想看的更舒服点/流畅点。
方法主要是两个:
1:DNS+SNIProxy
2:使用Brook中转
我这边建议其实是用Brook中转,因为这样配置是最简单的。但想到可能有人和我一样喜欢折腾,那这里我先说一下DNS+SNIProxy的方式。
首先在你能看的那台机器上安装DNSMasq:
yum -y install epel-release
yum -y install dnsmasq bind-utils nano
这里我假设你使用的是最新版的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
启动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的配置文件:
nano /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服务文件:
nano /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
那这台机器的配置就完成了,接下来我们需要在不能看的机器上安装一个代理,这里做事做全套吧,我这边直接安装一个SS先。
使用pip安装SS:
yum -y install epel-release
yum -y install python-setuptools libsodium m2crypto nano
easy_install pip
pip install shadowsocks
新建SS配置文件:
nano /etc/shadowsocks.json
如果你不更改下面的配置,那么SS的连接端口是23333,加密方式是chacha20,密码是imlala,建议你自己还是把密码改复杂一点:
{
"server":"0.0.0.0",
"server_port":23333,
"local_address": "127.0.0.1",
"local_port":1080,
"password":"imlala",
"timeout":300,
"method":"chacha20",
"fast_open": false
}
还是和之前一样新建systemd服务文件:
nano /etc/systemd/system/shadowsocks.service
写入:
[Unit]
Description=Shadowsocks
[Service]
User=root
Restart=always
ExecStart=/usr/bin/ssserver -c /etc/shadowsocks.json
[Install]
WantedBy=multi-user.target
启动SS:
systemctl start shadowsocks
systemctl enable shadowsocks
现在你需要将这台机器的DNS地址修改为刚才配置了DNS+SNIProxy的机器IP地址:
nano /etc/resolv.conf
例如:
nameserver VPSIP
那现在连接你这台机器的SS,这台机器应该就能看Netflix了,同理如果你还有更多的机器,都只需要装一个代理修改下DNS就行。不过你需要注意的是,这个方法有可能会造成滥用。建议不要公布自己的VPSIP地址。
现在来说使用Brook中转的方法。中转同样也需要安装一个代理,但和之前用DNS+SNIProxy不同的地方是:
1.DNS+SNIProxy是把代理架设在不能看的机器上。
2.中转是把代理架设在能看的机器上,将不能看的机器的流量转发到能看的机器上。也就是大家常说的能看的那台当作“落地鸡。”
其实弄中转的方法很多,iptables/firewalld都是可以的,但是我个人觉得这两个防火墙配置太操蛋,我有更方便更好用的Brook为什么不用?
这里首先安装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 supervisor
systemctl enable supervisor
本地配置SS连接的时候就填写这台中转服务器的IP+端口55555,密码/加密方式那些不变。
大家应该都知道Google云的台湾是绝对可以看Netflix的,我去年撸的300刀免费额度,用到今年还剩200刀,我可真是个优质用户。。。并且我一次都没有重置过这个余额。。。
恭喜您们成功的把中国这个选项从GCP中删除了。
那最后再说点废话,如果你是初次看Netflix这个站,并且你还是用的Chrome浏览器的话,你可能会发现为毛画质这么差?这里你可能需要安装一下这个插件:
https://chrome.google.com/webstore/detail/netflix-1080p/cankofcoohmbhfpcemhmaaeennfbnmgp
不过最正确的观看方式应该是使用APP,由于我个人要求不高,肉眼看不出来区别就无所谓了,使用ctrl+alt+sfhit+d可以看当前的视频信息:
如果觉得麻烦,可以使用一键脚本:https://github.com/myxuchangbin/dnsmasq_sniproxy_install