「生活可以更简单, 欢迎来到我的开源世界」
  1. Project V
  2. 安装V2Ray客户端
  3. 配置Socks代理
  4. 配置shell代理
    1. 临时代理
    2. 长期代理
  5. 配置PAC
    1. 生成PAC
    2. Firefox PAC代理设置
    3. 系统PAC代理设置
(转载)在Linux/Manjaro中使用V2Ray
2020-11-24

在Linux/Manjaro中使用V2Ray - DOTIN13’S BLOG (wannaexpresso.com)

Project V

要了解 V2Ray 就必须要知道 Project V,根据官方说法:Project V 是一个工具集合,它可以帮助你打造专属的基础通信网络Project V 的核心工具称为 V2Ray,其主要负责网络协议和功能的实现,与其它 Project V 通信,V2Ray 可以单独运行,也可以和其它工具配合,以提供简便的操作流程。

相对于shadowsocksr来说,它有以下几个优势:

安装V2Ray客户端

客户端软件在发布页,根据你需要的系统下载匹配型号的安装包,我这里以我的系统为例子,其他系统请自行参照官方文档配置。

sudo pacman -S v2ray    #ArchLinux/Manjaro安装v2ray

配置上可以替换/etc/v2ray/config.json文件,参照以下模板自行修改参数即可,注意修改各注释处;或者可以使用配置生成器

config示例:

{
"inbounds": [
{
"port": 1080, // 监听端口
"protocol": "socks", // 入口协议为 SOCKS 5
"sniffing": {
"enabled": true,
"destOverride": ["http", "tls"]
},
"settings": {
"auth": "noauth" //socks的认证设置,noauth 代表不认证,由于 socks 通常在客户端使用,所以这里不认证
}
}
],
"outbounds": [
{
"protocol": "vmess", // 出口协议
"settings": {
"vnext": [
{
"address": "serveraddr.com", // 服务器地址,请修改为你自己的服务器 IP 或域名
"port": 16823, // 服务器端口
"users": [
{
"id": "b831381d-6324-4d53-ad4f-8cda48b30811", // 用户 ID,必须与服务器端配置相同
"alterId": 64 // 此处的值也应当与服务器相同
}
]
}
]
}
}
]
}

V2Ray支持配置多个服务器,那么多个服务器配置的时候,它其实是轮询访问的,也就是说第一个数据包走第一个服务器,第二个数据包走第二个服务器,而不是我们一般认为的第一个服务器被墙了就自动切换到第二个服务器,然后继续传输。

p>路由规则参照 domain-list-community 域名列表,如果该项目中有一整套 google 顶级域名及其子域名,则用 geosite 写成 geosite:google ,如果是普通网站,则使用 domain 写成 domain:google.com

使用v2ray自带了一个检查工具v2ray -test检查json文件

v2ray -test -config /etc/v2ray/config.json  #检查json
V2Ray 4.18.0 (Po) 20190228
A unified platform for anti-censorship.
Configuration OK.

显示OK就表示没问题了,可以开启本机的开机自启服务

systemctl enable v2ray  #开机自启v2ray
systemctl start v2ray #启动v2ray

配置Socks代理

打开系统设置,进入网络设置,配置如下图:

imgSystem Manual Proxy

如果仅需要浏览器代理,可以下载SwitchyOmega浏览器插件,最简配置如下:

imgSwitchyOmega Settings

配置shell代理

为了解决终端下载被墙服务器的安装包失败的问题,可以考虑代理终端。

临时代理

只需要http代理则输入命令export http_proxy=http://proxyAddress:port; 全部协议代理则输入命令export ALL_PROXY=http://proxyAddress:port。 临时代理仅对当前环境有效,重启即失效。

长期代理

sudo gedit ~/.bashrc    #编辑.bashrc文件

在最后追加以下配置。

export http_proxy="http://localhost:port"
export https_proxy="http://localhost:port"

source ~/.bashrc或者重启终端后生效

配置PAC

生成PAC

PAC代理需要生成一个.pac的文件,首先本机安装pip工具

sudo pacman -S python-pip       #安装pip
pip -V #查看pip版本
#-------------------------输出----------------------------
pip 19.0.3 from /usr/lib/python3.7/site-packages/pip (python 3.7)
sudo pip install genpac #使用pip安装genpac,需要root权限
#-------------------------输出----------------------------
Collecting genpac
Downloading https://files.pythonhosted.org/packages/48/fb/b8f9cce57c4ea856e7dd1f9fb917df2896d7e62d43c50ed1af2e50a4e57d/genpac-2.1.0.tar.gz (102kB)
|████████████████████████████████| 112kB 111kB/s
Installing collected packages: genpac
Running setup.py install for genpac ... done
Successfully installed genpac-2.1.0

最后执行以下命令,会生成一个auto.pac文件,无输出结果表示执行成功

genpac --format=pac -o auto.pac --pac-proxy="SOCKS5 127.0.0.1:1080"

Firefox PAC代理设置

PAC文件的绝对路径为file:///etc/v2ray/auto.pac,如下图

imgFirefox PAC Manual Proxy

系统PAC代理设置

gnome桌面为例,PAC文件的绝对路径为file:///etc/v2ray/auto.pac

imgPAC Automatic Proxy

全局代理也可以通过以下命令来设置:

gsettings set org.gnome.system.proxy autoconfig-url file:///etc/v2ray/auto.pac
gsettings set org.gnome.system.proxy mode 'auto'

gsettings set org.gnome.system.proxy.socks host '127.0.0.1'
gsettings set org.gnome.system.proxy.socks port 1088

转引自https://www.teaper.dev/2019/06/02/v2ray/,有修改。

<⇧>