V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
cokebar
V2EX  ›  问与答

Web 登录的网络 如何利用 OpenWRT 做到自动开机登录?

  •  
  •   cokebar · 2014-12-20 22:56:27 +08:00 · 6241 次点击
    这是一个创建于 3627 天前的主题,其中的信息可能已经有所发展或是发生改变。
    学校校园网Web页面验证登录,现在我是用tinyproxy用路由代理手动web登录的,有木有人折腾过通用方法,路由器用脚本自动post用户名密码过去然后登录的?
    5 条回复    2014-12-21 15:18:07 +08:00
    wyf88
        1
    wyf88  
       2014-12-20 23:25:24 +08:00
    有。你先用 Chrome 登陆一次,看登陆时 post 了什么,然后在路由器上用 wget 去 post 咯
    chunyang
        2
    chunyang  
       2014-12-20 23:43:20 +08:00
    Web 认证大概指的是 Captive portals 吧,通常也没有验证码,用脚本(curl 比 wget 更合适)实现很容易。

    关键是如何*自动*执行登陆脚本,正确的方法应该是 监听网络连接 (而不是开机时),也就是说一旦有网络建立时(可以检查 SSID 以确认连上了你的学校的 WLAN)便登陆。

    至于如何监听网路连接,应该由你使用的 OS 或者 Network Manager 决定,比如,GNU/Linux 一般默认用 Redhat 的 NetworkManager,这个程序默认支持在网路发生变化时执行脚本(参见 /etc/NetworkManager/dispatcher.d/)。至于 OpenWRT,我不清楚,应该有类似的东西。
    lizheming
        3
    lizheming  
       2014-12-21 07:39:08 +08:00 via iPhone
    有啊…这个post脚本开机自启动妥妥的…要是加个网络掉线检测那更是极好的了。
    wyf88
        4
    wyf88  
       2014-12-21 15:17:19 +08:00   ❤️ 1
    翻了一下我在学校的路由器里的,给你举个例子,不同学校肯定不一样。因为 Busybox 里就有 wget,所以我没有用 curl。我不是写程序的,所以这代码凑合用用就好。默认开机运行。监听网络连接之类的,我就不懂了。

    cat <<'EOF' >/root/resnet_login.sh
    #!/bin/sh

    for loop in 1 2 3 4 5 6 7 8 9 10
    do
    wget -q 'http://www.apple.com/library/test/success.html' -O '/tmp/success.html'
    if [ $(cat /tmp/success.html) == '<HTML><HEAD><TITLE>Success</TITLE></HEAD><BODY>Success</BODY></HTML>' ]
    then
    echo 'Router is online.'
    rm -f '/tmp/success.html'
    break
    else
    echo 'Router is offline.'
    wget -q 'http://securelogin.net.XXX.edu.cn/cgi-bin/login' --post-data='user=14XXXXXXX&password=XXXX&cmd=authenticate&Login=Log+In' -O '/tmp/login.html'
    rm -f '/tmp/login.html' '/tmp/success.html'
    fi
    sleep 12
    done

    EOF

    chmod +x /root/resnet_login.sh
    sed -i '/^exit 0/i/root/resnet_login.sh' /etc/rc.local
    wyf88
        5
    wyf88  
       2014-12-21 15:18:07 +08:00
    晕。。。我不知道直接粘进回复框里,缩进就全没了。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3582 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 04:57 · PVG 12:57 · LAX 20:57 · JFK 23:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.