v2ray - HowardWhile/2021_note GitHub Wiki

v2ray

[TOC]

Server

synology + Docker

https://www.hkepc.com/forum/viewthread.php?fid=219&tid=2422590&page=1

windows

https://github.com/v2fly/v2ray-core/releases/

配置檔 config.json

{
  "inbounds": [
    {
      "port": 54321,
      "protocol": "vmess",
      "settings": {
        "clients": [
          {
            "id": "0b3e8801-8190-4bde-b008-4816efe6a685",
            "alterId": 64
          }
        ]
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom",
      "settings": {}
    }
  ]
}

image-20210225150351458

反向代理

Ngrok

我用ngrok達成 https://ngrok.com/

.\ngrok.exe tcp 54321 
.\ngrok.exe tcp -region ap 54321 # 使用新加坡的伺服器

image-20210225150429306

時好時壞所以把所有區域都一次開啟

start cmd /k ".\ngrok\ngrok.exe tcp -region us 54321"
start cmd /k ".\ngrok\ngrok.exe tcp -region eu 54321"
start cmd /k ".\ngrok\ngrok.exe tcp -region au 54321"
start cmd /k ".\ngrok\ngrok.exe tcp -region ap 54321"

SSH Reverse tunnel

假設要將躲在層層防火牆後面的v2ray Server(Port 54321)與有實體IP的NAS(port 7878)建立類似 Ngrok的Tunnel 。

SSH Server

首先要有一個可以訪問到的SSH server,這邊我用 NAS + Docker + ubuntu + openssh-server來達成

在NAS中佈署ubuntu

我選擇使用ubuntu-upstart的映像檔,才有能力開機自動運行SSH server

image-20210326160845892

到進階設定啟用自動啟動

image-20210326162640780

將SSH server port 與之後隧道要用到的port 設定好

將Docker中SSH server的port 22 映射到NAS實體的 port 2121

SSH隧道port 7878 映射到NAS實體的 port 7878

image-20210326163352934

啟動終端機

image-20210326164034585

建立SSH登入帳號

建立SSH登入要用到的帳號密碼,給帳號sudo權限

adduser <username>
adduser <username> sudo

image-20210326164822972

接下來就可以測試看看用能否用剛剛建立的帳號連上NAS裡面docker的ssh-server

ssh <username>@<NAS_IP> -p 2121

image-20210326165108643

配置SSH server參數

會用到nano編輯SSH server配置檔etc/ssh/sshd_config所以先安裝nano

sudo apt install nano
sudo nano /etc/ssh/sshd_config

使用方向鍵page down將光標移動到文件的結尾貼上下方參數

#This is essential
GatewayPorts yes
#The rest is only for good practice
TCPKeepAlive yes
ClientAliveInterval 10
ClientAliveCountMax 30

image-20210326170434886

按下 Ctrl + X 離開

按下 Y 存檔

按下 Enter 使用原先的檔案名稱

再檢查一下有沒有存檔到

sudo nano /etc/ssh/sshd_config

重新啟動服務

sudo service ssh restart

有給出process ID代表有重啟成功

image-20210326191900471

到此完成SSH server的配置


SSH Client

前往運作v2ray server的電腦

方法一

輸入以下指令開通SSH隧道

將連往NAS(port 7878)的所有通訊導向127.0.0.1(Port 54321)的v2ray Server

-p 2121 是剛才設定的ssh server port

ssh -NfR 7878:127.0.0.1:54321 <username>@<NAS_URL> -p 2121

方法二

如不想打指令可以使用方便的工具MobaXterm

image-20210326193510410

image-20210326193848056

將箭頭處的自動執行斷線自動重連圖示啟動後Start tunnel

image-20210326194211683

大功告成

client

Windows v2rayN

https://github.com/2dust/v2rayN/releases

Android v2rayNG

https://github.com/2dust/v2rayNG/releases

https://play.google.com/store/apps/details?id=com.v2ray.ang

Linux Qv2ray

https://github.com/Qv2ray/Qv2ray/releases/

image-20210326195755721

git

用這個指令可以設定git使用v2ray client的代理

git config --global http.proxy http://127.0.0.1:10809

其他

git-proxy-set.bat

@git config --global http.proxy http://127.0.0.1:10809
@git config --global -l
@PAUSE

git-proxy-unset.bat

@git config --global --unset http.proxy
@git config --global -l
@PAUSE

Chrome

安裝SwitchyOmega配置代理伺服器

image-20210326200128128

這樣切換直接連線與v2ray代理比較方便

image-20210326200224413

FileZilla

image-20210326200400008

⚠️ **GitHub.com Fallback** ⚠️