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