[心得] PCManX 的 SSH 與 Proxy 功能

看板PCman作者 ([+++++++======>])時間6年前 (2017/10/08 21:35), 編輯推噓5(500)
留言5則, 5人參與, 6年前最新討論串1/1
發這篇文主要是想和大家分享在 PCManX 透過 proxy 連上 BBS 的方法。 感覺 PCManX 裡有好多功能是沒做在操作界面上,只能手動改設定檔來使用的。 我個人目前使用 proxy 的主要目的大概是: (1) 隱藏上站 IP,有些時候不希望讓線上所有人都知道我的實際上站地點。 (2) 某些 BBS 站只能用 Telnet 連線,在網路不安全的地方不方便直接連線。 我知道也有別的方法可以達成目的,可是: (1) VPN 通常需要改預設閘道,會造成現有連線中斷,用起來不方便。 (2) SSH port forwarding 設定簡單,但是忘了開會讓 PCManX 吃滿 CPU 當掉卡住。 所以說我覺得用 proxy 還是最方便的方法。另外我目前使用的 proxy server 實際上都 只是 SSH server,需要使用時才手動用 ssh <user>@<host> -D <port> 這纇的指令在本 機開出來的,所以說我連上 proxy server 時不需要帳號密碼。 ------------------------------------------------------------------------------ 首先是 SSH 設定 proxy 的方法,我覺得這比較容易,因為其實不用改 PCManX 的設定。 第一步當然是啟用 SSH 功能,作法是修改 ~/.pcmanx/favorites 檔案,修改這兩行: URL=bbs@ptt.cc:22 UseExternalSSH=1 這樣下次打開 PCManX 就能用 SSH 連線到 PTT 了。如果把 URL 冒號後面的東西 刪掉,實際上就是 PCManX 傳給 ssh 指令的參數。 第二步是修改 ~/.ssh/config,讓 ssh 指令在連線時可以透過另外一支程式出去, 這裡我使用的是 nmap 套件提供的 ncat 指令。 Host ptt.cc ProxyCommand ncat --proxy=localhost:14011 --proxy-type=socks5 %h %p 其中 localhost:14011 是我使用的 proxy server 的所在位置。 ------------------------------------------------------------------------------ 接著是 Telnet 設定 proxy 的方法,說明文件好像很難找。 這裡我們要用到 PCManX 程式的內建功能,可能要在編譯時 --enable-proxy 才能用。 打開 ~/.pcmanx/favorites 檔案,修改 Proxy 開頭的這幾行: ProxyType=2 ProxyAddr=127.0.0.1 ProxyPort=14011 其中 127.0.0.1 和 14011 同樣是我使用的 proxy server 所在位置。 關於 ProxyType 數字的意思,我們可以在 PCManX 的原始碼找到解釋。 打開 src/core/proxy.h,可以看到: #define PROXY_NONE 0 #define PROXY_SOCKS4 1 #define PROXY_SOCKS5 2 大致上可以看出: 0 表示不使用 proxy 1 表示使用 SOCKS4 2 表示使用 SOCKS5 注意一下別選到 0 就好了。 ------------------------------------------------------------------------------ 另外 PCManX 1.3 有個小 bug 可能導致連線失敗:如果你的設定檔的 URL 那行開頭是 「telnet」這幾個英文字母的其中一個的話,第一個字自動被刪除。 也就是說,假設你在自己的電腦架了一個 BBS,或是你使用的 proxy server 上正好也有 BBS,於是直接在「站台位址」輸入 localhost,會發現連線失敗,因為 localhost 開頭 的 l 字母在 telnet 中有出現過,所以就自動被轉換成 ocalhost 了…… 解決方法是直接輸入 IP 位址,或是去 GitHub 上把 master branch 下載回來用,最新 版已經修正這個問題,但是 PCManX 1.4 不知道什麼時候才會出來。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.30.70 ※ 文章網址: https://www.ptt.cc/bbs/PCman/M.1507469740.A.F7E.html

10/08 22:05, 6年前 , 1F
推個 PCManX !
10/08 22:05, 1F

10/08 23:42, 6年前 , 2F
pcmanx +1 (不過用的是 git 版
10/08 23:42, 2F

10/10 22:45, 6年前 , 3F
可以整理成文件放到網站上
10/10 22:45, 3F

10/15 21:33, 6年前 , 4F
10/15 21:33, 4F

11/12 14:08, 6年前 , 5F
推!
11/12 14:08, 5F
文章代碼(AID): #1PsYciz- (PCman)