Holer exposes local servers behind NATs and firewalls to the public internet over secure tunnels. html
Support forwarding message based on TCP protocol.java
Holer是一個將局域網中的應用映射到公網訪問的端口映射軟件,支持轉發基於TCP協議的報文。linux
Holer支持如下兩種使用方式,根據實際需求,任選其中一種方式便可:nginx
方式一: git
使用公開的holer映射或者開通holer服務,經過holer客戶端軟件經holer服務器實現公網訪問,詳見2.1節。github
方式二:spring
使用holer服務端軟件搭建holer服務,經過holer客戶端軟件經本身服務器實現公網訪問,詳見2.2節。sql
Holer客戶端軟件有Java版本詳見2.1.1節和Go版本詳見2.1.2節,根據偏好,任選其中一種版本使用便可。數據庫
若是下載holer軟件遇到問題,更多的下載地址詳見3.2節。windows
方式一: 使用公開的holer映射或者開通holer服務,經過holer客戶端軟件經holer服務器實現公網訪問。
公開的holer映射詳情以下:
訪問密鑰 | 訪問域名 | 公網地址 | 本地地址 | 使用場景 |
---|---|---|---|---|
HOLER_CLIENT-2F8D8B78B3C2A0AE | holer65530.wdom.net | holer.org:65530 | 127.0.0.1:8080 | WEB |
HOLER_CLIENT-3C07CDFD1BF99BF2 | holer65531.wdom.net | holer.org:65531 | 127.0.0.1:8088 | WEB |
HOLER_CLIENT-2A623FCB6E2A7D1D | holer65532.wdom.net | holer.org:65532 | 127.0.0.1:80 | WEB |
HOLER_CLIENT-AF3E6391525F70E4 | N/A | holer.org:65533 | 127.0.0.1:3389 | 遠程桌面 |
HOLER_CLIENT-822404317F9D8ADD | N/A | holer.org:65534 | 127.0.0.1:22 | SSH |
HOLER_CLIENT-27DD1389DF1D4DBC | N/A | holer.org:65535 | 127.0.0.1:3306 | 數據庫 |
這裏以映射本地Tomcat默認端口8080爲例,選擇表中的第一條映射進行配置;若是Web服務端的端口是80或者8088,請選擇相匹配的端口映射,其餘TCP端口映射步驟相似,更多的使用示例請參考官方文檔。
Java版本的holer客戶端軟件(源代碼,軟件包)是由Java語言實現,支持跨平臺。
安裝Java 1.7或者更高版本,執行命令 java -version
檢查Java是否可用。
以Tomcat爲例,安裝並啓動Tomcat,默認安裝的端口是8080;
在瀏覽器裏輸入以下URL來檢查Tomcat服務是否能夠正常訪問:
http://127.0.0.1:8080
下載並解壓軟件包holer-client.zip
修改配置文件:
holer-client/conf/holer.conf
設置HOLER_ACCESS_KEY
以下:
HOLER_ACCESS_KEY=HOLER_CLIENT-2F8D8B78B3C2A0AE
進入目錄:
cd holer-client/bin
Windows系統:
執行命令 startup.bat
或雙擊 startup.bat
若是須要中止進程,執行命令shutdown.bat
或雙擊shutdown.bat
Linux系統:
執行命令 bash startup.sh
若是須要中止進程,執行命令 bash shutdown.sh
而後就能夠經過以下URL來訪問Web應用:
http://holer65530.wdom.net
或者 http://holer.org:65530
進入目錄:
cd holer-client/bin
Windows系統:
雙擊 setup.vbs
注意事項:
請確保當前用戶對以下目錄具備讀取、寫入、執行、修改等權限:
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
Linux系統:
執行命令 bash setup.sh
注意事項:
CentOS 7, RedHat 7, Ubuntu 18 及更高版本,建議執行命令bash setup-service.sh
設置開機啓動;
根據提示輸入holer access key和holer server host
輸入示例:
------------------------------------------ Enter holer access key: HOLER_CLIENT-2F8D8B78B3C2A0AE ------------------------------------------ Enter holer server host: holer.org ------------------------------------------
Go版本的holer客戶端軟件(源代碼,軟件包)是由GO語言實現,支持多種操做系統和硬件架構。
以Tomcat爲例,安裝並啓動Tomcat,默認安裝的端口是8080;
在瀏覽器裏輸入以下URL來檢查Tomcat服務是否能夠正常訪問:
http://127.0.0.1:8080
根據實際的系統平臺,選擇匹配的軟件包下載並解壓holer-xxx.tar.gz
這裏以Windows & Linux x86-64bit
爲例,啓動holer執行以下命令:
Windows系統:
holer-windows-amd64.exe -k HOLER_CLIENT-2F8D8B78B3C2A0AE -s holer.org
也能夠執行命令 startup.bat
或者雙擊 startup.bat
若是須要中止進程,執行命令shutdown.bat
或雙擊shutdown.bat
Linux系統:
nohup ./holer-linux-amd64 -k HOLER_CLIENT-2F8D8B78B3C2A0AE -s holer.org &
也能夠執行命令 bash startup.sh
若是須要中止進程,執行命令 bash shutdown.sh
首次啓動根據提示輸入holer access key和holer server host
輸入示例:
------------------------------------------ Enter holer access key: HOLER_CLIENT-2F8D8B78B3C2A0AE ------------------------------------------ Enter holer server host: holer.org ------------------------------------------
進入目錄:
cd holer-client/bin
Windows系統:
雙擊 setup.vbs
注意事項:
請確保當前用戶對以下目錄具備讀取、寫入、執行、修改等權限:
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
Linux系統:
執行命令 bash setup.sh
注意事項:
CentOS 7, RedHat 7, Ubuntu 18 及更高版本,建議執行命令bash setup-service.sh
設置開機啓動;
根據提示輸入holer access key和holer server host
輸入示例:
------------------------------------------ Enter holer access key: HOLER_CLIENT-2F8D8B78B3C2A0AE ------------------------------------------ Enter holer server host: holer.org ------------------------------------------
方式二: 使用holer服務端軟件搭建holer服務,經過holer客戶端軟件經本身服務器實現公網訪問。
用戶也能夠下載 holer-server.zip 搭建本身的holer服務。
若是下載holer軟件遇到問題,更多的下載地址詳見3.2節。
(1) 準備一臺能夠經公網IP訪問的Linux系統或者Windows系統主機;
(2) 安裝Java 1.8及以上版本,執行命令 java -version
檢查Java是否可用;
(3) 安裝並啓動Nginx, 建議安裝其穩定版本;
(4) 安裝MariaDB並設置root用戶密碼;
(5) 設置安全規則,容許訪問holer服務端端口6060、600以及端口映射規則所涉及的端口;
(6) 建議申請域名而且完成域名備案,並設置域名泛解析(*.域名)和直接解析主域名(@.域名),若是沒有域名能夠直接使用IP和端口訪問。
解壓軟件包,打開配置文件 holer-server/resources/application.yaml
spring: datasource: username: root password: 123456
holer domain: name: your-domain.com nginx: #home: /usr/local/nginx home: C:/nginx-1.14.2
將示例中的域名your-domain.com
修改爲本身備案過的域名,若是沒有域名,請忽略該配置項。
Linux系統默認安裝Nginx路徑 /usr/local/nginx
Windows系統中能夠先將Nginx複製到某個目錄下,而後在配置文件中指定其主目錄。
注意事項:
請確保Nginx主目錄下存在配置文件:conf/nginx.conf
Nginx目錄結構示例:
Nginx主目錄 ├── conf │ ├── nginx.conf . . . .
若是須要用到HTTPS功能,Window系統版本的Nginx默認支持HTTPS功能,Linux系統須要下載Nginx源碼,配置和編譯以及安裝執行以下命令:
./configure --with-http_ssl_module make;make install
Linux系統執行啓動命令以下:
cd holer-server chmod 755 holer bash holer start
若是須要中止進程,執行命令bash holer stop
Windows系統執行啓動命令以下:
cd holer-server startup.bat
或者雙擊 startup.bat
若是須要中止進程,執行命令shutdown.bat
或雙擊shutdown.bat
進入目錄:
cd holer-server/bin
Windows系統:
雙擊 setup.vbs
注意事項:
請確保當前用戶對以下目錄具備讀取、寫入、執行、修改等權限:
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
Linux系統:
執行命令 bash setup.sh
注意事項:
CentOS 7, RedHat 7, Ubuntu 18 及更高版本,建議執行命令bash setup-service.sh
設置開機啓動。
若是配置文件application.yaml
中設置了域名,而且指定了Nginx主目錄,則在瀏覽器輸入URL http://holer.your-domain.com
若是沒有設置域名訪問,則經過IP和端口登陸系統 http://IP地址:600
登陸系統須要輸入默認的管理員帳號,默認用戶名: admin
密碼: admin123
用戶也能夠在文件holer-server/resources/conf/holer-data.sql
中修改默認的用戶名和密碼,而後重啓holer服務端使其生效。
在用戶列表頁面中建立一個holer客戶端
http://holer.your-domain.com/view/holer-client.html
在端口映射頁面中爲該holer客戶端建立端口映射
http://holer.your-domain.com/view/holer-port.html
在數據統計頁面中查看報表信息
http://holer.your-domain.com/view/holer-report.html
在用戶列表頁面中選中一條客戶端記錄,在頁面右上角點擊詳情按鈕,彈出的詳情框下點擊複製按鈕;
而後將詳情信息粘貼到記事本里,請嚴格按照詳情信息裏的使用說明進行操做,這樣能夠順利完成holer客戶端配置,從而實現基於本身holer服務端的端口映射功能。
得到更多的holer使用示例,請參考官方文檔。
使用中遇到問題能夠查看holer日誌信息來排查問題的具體緣由。
查看日誌文件:holer-client/logs/holer-client.log
Linux系統
查看可執行程序所在目錄下的日誌文件logs/holer-client.log
或者nohup.out
文件。
Windows系統
查看可執行程序所在目錄下的日誌文件logs/holer-client.log
查看日誌文件:holer-server/logs/holer-server.log
用戶可使用上述公開的holer映射詳見2.1節,也能夠申請holer服務;
Holer服務詳情,請訪問Wisdom