星期二, 十月 14, 2014
极壹S OR 极贰 USB+SD共享一键安装包
极壹S OR 极贰 USB+SD共享一键安装包
安装注意事项:
1.目前仅限官方root系统使用安装,其它系统切勿安装,会出错无法卸载
2.安装前请务必检查一下自己的云插件里的局域网共享app是否卸载,否则会导致平台插件错乱。
3.安装完后,在共享里可见有名为“sd”、“usb” 两个共享文件夹,usb仅限改装完机器的朋友使用,不插usb设备会无法访问这个共享文件夹。
4.如果已经确定上两步,请在ssh下运行以下命令:
- rm -rf share.sh && wget -c http://www.hiwifimi.com/app/share/share.sh && chmod +x share.sh && ./share.sh
更新:假如通过df -h命令查看usb挂载不是sda1分区,那么使用以下方式修改
1.登陆ssh
2.输入命令 vi /etc/config/samba
3.按“i”键 进入修改模式
4.使用上下左右键移动找到 option path ‘/tmp/sda1′ 这一句
5.修改sda1为你df -h看到的设备名称即可。
例:df -h 看到设备为/tmp/sda 那么就将option path ‘/tmp/sda1’这里改为option path ‘/tmp/sda’
6.按住shift+: 并且输入x 敲回车,如果成功即可回到命令模式
7.输入/etc/init.d/samba restart 重启共享,完成
Hiwifi firmware的备份
升级完成之后,依然还要做一遍hiwifi.sh文件的修改,防止手残升级被官方无情的给替换了uboot
建议最好做下firmware的备份:
使用putty登录后执行:
cat /dev/mtd9 >/tmp/mtd9.bin
然后使用winscp进入tmp文
件夹把备份文件取回本。地,保存好,以后如果做了恢复出厂设置,可以使用putty命令恢复到最初始的
0.9006.2.6020sROOT版本。(putty执行恢复命令:mtd write *.bin firmware)
整个flash的内容用下面的方法取出: 1、登录路由 2、切换到tmp目录, 3、使用dd命令备份uboot、firmware(这个就是你刷的那个固件)、art/board_config, 4、使用cat命令将文件合并,假设新文件名为xxx.bin(这个就是编程器用的固件) 5、使用WinSCP将文件复制到电脑 root@OpenWrt:~# cd /tmp root@OpenWrt:/tmp# cat /proc/mtd dev: size erasesize name mtd0: 00020000 00010000 "u-boot" mtd1: 00140000 00010000 "kernel" mtd2: 00690000 00010000 "rootfs" mtd3: 00460000 00010000 "rootfs_data" mtd4: 00010000 00010000 "art" mtd5: 007d0000 00010000 "firmware" 取出uboot root@OpenWrt:/tmp# dd if=/dev/mtd0 of=uboot.bin 取出可供刷机的固件(这个就是大家经常用来刷机的文件了) root@OpenWrt:/tmp# dd if=/dev/mtd5 of=firmware.bin 取出wifi的校验信息 root@OpenWrt:/tmp# dd if=/dev/mtd4 of=art.bin 下面的是合并操作 root@OpenWrt:/tmp# cat uboot.bin firmware.bin art.bin > 1.bin sysupgrade -n -F 固件.bin
国内ip列表
有些时候需要针对某个国家做IP限制,或者是通过shadowsocks爬梯子时需要通过IP列表来做智能代理,国家ip地址列表可以通过apnic获取。
下面是获取中国国内ip列表的shell脚本:
#!/bin/sh FILE=ip_apnic rm -f $FILE rm -f cn.net wget http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest -O $FILE grep 'apnic|CN|ipv4|' $FILE | cut -f 4,5 -d'|'|sed -e 's/|/ /g' | while read ip cnt do pow=32; x=$cnt; while [ $x -gt 1 ]; do x=$((x/2)); pow=$((pow-1)) done mask=$pow echo $ip/$mask echo $ip/$mask>> cn.net done
执行完得到cn.net文件,包含了国内所有IP地址。
极1s安装shadowsocks、redsocks、pdnsd实现科学上网
由于Hiwifi官方还未正式提供shadowsocks插件,安装shadowsocks需要先root
root教程可以参考:http://bbs.hiwifi.com/thread-53881-1-1.html
极1s手动安装shadowsocks方法(1、仅限HiwifiOS 2、不能和SSH插件共用):
一、shadowsocks、redsocks、pdnsd软件包Hiwifi官方源已经提供,通过opkg即可安装。
opkg update opkg install shadowsocks-vanilla opkg install shadowsocks opkg install redsocks opkg install pdnsd opkg install kmod-salist opkg install salist
二、下载配置启动脚本,已经打包好了可以直接执行下面命令安装:
cd / wget http://www.jslink.org/upload/files/20140929/hiwifi_shadowsocks.tar.gz tar zxvf hiwifi_shadowsocks.tar.gz rm -f hiwifi_shadowsocks.tar.gz
三、配置shadowsocks账号配置文件 /etc/config/shadowsocks.json
免费账号可以通过下面两个地址获取:
也可以使用我写的从boafanx自动获取账号的脚本:一键自动获取免费shadowsocks账号shell脚本
注意:配置文件shadowsocks.json中的"local_port":65500 这里要改为65500,这个本地端口和服务器上的local_port没有任何关系。如果使用上面一键自动获取脚本会自动修改的。
四、执行下面命令添加到开机启动:
#重启一下firewall /etc/init.d/firewall restart /etc/init.d/shadowsocks enable /etc/init.d/shadowsocks start
最后打开http://whereismyip.com/看看IP变没?
备注:
1、强制DNS走代理解析的域名配置文件是: /etc/gfw.dnslist
2、如果需要增加IP段走正常路由的可以编辑: /etc/salist/local.conf
2、如果需要增加IP段走正常路由的可以编辑: /etc/salist/local.conf
3、/etc/init.d/redsocks文件第17行mode="part" 意思对应于云平台中“SSH智能管道”插件的智能模式,还可以修改为:
mode="whole" # 全局模式
mode="game" # 游戏模式
mode="china" # 回国模式
一键自动获取免费shadowsocks账号shell脚本
在极1s上用了一段时间ssh插件,速度很慢还很不稳定,间歇性抽风,虽然autossh会检测到并重启ssh插件,但频繁的断线频率和不完善的重启恢复机制实在是不能让人心情愉悦的去爬梯子 直到现在hiwifi都还没提供shadowsocks插件,不过在其官方源中提供了软件包,于是经过一番折腾安装好了(极1s安装shadowsocks、redsocks、pdnsd实现科学上网) 本以为就可以搞定收工,但今天早上起来却又连不上了,发现原来是因为使用的免费shadowsocks账号密码已经改了(在此感谢提供免费shadowsocks账号的boafanx官方网站) 经常改密码很正常,毕竟是免费的账号,于是便有了下面的简易的一键自动获取脚本:
功能说明: 定时自动获取(boafanx官方网站)免费shadowsocks账号,判断如有更新则自动替换shadowsocks配置文件重启shadowsocks并发送邮件通知。
#!/bin/sh
# Copyright (C) 2014 www.jslink.org
# author: Freedom
# blog: www.jslink.org
source /etc/profile >/dev/null
#设置从boafanx获取的服务器IP
ipmatch=106.185.43.112
#邮件提醒
email="xxxxxxx@qq.com"
#是否发送邮件 1 发送 0 不发送
isemail=1
#-----------------------------------------------------------------------------
#判断mutt
which mutt >/dev/null
[ $? -eq 0 ] || isemail=0
#配置文件路径
File1=/etc/config/shadowsocks.json
#临时缓存文件
File2=/tmp/shadowsocks.json.tmp
TMPFILE=/tmp/curl.tmp
#循环5次 确定网络可用
for i in 1 2 3 4 5;do
curl -s -A 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36' http://www.baidu.com 1>/dev/null 2>&1
[ $? -eq 0 ] && {
for j in 1 2 3;do
curl -s -A 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36' -e 'http://boafanx.tabboa.com/' http://boafanx.tabboa.com/boafanx-ss/ 1>$TMPFILE 2>&1
[ $? -eq 0 ] && {
#获取指定服务器的配置信息
grep -A 6 -B 1 "$ipmatch" $TMPFILE | sed 's///g' >$File2
#修改shadowsocks本地端口为65500
sed -i 's/"local_port":.*/"local_port":65500,/g' $File2
#简单判断是json格式
[ "`head -n 1 $File2 2>/dev/null`" = "{" -a "`tail -n 1 $File2 2>/dev/null`" = "}" ] && {
CurRow=1
LastRow=`cat $File2 | wc -l`
Eq=1
[ -f $File1 ] || {
touch $File1
Eq=0
}
rm -f $TMPFILE
#对比是否更新
while [ $CurRow -le $LastRow ];do
file1Line="`awk 'NR=='$CurRow' {print $0}' $File1`"
file2Line="`awk 'NR=='$CurRow' {print $0}' $File2`"
echo "$CurRow/$LastRow $file1Line <=> $file2Line" >>$TMPFILE
#逐行对比
[ "$file1Line" = "$file2Line" ] || Eq=0
CurRow=$((CurRow+1))
done
[ "$Eq" = "0" ] && {
cp -rf $File2 $File1
/etc/init.d/shadowsocks restart 1>/dev/null 2>&1
#发送邮件提醒
[ "$isemail" = "1" ] && mutt -s "[shadownsocks] Configuration file has been updated" $email <$TMPFILE
}
break
} || {
[ "$isemail" = "1" ] && mutt -s "[shadownsocks] Contents does not match" $email <$File2
}
break
} || {
sleep 5
[ $j -eq 3 -a "$isemail" = "1" ] && mutt -s "[shadownsocks] Get content error" $email <$TMPFILE
}
done
break
} || {
sleep 15
}
done
rm -f $TMPFILE
rm -rf $File2
安装配置方法:
1、简单点,ssh连接路由器执行下面命令即可:
cd /etc
wget http://www.jslink.org/upload/files/20140929/shadowsocks_get_account.sh
chmod +x shadowsocks_get_account.sh
[ -n "`crontab -l|grep shadowsocks_get_account`" ] || {
rm -rf /tmp/crontab.tmp
crontab -l >/tmp/crontab.tmp
echo>>/tmp/crontab.tmp
echo "0 */1 * * * /bin/sh /etc/shadowsocks_get_account.sh" >>/tmp/crontab.tmp
crontab /tmp/crontab.tmp
/etc/init.d/cron restart
}
crontab -l
#获取免费shadowsocks账号
/bin/sh /etc/shadowsocks_get_account.sh
上面计划任务是1个小时执行一次,可以先修改下再执行,不建议时间间隔改的太短~
2、编辑/etc/shadowsocks_get_account.sh 将里面的邮箱账号和需要获取的IP修改成你的
另外,需要邮件提醒的,安装配置mutt方法可以参考:路由器安装mutt、ssmtp实现发送邮件提醒功能
不需要的isemail=1改为isemail=0
最后:
这个脚本的缺点是:只能获取指定服务器的配置信息,理想中是做到一键获取所有配置,判断TTL得到最快的IP,这只是一个简单的shell脚本,暂时可以解决它频繁改密码。
还有一个Shadowsocks的公益组织专门提供免费Shadowsocks账号(官网:https://www.shadowsocks.net/get)
对此也已经有人使用Python写出来了一个更高级的一键获取脚本,推荐原文博客地址: http://bindog.github.io/blog/2014/09/06/shadowsocks-account/
订阅:
博文 (Atom)