# ssh proxy `ssh proxy` æ¯éè¿å è£ `ssh -D` å®ç°çè¿è¡å¨ `macOS` ä¸ç `ssh` 代ç. å¨ `macOS Sierra Version 10.12.5` ä¸éªè¯éè¿. æ们é常ç¨çå¤ä»£çæ¯ shadowsocks, ä½æ¯å¨å ¬å¸æè 客æ·å é¨, æ们ç `shadowsocks` 代çé常çé½ä¸è½ç¨. å ä¸ºå ¬å¸æè 客æ·ç½ç»é常对ç½ç»ç«¯å£è¿è¡äºéå¶, èæ们买ç `shadowsocks` è´¦å·ç«¯å£ä¸è¬é½æ¯é `22`ã`443` 端å£, æ¯å¦ï¼`24060`ã`1080`, è¿äºç«¯å£æ ¹æ¬å°±åºä¸å». æ以, æ们å¯ä»¥éè¿ `ssh proxy` å©ç¨ `22` å·ç«¯å£å°è¯·æ±ä»£çå°å¤é¨ç `ssh server` ä¸, éè¿ `ssh server` åçå®çæå¡å起请æ±, æå `ssh server` éè¿è¯¥ `ssh` é§éå°è¯·æ±åå¤è¿åç»ç¨æ·. # ç®å½ç»æ ``` ssh-proxy/ âââ README.md âââ autoproxy.pac # èªå¨åæµèæ¬ âââ config.sh # 代çé ç½®æ件 âââ ssh_proxy.sh # 代çå¯å¨å ³éèæ¬ âââ system_proxy_configure.sh # ç³»ç»ç½ç»ä»£çé ç½® ``` # é ç½® é ç½®å¨ `config.sh` ä¸ä¿®æ¹, ä¸é¢å¯¹å 个éè¦çä¿®æ¹é¡¹è¿è¡äºæè¿°. - socks 代çç«¯å£ `127.0.0.1:port`: `ssh proxy` å°å建ä¸ä¸ª `socket`, ç¶å侦å¬æ¬å°ç `port` 端å£. `ssh proxy` éè¿ `127.0.0.1:port` å°ç¨æ·è¯·æ±ä»£çå° `ssh server`. ``` # SOCKS PROXY PORT # Notes: It's the same value with the autoproxy.pac PORT=1090 ``` é»è®¤ç«¯å£é 置为 `1090`. å¦ææ¹äºé»è®¤ç端å£, éè¦åæ¶éè¦ `autoproxy.pac` ä¸è®¾ç½®ç端å£: ``` 1 // Generated by gfwlist2pac in precise mode 2 // https://github.com/clowwindy/gfwlist2pac 3 4 var proxy = "SOCKS5 127.0.0.1:1090; SOCKS 127.0.0.1:1090; DIRECT;"; ``` - 代çæå¡å¨ `ssh client` éè¦è¿æ¥ç `ssh server` ä¿¡æ¯, å æ¬ `ssh server` ç主æºä¿¡æ¯åæå¡ç«¯å£ä¿¡æ¯. ``` # user@host SSH_HOST="username@serverip" # SSH PORT SSH_PORT=22 ``` `SSH_HOST` ç± `username@serverdomain` æè `username@serverip` ç»æ. `SSH_PORT` é»è®¤ä¸º `22`, å¦ææ¹ä¸ºå ¶ä»å¼, å¯è½ä¼ç±äºå ¬å¸æè 客æ·ç½ç»é²ç«å¢å¯¼è´ä»£çè¿ä¸ä¸ `ssh server`. - interface è¿é表示为åªå¼ ç½å¡ä¸çç½ç»è¯·æ±é 置代çæå¡.  ``` # OSX network service to configure proxy for NET_INTERFACE="yl" ``` - æ¥å¿æ件 ``` # Log file for ssh proxy LOG_FILE="${HOME}/sshproxy.log" ``` - ä¸èµ°ä»£ççç½åå ``` # Bypass proxy settings for hosts and domains BYPASS_DOMAINS="127.0.0.1 localhost 169.254/16 192.168/16" ``` # è¿è¡ ssh proxy 代ç ``` bash ./ssh_proxy.sh [on|off|status] ``` å¦ææ们éè¿`å¯é¥`æ¹å¼è¿æ¥ `ssh server`, æ§è¡ `ssh_proxy.sh` å¯å¨ä»£ççæ¶åä¸éè¦ä»»ä½äº¤äº. å¦ææ们éè¿`å¯ç `æ¹å¼è¿æ¥ `ssh server`, æ§è¡ `ssh_proxy.sh` å¯å¨ä»£ççæ¶åéè¦è¾å ¥ç¨æ·å¯ç . # 设置系ç»ç½ç»ä»£ç ``` bash ./system_proxy_configure.sh [on|off|status] ``` å 为该èæ¬éè¦ä¿®æ¹`ç³»ç»ç½ç»ä»£çé ç½®`, æ以å¯è½ä¼éè¦ç¨æ·è¾å ¥ç®¡çå¯ç . # Notes - `ssh_proxy.sh` å `system_proxy_configure.sh` 没æä¸¥æ ¼çå åæ§è¡é¡ºåº, åè è´è´£ä»£çç¨åºç管ç, èåè è´è´£ç³»ç»ç½ç»ä»£ççé ç½®. - å¦å¤ï¼å ¬å¸æè 客æ·å é¨æ们é常æ æ³ä½¿ç¨å¾®ä¿¡ãQQ çåºç¨ï¼æ们å¯ä»¥éè¿ `Proxifier` 软件解å³. 