執行 V2Ray(基本篇)

現在,首先要下載 Putty 來連線到 router.
Putty 下載網址
執筆之時最新版本是 0.7 .

現在大部份電腦都是 64bit OS,所以揀 64bit 都沒有錯
putty all programs
雖然有數個檔案但我們只需要 PuTTY
putty login asus router
IP address 填上 192.168.1.1
putty login asus router
username 和 password 都是 admin
putty login asus router
成功登入

vi 教學

雖然企企 merlin 有 nano,但好像不是所有人都有。
如果沒有的話,就需要使用 Linux 最基本的編輯器 – vi

vi 是所有 Linux 版本都必定會有,用法亦不難,只要將 vi 取代 nano, 例如:

vi /jffs/scripts/v2ray.sh

進入編輯器後,按一下 i,進入輸入模式。

輸入完畢後,按一下 Esc 退出輯輯模式,再打「:wq」
就可以儲存並離開。

如出錯不想儲存的話,按 Esc 退出編輯模式後,就可以打「:q!」離開。

V2ray 設定

現在,首先令 V2ray 開機時自動啓動。
並每分鐘檢查一次 V2ray 有否正常運作,如果沒有運行的話就重新啓動。

nano /jffs/scripts/v2ray-check.sh

複制 & 貼上

#! /bin/sh
case "$(pidof v2ray | wc -w)" in
0)  echo "Restarting V2ray:     $(date)" >> /var/log/v2ray/v2ray-status.log
    nohup /jffs/v2ray/v2ray --config=/jffs/v2ray/config.json >/dev/null 2>&1 &
    ;;
1)  # all ok
    ;;
*)  echo "Removed double V2ray: $(date)" >> /var/log/v2ray/v2ray-status.log
    kill $(pidof v2ray | awk '{print $1}')
    ;;
esac

按 Ctrl + X 退出,之後按 Y 確定儲存,再按一下 Enter 確定檔案名。

這段 script 的意思是檢查 v2ray 有沒有運行,有運行的話就繼續,如果沒有運行的話就再次啓動,如果同時運行 2 個或以上的話就關閉多出的程序。

再將 v2ray-check.sh 加入 services-start

nano /jffs/scripts/services-start

將以下內容複制 & 貼上
(如果已經有內容的話,可以將除 #!/bin/sh 外的內容貼在最底)

#!/bin/sh
#v2ray start
mkdir /var/log/v2ray/
#舊型號router比較慢
#可以設定等待5分鐘以確保網絡起動後才啓動V2ray
#如果新型號的話,60s已經可以了
sleep 300
nohup /jffs/v2ray/v2ray --config=/jffs/v2ray/config.json > /dev/null 2>&1 &
#check v2ray every 15 minute
cru a check-v2ray "*/15 * * * * /jffs/scripts/v2ray-check.sh > /dev/null"

按 Ctrl + X 退出,之後按 Y 確定儲存,再按一下 Enter 確定檔案名。

再在 firewall 開啓 port 10086

nano /jffs/scripts/firewall-start

將以下內容複制 & 貼上

#!/bin/sh

iptables -I INPUT -p tcp --dport 10086 -j ACCEPT

按 Ctrl + X 退出,之後按 Y 確定儲存,再按一下 Enter 確定檔案名。

再輸入以下指令將所有 script 進入可執行狀態。

chmod a+rx /jffs/scripts/*

另外 v2ray 的執行檔亦需要設定為可執行狀態。

cd /jffs/v2ray/
chmod a+rx v2ctl v2ray

V2ray 設定檔

現在設定 V2Ray 的設定檔。

當然又要重覆多次,大家請自行更改 ID。
如果不知如何產生一個新的 UUID 的話,到這個網站抄一個就可以了,它會 rendom 產生一個出來。

cp /jffs/v2ray/vpoint_vmess_freedom.json /jffs/v2ray/config.json
nano /jffs/v2ray/config.json

之後應該可以看到以下內容,只要將 id 更改就可以了。
(大家亦可改用其他 port,不一定需要使用 10086,只要大家設定 client 時使用相同的 port,firewall 亦打開相同的 port 就可以了。)

{
  "log" : {
    "access": "/var/log/v2ray/access.log",
    "error": "/var/log/v2ray/error.log",
    "loglevel": "warning"
  },
  "inbound": {
    "port": 10086,
    "protocol": "vmess",
    "settings": {
      "clients": [
        {
          "id": "23ad6b10-8d1a-40f7-8ad0-e3e35cd38297",
          "level": 1,
          "alterId": 64
        }
      ]
    }
  },
  "outbound": {
    "protocol": "freedom",
    "settings": {}
  },
  "outboundDetour": [
    {
      "protocol": "blackhole",
      "settings": {},
      "tag": "blocked"
    }
  ],
  "routing": {
    "strategy": "rules",
    "settings": {
      "rules": [
        {
          "type": "field",
          "ip": [
            "0.0.0.0/8",
            "10.0.0.0/8",
            "100.64.0.0/10",
            "127.0.0.0/8",
            "169.254.0.0/16",
            "172.16.0.0/12",
            "192.0.0.0/24",
            "192.0.2.0/24",
            "192.168.0.0/16",
            "198.18.0.0/15",
            "198.51.100.0/24",
            "203.0.113.0/24",
            "::1/128",
            "fc00::/7",
            "fe80::/10"
          ],
          "outboundTag": "blocked"
        }
      ]
    }
  }
}

按 Ctrl + X 退出,之後按 Y 確定儲存,再按一下 Enter 確定檔案名。

這個設定檔是最基本的 V2Ray 設定,在防火牆會看到是一個 TCP 連線,雖然暫時仍能翻牆但並非一個較好的方案,最好依然是使用 NGINX + V2Ray。