乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      PHTunnel集成Openwrt,不到一小時(shí)?安排上!

       悅光陰 2022-06-19 發(fā)布于北京

      花生殼phtunnel嵌入Openwrt

      詳細(xì)介紹如何將phtunnel封裝成一個(gè)openwrt標(biāo)準(zhǔn)組件,并編譯到自己的openwrt固件中。

      phtunnel組件制作下載

      下載自己的編譯平臺(tái)的二進(jìn)制phtunnel文件是第一步要做的,我們可以到oray的官方github網(wǎng)站進(jìn)行下載,根據(jù)自己的型號(hào)進(jìn)行下載,比如我的路由器是基于MIPSel,c庫(kù)使用的是uclibc,那么我可以進(jìn)入xxxxx,進(jìn)入xxxxxxxx,并下載mipsel-uclibc-phtunnel文件。

      規(guī)劃目錄結(jié)構(gòu)接

      下來(lái)的任務(wù)是規(guī)劃自己的phtunnel組件安裝后,在openwrt系統(tǒng)上是怎樣的目錄結(jié)構(gòu)。

      首先核心的應(yīng)用程序phtunnel我們可以放在/usr/bin目錄下,因?yàn)樗且粋€(gè)非管理員應(yīng)用,所以一般比放在/usr/sbin目錄下要更科學(xué)一些。

      uci配置文件:由于openwrtuci是常用的配置解決方案(不理解uci可參閱其他文檔),所以需要一個(gè)uci配置文件,該文件通常放在/etc/config目錄下,同時(shí)我們?nèi)∶瑯訛?/span>phtunnel,這樣就可以使用uci set phtunnel.xx.xx等操作phtunnel的配置了。

      根據(jù)phtunnel列出的參數(shù),uci的配置如下:

      啟動(dòng)腳本:通常應(yīng)用都是作為守護(hù)腳本運(yùn)行,所以phtunnel也會(huì)制作成守護(hù)程序,自動(dòng)運(yùn)行,所以需要在/etc/init.d中建立phtunnel的啟動(dòng)腳本,名稱(chēng)也叫phtunnel。

      hotplug.d機(jī)制:為了及時(shí)響應(yīng)網(wǎng)絡(luò)狀態(tài),快速重啟phtunnel,可使用hotplug機(jī)制。這樣在wan口斷開(kāi)重新連上網(wǎng)的時(shí)候,能馬上重啟phtunnel。在/etc/hotplug.d/iface下需要?jiǎng)?chuàng)建一個(gè)xx-phtunnel的腳本,其中xx代表腳本執(zhí)行順序,可以隨便填。

      這樣,安裝后的目錄結(jié)構(gòu)是如下圖

      編寫(xiě)phtunnel組件Makefile

      根據(jù)目錄結(jié)構(gòu)規(guī)劃,現(xiàn)在來(lái)編寫(xiě)組件,由于openwrt的組件是用makefile文件編寫(xiě)。

      makefile及規(guī)劃的files目錄統(tǒng)一放在phtunnel目錄內(nèi),然后放在openwrtpackage/utils目錄中即可(可放在package下的任何位置),再來(lái)看一下目錄結(jié)構(gòu)

      這時(shí)執(zhí)行make menuconfig后,就能看到phtunnel組件了

      選中該組件后保存,執(zhí)行make,就可以編譯出帶phtunnel的固件了和對(duì)應(yīng)的phtunnelipk組件包了。

      啟動(dòng)腳本

      用于啟動(dòng)與停止phtunnel,啟動(dòng)后讀取uci配置,變成phtunnel的啟動(dòng)參數(shù),然后啟動(dòng)phtunnel程序,代碼如下:

      這里用到了openwrtPROCD機(jī)制,這樣可以在phtunnel意外崩潰的情況下,自動(dòng)重啟。

      hotplug腳本

      用于在wan接口連接有效時(shí),重新開(kāi)啟phtunnel,加速重連速度。

      phtunnel-luci-app組件制作功能

      phtunnel運(yùn)行后,需要進(jìn)行掃碼登錄,管理,解綁等操作,這些都是需要與客戶(hù)的交互操作,openwrt提供的luci是實(shí)現(xiàn)交互的最佳選擇,也是最正式的方式,下面來(lái)制作基于luciphtunnel組件。

      核心模塊

      luci的代碼區(qū)域在/usr/lib/lua/luci中,所以所有交互的web代碼都放在這個(gè)下面,首先是核心的基礎(chǔ)庫(kù)phtunnel.lua,它將提供所有核心函數(shù),如獲取二維碼,登錄信息和解綁操等核心功能。

      所有函數(shù)的核心都是調(diào)用wget來(lái)訪問(wèn)rpc服務(wù)和官方提供的web服務(wù)。

      LUCI頁(yè)面

      完成核心函數(shù)庫(kù)后,接下來(lái)就是根據(jù)luci的架構(gòu)進(jìn)行開(kāi)發(fā)。首先是規(guī)劃菜單與菜單項(xiàng),如圖:

      完成這樣的菜單,需要在controller目錄下實(shí)現(xiàn),如圖:

      其中setup頁(yè)面用于設(shè)置基本參數(shù),Status頁(yè)面用于掃碼與解綁,Log用于顯示日志。

      Setup頁(yè)面

      設(shè)置頁(yè)面是一個(gè)純UCI頁(yè)面,我們可以使用luci提供的cbi模塊開(kāi)發(fā)。

      顯現(xiàn)的頁(yè)面如圖

      Status頁(yè)面

      該頁(yè)面用于顯示二維碼,管理界面鏈接及解綁。相關(guān)代碼在view/oray/phtunnel_status.htm, view/oray/phtunnel_inner_status.htm, view/oray/phtunnel_log_off.htm

      phtunnel_status.htm : 用于顯示當(dāng)前狀態(tài)。

      phtunnel_inner_status.html : 用于后臺(tái)實(shí)時(shí)檢測(cè)綁定狀態(tài),當(dāng)用戶(hù)使用手機(jī)刷二維碼綁定后,phtunnel_status.htm頁(yè)面動(dòng)態(tài)顯示綁定賬號(hào)。

      phtunnel_log_off : 用于解綁賬號(hào)

      Log頁(yè)面

      用于顯示日志,該頁(yè)面相對(duì)簡(jiǎn)單(view/oray/phtunnel_log.htm),

      通過(guò)uci獲取日志路徑,并使用cat命令將文件內(nèi)容輸出即可。

      制作組件的makefile

      與制作phtunnel組件一樣,將所有文件組織成目錄樹(shù),并加入Makefile

      Makefile

      最后同樣將組件復(fù)制到openwrt/package/utils/下,這樣我們可以在配置界面中看到phtunnel-luci-app組件

      選擇以上兩個(gè)組件,充分編譯后,即可在本地的luci界面上使用phtunnel了。

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶(hù) 評(píng)論公約

        類(lèi)似文章 更多