[ RT-N16 ] 分享Hinet付費熱點 並自動登入

小弟我不知道N久沒發文了 XD
連去當兵的 zkm 每次放假都有發一篇~ 而我卻~... 偷懶 哈哈 XD
中於~ 一年一度 長達 兩個半月的暑假中於來了!! (雖然有上課也等於沒上課 哈)
學生在外靠自己! 像我這種重度網路成癮症的小朋友~ 一沒有3G 就像要我的命一樣! 理所當然的! 小弟我有辦 中華電信的 mPro 950 ..
在可愛的黎明宿舍內~ 其他間寢室牆壁上都有個"學網孔"
雖說是"學網" 但他好歹也是 100Mbps (10Mbps*10) 的Hinet 光纖網路! (有鎖Port)
唯獨我這間牆上沒有孔! 但想想~ 算了我的 弱弱 3G 加減用吧!
沒響到! 因為在懸牙下 可愛的3G 面成 2G 再變成 G ....
只要有人一打給我! 碼上斷線 XD
憤而打去中華電信~ 沒想到 他們竟然派人來宿舍安裝 中華電信付費熱點 !! 沒錯就是能在麥當當看到的熱點!
不過呢~ 噩夢並沒結束! 我們那間寢室還真邪門!
NB搜熱點的訊號超級弱! (跟中華電信投訴太弱 應該沒有用處 )
於是小弟我拜了台 RT - N 16 回來! 中於能順利解決訊號問題
就這樣 小弟我的省錢作站就開始了!

仔細看看我當初申請的方案資訊! 上面說著我有 36個月的免費 Hinet 付費熱點吃到飽!
透過N16的橋接 下載速度最高能到 1.9M/s 相當於 15Mbps 的速度!
算一算~ 3G + 15Mbps 網路費每月不用 1k 真的很划算!
更省的是 15Mbps 在 5 人一起共用! 可以幫大家省下不少費用!
實際測試的 反應時間 在 10ms 上下 可以說是非常的優!

唯一的缺點! Hinet 每 4~6小時 他們的 AP 會重新開機! 這時候~ 我們必須重新登入!
雖然說只要隨便一台輸入帳密登入~ 大家就會都解髓了! 但是~ 中華電信的帳密可以小額付款等等的交易! 寫在紙上也太恐怖了!
所以想來想去! 用N16來幫我登入 這是最好的辦法!
只要用到簡單的 scripts 以及 curl 就能做出登入的動作!

第1步:先準備一個USB 並插入 N16 的屁股後面


第2步:請使用可愛的 網路線 和 電腦做連接
因為Wifi要橋接用! 所以 Wifi 功能就不能用囉!


第3步:登入 N16 的管理介面


第4步:小弟我已經刷成番茄囉!


第5步:點選左邊進入網路設定


第6步:設定Wifi 如下圖
目標的SSID 要依照您的環境設定唷! 不能亂亂打 XD
設定好後記得確認是否能正常透過N16使用 付費熱點 !!


第7步:點選左邊 選擇 USB 設定
把USB 功能打開


第8步:取得 USB 目錄位置
我的位置是 /tmp/mnt/sda1 如果你的和我不同! 下面有些步驟 可能要換成你的唷


第9步:左邊Administrator 管理


第10步:開啟 SSH


第11步:安裝opt

cd /tmp/mnt/sda1
mkdir opt
mount --bind /mnt/sda1/opt/ /opt
wget http://www.3iii.dk/linux/optware/optware-install-ddwrt.sh -O /tmp/optware-install.sh
sh /tmp/optware-install.sh

記得! USB 路徑依照你的環境為主唷!

第12步:安裝 curl
/opt/bin/ipkg-opt -verbose_wget install curl

值型 which curl 確認 curl 的路徑!
我的是 /opt/bin/curl

第13步:在USB內建立登入腳本
vi /mnt/sda1/wifi.sh

按i後輸入下列文字 (您的curl 位置如果和我不同 記得要修改唷)
記得把帳密替換唷!!

#!/bin/sh
testing=$(/opt/bin/curl -I www.google.com.tw | grep "200 OK")
echo "============================================="
if [ "$testing" != "" ]; then
echo "wifi logined."
elif [ "$1" == "" ]; then
echo "You need login wifi."
/opt/bin/curl -d cht_user=**登入帳號** -d passwd=**登入密碼** -d username=**登入帳號**%40emome.net -d password=**登入密碼** -d custom=cht -d session=$(/opt/bin/curl -I www.google.com.tw | grep Location | cut -d "&" -f 1 | cut -d "=" -f 2) http://wlanac.hinet.net/loginpages/userlogin.shtml
fi


輸入完畢 按下 [esc] => : => wq

第14步:給登入腳本執行權限
chmod +x /mnt/sda1/wifi.sh


第15步:測試是否能正常登入
如果能正常登入 才往下做唷
sh /mnt/sda1/wifi.sh


第16步:在 USB 選項中 設定 sh /mnt/sda1/wifi.sh
這是為了每次都自動掛上 opt 目錄!
mount --bind /mnt/sda1/opt/ /opt



第17步:設定 定時腳本


第18步:設定腳本
每1分鐘就幫我們檢查一次登入狀況!
sh /mnt/sda1/wifi.sh



第19步:歡樂的使用吧!!
我這樣用了一學期! 都沒有太大問題!
斷線就去上課廁所回來~ 就會自動登入完畢!
且可以很多人一起共用! 看室友玩 LOL 都沒啥太大問題!
我自己玩 D3 也很順!!
從事台灣主機託管、IDC、雲端主機服務。
好文章, 幫推一下

請問為何在下面這行(wifi.sh裡)會出現"$1"? 這行似乎用一個else取代就行了

elif [ "$1" == "" ]; then

感謝大大分享
原來RT-N16可以這樣用
長知識了
給你按個"讚"

1tac wrote:
好文章, 幫推一下請...(恕刪)


我除錯的時候用的啦~
sh wifi.sh xx
就算沒登入也不要讓他登入 XD
那時測試完我也懶得移除了
因為有時候只是要確認 curl 和 判斷上網有沒有成功而已
從事台灣主機託管、IDC、雲端主機服務。

sky37042 wrote:
小弟我不知道N久沒發...(恕刪)


請問大大這個方法能用在RT-N12嗎
還是只有N16才能夠用
還有個問題如果設定repeater bridge
是不是就可以一邊接收中華熱點 一邊又能夠當無線AP分享WIFI?
TokyoAndy1986 wrote:
請問大大這個方法能用在RT-N12嗎
還是只有N16才能夠用
還有個問題如果設定repeater bridge
是不是就可以一邊接收中華熱點 一邊又能夠當無線AP分享WIFI?


小弟越庖代俎回答

1. 仔細看內容,你會發現第一步就是要準備USB碟(主要是存curl這個package),而N12沒有USB

2. 要讓N12支援這樣的功能需要用Firmware Modification Kit把N12的firmware解開,加入curl然後重build firmware
http://code.google.com/p/firmware-mod-kit/

3. Tomato沒支援repeater bridge, DD-WRT才有repeater bridge
http://en.wikibooks.org/wiki/Tomato_%28firmware%29/Menu_Reference#Basic
要讓DD-WRT支援這樣的功能也不難, 基本概念都是相同的
TokyoAndy1986 wrote:
請問大大這個方法能用在RT-N12嗎...(恕刪)

昨天去這個地方挖出可以用在RT-N12 C1的curl ,
http://kamikaze.openwrt.org/8.09.2/brcm-2.4/packages/
因為我直接刷英文版,
http://tomato.groov.pl/download/K26RT-N/build5x-097-EN/Asus%20RT-Nxx%20(without%20USB)/tomato-K26-1.28.RT-N5x-MIPSR2-097-Max.trx
所以,可以開jffs,jffs還有大約1.8M空間可以用,相關檔案在附件中,
有需要curl的可以將附件中的檔案全部放到/jffs,
pppoe-relay這個檔案可以不用放,我順手放,有需要的也可以用.
再將樓主提供的wifi.sh腳本改一下路徑及加一個LD_LIBRARY_PATH設定,如下:
--------------------------------------------------------------------------------
#!/bin/sh

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/jffs

testing=$(/jffs/curl -I www.google.com.tw | grep "200 OK")

echo "============================================="

if [ "$testing" != "" ]; then

echo "wifi logined."

elif [ "$1" == "" ]; then

echo "You need login wifi."

/jffs/curl -d cht_user=**登入帳號** -d passwd=**登入密碼** -d username=**登入帳號**%40emome.net -d password=**登入密碼** -d custom=cht -d session=$(/jffs/curl -I www.google.com.tw | grep Location | cut -d "&" -f 1 | cut -d "=" -f 2) http://wlanac.hinet.net/loginpages/userlogin.shtml

fi
---------------------------------------------------------------------------------
這樣,理論上是可行,不過,因為我沒熱點可測試,如果有錯還請見諒~
對了,放檔案我是利用CIFS Client,
由rt-n12的CIFS Client去連接電腦分享出來的資料匣,
最後再用cp /cifs1/要copy的檔名 /jffs
即可將檔案copy到/jffs

附加壓縮檔: 201207/mobile01-f7fe3ec07edc098ba12592569fd4d37e.zip
jackie07 wrote:
昨天去這個地方挖出可...(恕刪)


謝謝各位大大的解說
但小弟從第11步驟開始看不懂
要如何安裝OPT及CURL??
是在TOMATO的哪個地方可以輸入這些程式碼?
usb目錄位置應該是從第8步驟就可以看得到自己的位置吧?
TokyoAndy1986 wrote:
但小弟從第11步驟開始看不懂...(恕刪)

不知道你指的是否為RT-N12,
如果你是用RT-N12則,不能用第11及12步驟,
因為RT-N12並沒有USB,
所以,你只能改放JFFS空間,
因此,你必須先打開JFFS空間,因為我刷的是英文全功能版,還有約2M空間可用,

再使用winscp軟體,記得使用scp檔案協定及root帳號及密碼登入,

再將我附的附件解壓縮後的全部檔案直接上傳到JFFS空間<至少要有1.5M左右空間才夠用喔>,
,
樓主的第13步:"在USB內建立登入腳本",
你只需改成在JFFS空間內建立登入腳本,
接下去一樣了,
不過,wifi.sh腳本你要改一下,參考我貼的內容,
但實際可行性要再測一下.

jackie07 wrote:
不知道你指的是否為R...(恕刪)


非常感謝大大詳細的解說
感激不盡^^
文章分享
評分
評分
複製連結
請輸入您要前往的頁數(1 ~ 10)

今日熱門文章 網友點擊推薦!