[TOC] #### 1. 前言 --- natapp 官網(wǎng):<https://natapp.cn> 我的邀請(qǐng)碼:6B4B762E(購(gòu)買隧道時(shí)使用該邀請(qǐng)碼可享九折優(yōu)惠) natapp 是基于 ngrok 的國(guó)內(nèi)高速內(nèi)網(wǎng)映射工具,也就是內(nèi)網(wǎng)穿透工具 內(nèi)網(wǎng)穿透:簡(jiǎn)單來(lái)說(shuō)就是將內(nèi)網(wǎng)外網(wǎng)通過(guò) natapp 隧道打通,讓內(nèi)網(wǎng)的數(shù)據(jù)可以通過(guò)外網(wǎng)訪問(wèn) 作為程序員,我使用 natapp 的最多場(chǎng)景是:本地項(xiàng)目演示、微信本地開發(fā)調(diào)試(公眾號(hào)網(wǎng)頁(yè)授權(quán)登錄、支付回調(diào)) #### 2. 下載 --- Windows 和 Mac 客戶端下載后都是一個(gè)壓縮包 Windows 的壓縮包中只有一個(gè) natapp.exe 文件,Mac 壓縮包中只有一個(gè) natapp 文件  #### 3. 運(yùn)行 --- 1分鐘快速新手圖文教程:<https://natapp.cn/article/natapp_newbie> natapp 支持兩種運(yùn)行方式:config.ini、終端命令參數(shù) ##### config.ini 在 natapp(Mac) 或 natapp.exe(Windows) 同級(jí)目錄創(chuàng)建 config.ini 文件,文件內(nèi)容如下所示 ```bash #將本文件放置于 natapp 同級(jí)目錄 程序?qū)⒆x取 [default] 段 #在命令行參數(shù)模式如 natapp -authtoken=xxx 等相同參數(shù)將會(huì)覆蓋掉此配置 #命令行參數(shù) -config=可以指定任意 config.ini 文件 [default] authtoken= #對(duì)應(yīng)一條隧道的 authtoken clienttoken= #對(duì)應(yīng)客戶端的 clienttoken,將會(huì)忽略 authtoken,若無(wú)請(qǐng)留空 log=none #log 日志文件,可指定本地文件, none=不做記錄,stdout=直接屏幕輸出,默認(rèn)為 none loglevel=ERROR #日志等級(jí) DEBUG, INFO, WARNING, ERROR 默認(rèn)為 DEBUG http_proxy= #代理設(shè)置 如 http://10.123.10.10:3128 非代理上網(wǎng)用戶請(qǐng)務(wù)必留空 ``` 在 Mac 和 Linux 中,需要給 natapp 執(zhí)行權(quán)限,執(zhí)行以下命令即可?!網(wǎng)indows 跳過(guò)這一步】 ``` chmod a+x natapp ``` Mac OS 運(yùn)行以下命令 ``` ./natapp ``` Windows 運(yùn)行以下命令或雙擊 natapp.exe 文件都可以 使用技巧:因?yàn)橹苯与p擊 natapp.exe 文件就可以啟動(dòng) natapp,所以可將 natapp 放在某個(gè)盤符中,創(chuàng)建 natapp.exe 文件的快捷方式到桌面,在桌面雙擊運(yùn)行即可 ``` natapp ``` ##### 終端命令參數(shù) Mac OS 同樣給予可執(zhí)行權(quán)限后,然后再運(yùn)行 natapp 命令 ```bash # 給予可執(zhí)行權(quán)限 chmod a+x natapp # 運(yùn)行 natapp ./natapp -authtoken=xxxx ``` Windows 終端進(jìn)入 natapp.exe 目錄,執(zhí)行以下命令 ```bash natapp -authtoken=xxxx ``` #### 4. 多開 --- 普通多開:打開多個(gè)終端窗口,每個(gè)終端窗口開始一個(gè)隧道,Mac、Windows 都適用 弊端:每次都要運(yùn)行多個(gè)窗口,還要手動(dòng)復(fù)制多個(gè) authtoken,這種方式有點(diǎn)麻煩,繼續(xù)往下看,有更好的方案 ```bash # 隧道1 natapp -authtoken=xxxx # 隧道2 natapp -authtoken=xxxx ``` Windows 可以創(chuàng)建 bat 文件實(shí)現(xiàn)多開,文件內(nèi)容如下所示 將 bat 文件放于 natapp.exe 同級(jí)目錄,雙擊運(yùn)行 bat 文件即可實(shí)現(xiàn)同時(shí)打開多個(gè) natapp ```bash start natapp -authtoken=xxxx start natapp -authtoken=xxxx ``` 在 Mac 系統(tǒng)中,可通過(guò) Shell 腳本實(shí)現(xiàn)單條命令多開 natapp 隧道 單命令多開方案: + 通過(guò) `&` 符號(hào)實(shí)現(xiàn)后臺(tái)并行運(yùn)行多個(gè)隧道 + 自動(dòng)生成可執(zhí)行腳本,后續(xù)只需運(yùn)行該腳本即可實(shí)現(xiàn)一鍵多開 ```bash # 創(chuàng)建并運(yùn)行多開腳本 echo './natapp -authtoken=xxx &\n./natapp -authtoken=xxx &' > natapp.sh # 可執(zhí)行權(quán)限 chmod +x natapp.sh # 運(yùn)行腳本,開啟多個(gè)隧道 ./natapp.sh ``` 關(guān)閉隧道 ```bash # 查看 natapp 進(jìn)程 ps -ef | grep natapp # 結(jié)束指定隧道的進(jìn)程,即可關(guān)閉隧道 kill -9 PID ```