本帖最后由 涛娃子 于 2018-1-5 10:44 编辑
首先说明我也是初学者,自己一步步的敲代码摸索出来的,写出来只是为了让和我一样的新手少走一点弯路(但是不想动脑子的点下右上的X),有问题大家回贴,我尽力回复,但请喷子死走(你牛B为什么你不写)
先感谢一下tianbaoha原帖地址:斐讯K3 官方固件root版本 安装插件 entware,没有这个固件,我们也不可能折腾,要是大神能把TUN模块ipset支持tpoxy都搞进去就好了,呵呵,不太现实,这些要重新编译内核,还是要谢谢大神本贴中有所有软件都是在斐讯K3 官方固件root版本 安装插件 entware,大神的网盘里下载的放进/opt/bin/里加755权限
一.刷root固件
按这个贴子刷,斐讯K3 官方固件root版本 安装插件 entware,不会?右上角的X看到没?点一下
二.装opt
方法1:只装几个软件的没必要用U盘了,直接opt install就行了
方法2:在/mnt/sda1/下建立opt目录,在/media/nand/下建个软链接到/mnt/sda1/opt/,opt install 这下所有的东西都会安装到你的U盘上了,我是挂了片128G的SSD在上面
为了更好的上网,GFW两个墙1.DNS污染2.IP地址封杀
三.用dnsmasq+pdnsd+gfwlist解决DNS污染
dnsmasq系统自带了(不是FULL版本,不用ipset也能用了)
1.在/opt/etc/下建立dnsmasq.conf文件
- user=nobody
- resolv-file=/tmp/resolv.conf
- no-poll
- bogus-priv
- no-negcache
- clear-on-reload
- bind-dynamic
- listen-address=192.168.2.1,127.0.0.1,0.0.0.0
- port=53
- min-port=4096
- cache-size=1024
- conf-dir=/opt/etc/dnsmasq.d
复制代码 建立/opt/etc/dnsmasq.d目录
建个/opt/etc/dnsmasq.d/user_dnsmasq.conf文件
- server=/.g2w.online/127.0.0.1#8053
[color=rgb(51, 102, 153) !important]复制代码
2.安装pdnsd
方法:下个编译好的放/opt/bin里加755(tianbaoha原帖的网盘里有)
编辑/opt/etc/pdnsd.conf
- global {
- perm_cache=2048;
- cache_dir="/opt/var/pdnsd";
- run_as="nobody";
- server_port = 8053;
- server_ip = 127.0.0.1;
- status_ctl = on;
- tcp_server = on;
- query_method=tcp_only;
- min_ttl=1m;
- max_ttl=1w;
- timeout=5;
- }
- server {
- label= "opendns";
- ip = 208.67.222.222, 208.67.220.220;
- port = 443;
- root_server = on;
- uptest= none;
- }
- server {
- label= "google dns";
- ip = 8.8.8.8, 8.8.4.4;
- port = 53;
- root_server = on;
- uptest= none;
- }
复制代码 到这里两个软件就装好了
下载gfwlist文件,放入/opt/etc/dnsmasq.d,我比较懒,没用脚本搞,我用在线生成文件https://g2w.online/,更新的方法,用计划任务- nano /mnt/sda1/opt/etc/crontabs/admin
- 0 4 * * * wget --no-check-certificate -O /opt/etc/dnsmasq.d/gfwlist_dnsmasq.conf https://g2w.online/dnsq/127.0.0.1:8053 #每天4点自动更新,按自己的配置改
复制代码
配置开机运行
编辑/opt/started_script.sh- #!/bin/sh
- # add by tianbaoha
- killall dnsmasq && dnsmasq -C /opt/etc/dnsmasq.conf
- pdnsd -d
复制代码
不重启就复制上面代码运行一下就行了
四.布署SS透明代理
装SS方法也有两种
1.通过opkg install SS(这个会被论坛和谐,用SS代替)
2.下编译好的放进/opt/bin/目录里去
编辑配置文件/opt/etc/ss.json
- {
- "server": "**.**.**.**", #你SS或S-S R服务器的IP
- "server_port": "8388", #服务器端口
- "local_address": "0.0.0.0", #一定是0.0.0.0,要不iptables不能转发
- "local_port": "1081", #SS本机的端口
- "password": "1233333", #服务器密码
- "timeout": "180",
- "method": "chacha20", #加密
- "protocol": "auth_sha1_v4", #从这行下面4行是S-S R才用的,SS不用
- "protocol_param": "",
- "obfs": "http_simple",
- "obfs_param": ""
- }
复制代码
启动命令
rss-redir -c /opt/etc/redir.json -u >/dev/null 2>&1 &
把这行加入/opt/started_script.sh
- #!/bin/sh
- # add by tianbaoha
- killall dnsmasq && dnsmasq -C /opt/etc/dnsmasq.conf
- pdnsd -d
- rss-redir -c /opt/etc/redir.json -u >/dev/null 2>&1 & #SS就用ss-redir,我是S-S R
复制代码
编辑iptables转发
由于没ipset支持,只能用白名单方式,我也不会写脚本,所以用手动用excel,5000多条,把国内IP RETURN,国外IP转发,我写个我的方法,要是你有更好的下面回复吧
去复制一份国内IP http://f.ip.cn/rt/chnroutes.txt 下载下来,右键点打开方式用excel打开,删除第一行在B列加入公式如下图
生成规规则不要关,winscp打开/opt/etc/firewall.user编辑(这个是固件的自带用户iptables规则,开机自动加入iptables里)
- #白名单
- iptables -t nat -N s-s
- iptables -t nat -A s-s -d **.**.** -j RETURN #你SS的IP
- #lan ip
- iptables -t nat -A s-s -d 0.0.0.0/8 -j RETURN
- iptables -t nat -A s-s -d 10.0.0.0/8 -j RETURN
- iptables -t nat -A s-s -d 127.0.0.0/8 -j RETURN
- iptables -t nat -A s-s -d 169.254.0.0/16 -j RETURN
- iptables -t nat -A s-s -d 172.16.0.0/12 -j RETURN
- iptables -t nat -A s-s -d 192.168.0.0/16 -j RETURN
- iptables -t nat -A s-s -d 224.0.0.0/4 -j RETURN
- iptables -t nat -A s-s -d 240.0.0.0/4 -j RETURN
- #china ip(把excel里B列全复制到下面)
- #转发规则
- iptables -t nat -A s-s -p tcp -j REDIRECT --to-ports 1081 #1081是ss-reir的端口
- iptables -t nat -A PREROUTING -p tcp -s 192.168.2.0/24 -j s-s #192.168.2.0/24是lan 网段
- iptables -t nat -A OUTPUT -p tcp -j s-s #这条是本机生效,为的是后面S-S R连上也能用
复制代码 上面的S-S是给合谐过的,自己看我excel表里用的是什么字段
填好后保存,重启生效,想不重启也行,5300多行,一行行的复制,不要尝试一次从excel里全复制,我试过CPU处理不过来,好多行会出错
到这里你就可以兲朝上网了,其实我还是更喜欢黑名单方式,用ipset被墙的走代理,这个chnroute里ip不全,我还自己加了几个ip地址段,但是没办法内核不支持ipset
五.布署S-S R服务器
为什么要布署S-S R服务器呢,免流,不玩的可以不要看了
S-S R服务器只有python版本的,所以要安装python
1.安装支持
- opkg install python python-pip wget git git-http libsodium nano
复制代码
2.获取源码
- cd /opt/usr/local/ #这是我的安装目录,自己决定
- git clone https://github.com/koolshare/s-sr.git #获取源码,自己去了-,合谐没办法
- cd s-sr
- cp config.json user-config.json
- nano user-config.json #编辑配置文件
- {
- "server": "0.0.0.0",
- "server_ipv6": "::",
- "server_port": 8388,
- "local_address": "127.0.0.1",
- "local_port": 1080,
- "password": "1231111",
- "timeout": 120,
- "udp_timeout": 60,
- "method": "chacha20",
- "protocol": "auth_sha1_v4",
- "protocol_param": "",
- "obfs": "http_simple",
- "obfs_param": "",
- "speed_limit_per_con": 0,
- "speed_limit_per_user": 0,
- "dns_ipv6": false, #这里删了两行,单用户不用这两行的
- "connect_verbose_info": 0,
- "redirect": "",
- "fast_open": false
- }
复制代码
要用chacha20加密的还要改个文件/opt/usr/local/s-sr/s-s/crypto/util.py改成
在/opt/etc/建立个resolv.conf
编辑/opt/usr/local/s-sr/s-s/asyncdns.py
把/etc/resolv.conf改成/opt/etc/resolv.conf
启动命令
python /opt/usr/local/s-sr/s-s/server.py -c /opt/usr/local/s-sr/user-config.json -d start
可以加入/opt/started_script.sh
- #!/bin/sh
- # add by tianbaoha
- killall dnsmasq && dnsmasq -C /opt/etc/dnsmasq.conf
- pdnsd -d
- rss-redir -c /opt/etc/redir.json -u >/dev/null 2>&1 & #SS就用ss-redir,我是S-S R
- python /opt/usr/local/s-sr/s-s/server.py -c /opt/usr/local/s-sr/user-config.json -d start
复制代码
开放端口
port_tcp=22,8388
iptables -I INPUT -p tcp -m multiport --dport $port_tcp -j ACCEPT
把这个加入/opt/etc/firewall.user,就开机自动了
手机装个S-S R找个混淆试试免流加兲朝上网吧
我又重新编辑了下,S-S s-sr是被合谐过的,自己理解下吧
|