|
本帖最后由 bash99 于 2020-5-18 22:15 编辑
金色B1版本,梅林固件 V1.2
产品型号 K2P V1.2
固件版本 380_K2P
感谢 cnsilvan 大神的 的go语言版本,还有 配套的 luci 脚本参考 ;也感谢初始node版本的作者nondanee及全部相关贡献者
(有修改,比如这个老固件连uniq命令都没有)
需求:会ssh远程登陆路由器,能自己把文件搞上去(我是搭了一个httpd,然后在路由器上 wget 下载的)
用法:我是安卓可以直接用,其它的请参考作者主页。
K2P B1的梅林版没多大存储空间,只有/jffs 4M多可以用,还好go语言版本二进制只有2M左右。老固件没有zip,因此需要自己把下载的zip 转成gz。
K2P B1是最弱的arm cpu,因此我们只能选 arm5版本,在Realeases里面找到最新版本的arm5 - UnblockNeteaseMusic-linux-arm5.zip。
转成tar.gz压缩, 注意别带文件夹,否则需要相应改动脚本路径。
上传到 /jffs/scripts/ 目录下,文件名改成ubn.tar.gz,测试解压
- tar tzvf /jffs/scripts/ubn.tar.gz
复制代码 ,输出应该如下:
- -rwxr-xr-x 0/0 1144 2020-03-11 11:32:01 createCertificate.sh
- -rwxr-xr-x 0/0 2031560 2020-03-11 11:31:56 UnblockNeteaseMusic
复制代码
然后执行如下命令:
创建启动脚本
- cat >/jffs/scripts/start_UnblockNeteaseMusic.sh <<EOF
- #!/bin/sh
- export http_port=15080
- export https_port=15443
- cd /tmp/home/root/
- tar zxf /jffs/scripts/ubn.tar.gz
- chmod 755 createCertificate.sh UnblockNeteaseMusic
- ./createCertificate.sh
- nohup ./UnblockNeteaseMusic -p "\${http_port}" -sp "\${https_port}" -o kuwo -m 0 > /tmp/163music.log 2>&1 &
- ipset create unblockneteasemusic hash:ip family inet
- wget -O - "http://httpdns.n.netease.com/httpdns/v2/d?domain=music.163.com,interface.music.163.com,interface3.music.163.com,apm.music.163.com,apm3.music.163.com,clientlog.music.163.com,clientlog3.music.163.com" | grep -Eo '[0-9]+?\.[0-9]+?\.[0-9]+?\.[0-9]+?' | sort -u | awk '{print "ipset add unblockneteasemusic "\$1}' | sh >"/dev/null" 2>&1
- cat > /tmp/etc/dnsmasq.user/music_163.txt <<XXOF
- ipset=/.music.163.com/unblockneteasemusic
- ipset=/interface.music.163.com/unblockneteasemusic
- ipset=/interface3.music.163.com/unblockneteasemusic
- ipset=/apm.music.163.com/unblockneteasemusic
- ipset=/apm3.music.163.com/unblockneteasemusic
- XXOF
- iptables -t nat -N cloud_unblockneteasemusic
- iptables -t nat -A cloud_unblockneteasemusic -d 0.0.0.0/8 -j RETURN
- iptables -t nat -A cloud_unblockneteasemusic -d 10.0.0.0/8 -j RETURN
- iptables -t nat -A cloud_unblockneteasemusic -d 127.0.0.0/8 -j RETURN
- iptables -t nat -A cloud_unblockneteasemusic -d 169.254.0.0/16 -j RETURN
- iptables -t nat -A cloud_unblockneteasemusic -d 172.16.0.0/12 -j RETURN
- iptables -t nat -A cloud_unblockneteasemusic -d 192.168.0.0/16 -j RETURN
- iptables -t nat -A cloud_unblockneteasemusic -d 224.0.0.0/4 -j RETURN
- iptables -t nat -A cloud_unblockneteasemusic -d 240.0.0.0/4 -j RETURN
- iptables -t nat -A cloud_unblockneteasemusic -p tcp --dport 80 -j REDIRECT --to-ports "\${http_port}"
- iptables -t nat -A cloud_unblockneteasemusic -p tcp --dport 443 -j REDIRECT --to-ports "\${https_port}"
- iptables -t nat -I PREROUTING -p tcp -m set --match-set unblockneteasemusic dst -j cloud_unblockneteasemusic
- EOF
复制代码
创建停止脚本:
- cat >/jffs/scripts/stop_UnblockNeteaseMusic.sh <<EOF
- #!/bin/sh
- killall UnblockNeteaseMusic
- iptables -t nat -D PREROUTING -p tcp -m set --match-set unblockneteasemusic dst -j cloud_unblockneteasemusic
- rm -f /tmp/etc/dnsmasq.user/music_163.txt
- iptables -t nat -F cloud_unblockneteasemusic
- iptables -t nat -X cloud_unblockneteasemusic
- ipset destroy unblockneteasemusic
- EOF
复制代码
设置执行权限:
- chmod 755 /jffs/scripts/*.sh
复制代码
尝试启动:
- echo 0 > /proc/sys/vm/overcommit_memory
- /jffs/scripts/start_UnblockNeteaseMusic.sh
复制代码 "vm/overcommit_memory" 这行都是需要的,因为go语言的二进制启动时会占虚内存,k2p b1没有swap分不出那么多虚内存。
看看/tmp/163music.log的输出 是否正常
然后就可以尝试启动客户端解锁是否成功了,我的安卓是直接成功了,云音乐版本 5.1.0(有点老,不过不爱好升级了)
如果都正常,在系统启动里面加入,我是在 管理界面 - 工具箱 - 自定义脚本 里面,在 外网连接成功脚本(wan-start) 里面增加的(隐藏内容大家应该可以自行推断出来)
- #!/bin/sh
- echo net_start > /tmp/wan-start.log
- echo 0 > /proc/sys/vm/overcommit_memory
- /jffs/scripts/start_UnblockNeteaseMusic.sh
复制代码
更新:如果自己本机有 git bash套,可以本地执行一次
./createCertificate.sh预先生成证书再打包到ubn.tar.gz里面,这样启动脚本里面可以省掉 ./createCertificate.sh ,启动速度会快不少(不过大家的梅林应该是几个月才重启一次,按说关系不大)
更新:修正启动脚本创建语句的错误,没有在$之前加\导致生成的脚本不正常。
|
评分
-
查看全部评分
|