作者lantw44 ([+++++++======>])
看板PCman
標題[心得] PCManX 的 SSH 與 Proxy 功能
時間Sun Oct 8 21:35:37 2017
發這篇文主要是想和大家分享在 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 檔案,修改這兩行:
[email protected]: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://webptt.com/m.aspx?n=bbs/PCman/M.1507469740.A.F7E.html
1F:推 holishing: 推個 PCManX ! 10/08 22:05
2F:推 CP64: pcmanx +1 (不過用的是 git 版 10/08 23:42
3F:推 WandererM: 可以整理成文件放到網站上 10/10 22:45
4F:推 name2name2: 推 10/15 21:33
5F:推 HardRealTime: 推! 11/12 14:08