Newifi Mini

旧博客迁移文章,内容可能已失去价值,仅为留念,做了简单重新排版,勉强可看。

在校园里总是有一些奇葩需求。

新校区可以办理联通宽带,果断办理,校园网的不稳定和按流量收费的政策着实不让本人满意。根据之前得到的消息,联通 201 宽带是不可共享的(对于懂点网络的人当然将信将疑),人家价格便宜嘛,这种做法也可以原谅啦!

于是寝室几个人合伙买了个路由器,学生党挑来挑去选了个便宜的 newifi mini,果断入坑,网上说固件很烂我还不信,寝室方圆之内信号居然不是满格

只有刷第三方固件了,听人说老毛子改的华硕固件不错,刷完之后信号果然好了许多,不过寝室的打 LOL 的兄弟直呼比校园网还卡,然而本人下东西没问题啊,不折腾了。为什么不想折腾呢?因为在寝室路由器用的是交换机模式,很多智能路由的功能用不到,稳定是关键。

该做的事迟早要做,你逃不掉。

后来我上网也开始卡,百度都不能秒开,渐渐地我也发现这简直不是10M带宽应有的体验。所以我猜这固件可能并不稳定,寝室路由器大家一起用贵在稳定,不能自己没事就折腾,故放弃 openwrt 之类的固件,刷了小米固件(本人半个米粉)。小米还算有良心,买的这坑路由器终于像个正常的路由器了(‘・ω・’)

然后的问题是,这特么是智能路由器啊!当个交换机太可惜了。然后我做了如下事情:

  1. 关闭 DHCP 功能,修改 lan 口 IP 为 10.0.0.1(为了绕过联通的限制)
  2. 光猫接出来两根网线分别接路由器 LAN 口和 WAN 口

舍友们上网,直接连上 WiFi,拨号即可。
本人连的时候就改改IP为 10.0.0.x 即可。 然后我就一个人霸占了它的智能,远程下载,迅雷加速什么的都可以啦!

附录:北京联通 201 python 自动登陆脚本,适用于 newifi mini 的小米固件,其他未测试

#! /extdisks/sda4/opkg/usr/bin python
#date: 2015/11/09
#For Autologin ChinaUnicom 201
#Code by Funnyang

import sys
import re
import urllib2
import urllib
import requests
import cookielib
import socket                                          
import fcntl                                           
import struct

reload(sys)
sys.setdefaultencoding("utf-8")

#get local ip
def get_ip_address(ifname):  
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)  
    return socket.inet_ntoa(fcntl.ioctl(      
         s.fileno(),         
         0x8915,  # SIOCGIFADDR                 
         struct.pack('256s', ifname[:15])                         
    )[20:24])                                  

#login
loginurl = 'http://114.247.41.52:808/protalAction!portalAuth.action?'

class Login(object):

    def __init__(self):
        self.wlanuserip = ''
        self.localIp = ''
        self.basip = ''
        self.lpsUserName = ''
        self.lpsPwd = ''

        self.cj = cookielib.LWPCookieJar()
        self.opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cj))
        urllib2.install_opener(self.opener)
        
    def setLoginInfo(self,wlanusrip,localIp,basip,lpsUserName,lpsPwd):
        self.wlanuserip = wlanuserip                                       
        self.localIp = localIp                                            
        self.basip =  basip                                              
        self.lpsUserName =  lpsUserName                                       
        self.lpsPwd = lpsPwd 
        
    def login(self):
        loginparams = {'wlanuserip':self.wlanuserip,'localIp':self.localIp,'basip':self.basip,'lpsUserName':self.lpsUserName,'lpsPwd':self.lpsPwd}
        headers = {'User-Agent':'Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5'}    
        req = urllib2.Request(loginurl, urllib.urlencode(loginparams),headers=headers)  
        response = urllib2.urlopen(req)
        self.operate = self.opener.open(req)
        thePage = response.read()    
        print thePage
        
if __name__ == '__main__':
    userlogin = Login()
    wlanuserip = get_ip_address('eth0.2') 
    localIp = ''
    basip = '61.148.2.82'
    lpsUserName = '手机号/账户'
    lpsPwd = '密码'
    userlogin.setLoginInfo(wlanuserip,localIp,basip,lpsUserName,lpsPwd)
    userlogin.login()

以上未涉及技术的细节,均可直接到newifi官方论坛找到。

本文链接:参与评论 »

--EOF--

提醒:本文最后更新于 3277 天前,文中所描述的信息可能已发生改变,请谨慎使用。

Comments