wangzhi

wangzhi

狗骑吕步
github

小米4A路由器(千兆版)刷機

緣起#

~ 家裡裝了台式機不用也是閒著,想遠程訪問分享文件跑一些程序之類,其實最根本的原因就是 xray 需要客戶端安每個手機都要安裝 app 才能用
所以很繁瑣,想著能不能把準備一台設備然後在上面跑代理,然後其他的客戶端就能直接配置地址,config.json 統一管理,剛開始用的是手機 app 開啟允許局域網訪問但是這樣手機要全天開機,而且延遲好像也比較高,也就是所有的請求走手機,然後手機進行分流繞了一大圈,
然後了解到了 Openwrt 可以直接在上面跑程序,xray 又是 golang 編寫的 可以直接編譯到嵌入式上運行!🐓 nice!

準備材料#

操作步驟#

先把 openwrt 固件上傳到 tmp 下,刷完之後等待重啟即可

cd /tmp

mtd -e OS1 -r write openwrt-21.02.3-ramips-mt7621-xiaomi_mi-router-4a-gigabit-squashfs-sysupgrade.bin OS1

注意事項#

  • 千萬不要刷 breed (不死鳥) 這裡面參數和小米 4A 固件根本不一致,刷入 breed 之後會導致刷進去的固件無限重啟,直接使用 mtd 命令刷入即可,想要恢復官方的固件使用官方的恢復工具直接就恢復了,很簡單
  • 如果刷入了 breed, 使用 breed 刷入導致無限重啟,開機的時候長按 rest 按鈕 可以通過 ssh 連接到 breed 然後在 breed 下也能使用 mtd 刷入 Openwrt 固件,最開始的時候不知道,以為變磚了拼夕夕買了個土豪金 ch341 編程器 夾住 flash 上直接刷的
  • 開啟端口轉發之後會有很多的國外 ip 嘗試登錄,因為我的是讓光貓橋接,路由器撥號 ip 暴露在公網上面,就很煩,把相關的用不到的配置全都關掉,端口限制 mac 地址或者指定 ip 訪問,路由器配置禁用密碼登錄,開啟 ssh 密鑰登錄能預防很多的攻擊

公網訪問#

網站常用的 443 和 80 端口根本用不了,這兩個端口直接從運營商那邊攔截掉了

  • 想要公網訪問怎麼操作?

    一般來說普通人肯定是推薦 DDNS, 路由器內置的也有,比如花生殼 DDNS , 但是這個免費的 DDNS 域名非常長很難記住,所以我買一個好記的域名

  • DDNS 大致原理

    因為使用路由器撥號是動態 IP, 當你重啟路由器後會重新撥號,這個時候就會變成一個新的 IP , 域名綁定了就會失效,DDNS 就是每間隔 10 分鐘或者 5 分鐘,檢查一下當前的 ip 和域名解析的 ip 是否對得上,對不上時執行重新解析,明白了這個原理就簡單了
    寫個程序運行在路由器上面,設置開機啟動,每間隔 5 分鐘檢查一次,如果不同則調用解析接口更新下域名解析,(騰訊雲買的域名是支持的)

  • 訪問家裡的設備

    通過端口轉發,比如 192.168.1.1:22 是樹莓派,然後可以綁定公網 domain.com:2222 通過路由器轉發到 192.168.1.1:22 就能直接訪問家裡的設備了,設備記得開啟防火牆,密碼設置難破解一些,openwrt 防火牆轉發那裡配置好一些安全限制,避免被攻擊

運行 xray#

~ 刷完之後肯定要運行 xray 了畢竟這個才是主要需求,然後想要通過 openwrt 官方的軟件安裝總是提示內存不足,很奇怪,一看我的路由器 運行內存有 128M 存儲只有 16M, 裝完 openwrt 之後就剩 8M 了,xray 即使使用 upx 壓縮之後還有將近 9M 根本放不下
還有一點。路由器的/tmp 其實就是內存的映射。這裡面的文件在設備重啟之後就會清空,雖然硬盤只有 16M 你在 tmp 下 放入 80M 的文件也沒問題無非是重啟後丟失,當然為了精簡節省內存能小一點自然最好
/overlay 這個目錄是持久存儲,路由器重啟也不會丟失,可以把 xray 放在這裡之後配置開機自啟動

  • 精簡 xray-core 根據官方的 1.8.4 版本 把能刪的都刪了就保留基本功能 在 op 下使用 ls -lh 查看僅有 4.2M, 這個是 upx 之後的

之後在手機上 wifi 內直接配置手動代理,填上路由器的地址和 xray 對應的端口號就能訪問油管了

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。