MacOS科学上网

本文将介绍如何在MacOS上采用VMess协议与墙外VPS通信,其中主要用到了v2ray这款开源工具。

服务端安装(Centos)

因为我选择的VPS的Centos的操作系统,所以此章节主要基于Centos操作系统来描述。

  1. 安装包下载:wget https://github.com/v2ray/v2ray-core/releases/download/v2.40/v2ray-linux-64.zip
  2. 解压安装包到/opt目录:unzip v2ray-linux-64.zip -d /opt
  3. 编写配置文件:
     cd /opt/v2ray-v2.40-linux-64
     vi config.json
    
    config.json内容:
     {
         "log" : { // 日志输出配置
             "access": "/var/log/v2ray/access.log",
             "error": "/var/log/v2ray/error.log",
             "loglevel": "warning"
         },
         // 对外提供 vmess 协议
         "inbound": {
             "port": 28399,  // 监听端口
             "protocol": "vmess",
             "settings": {
                 "clients": [{
                     "id": "3b129ddd-72a3-4d28-aeee-028a0fe86e33", // 可以随机生成一个,但必须保证服务端ID与客户端ID必须保持一致
                     "level": 1,
                     "alterId": 64,
                     "security": "aes-128-gcm"
                 }]
             }
         },
         "outbound": {
             "protocol": "freedom",
             "settings": {}
         },
         "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"
                 }]
             }
         }
     }
    
  4. 启动v2ray服务:/opt/v2ray-v2.40-linux-64/v2ray -config=/opt/v2ray-v2.40-linux-64/config.json > v2ray.log &

客户端安装(MacOs)

  1. 安装包下载:wget https://github.com/v2ray/v2ray-core/releases/download/v2.40/v2ray-macos.zip
  2. 解压安装包到/usr/local/opt目录:unzip v2ray-linux-64.zip -d /usr/local/opt
  3. 编写配置文件:
     cd /usr/local/opt/v2ray-v2.40-linux-64
     vi config.json
    
    config.json内容:
     {
         "log" : {
             "access": "/var/log/v2ray/access.log",
             "error": "/var/log/v2ray/error.log",
             "loglevel": "warning"
         },
         // 对外提供 socks5 协议
         "inbound": {
             "port": 1080, // 监听端口
             "protocol": "socks", // 入口协议为 SOCKS 5
             "settings": {
                 "auth": "noauth"  //socks的认证设置,noauth 代表不认证,由于 socks 通常在客户端使用,所以这里不认证
             }
         },
         "outbound": {
             "protocol": "vmess", // 出口协议,对应服务端的入口协议
             "settings": {
                 "vnext": [{
                     "address": "serveraddr.com", // 服务器地址,请修改为你自己的服务器 ip 或域名
                     "port": 28399,  // 服务器端口,对应服务器端入口的端口
                     "users": [{
                         "id": "3b129ddd-72a3-4d28-aeee-028a0fe86e33", // 用户ID, 服务端ID与客户端ID必须保持一致
                         "alterId": 64 // 此处的值也应当与服务器相同
                     }]
                 }]
             }
         },
         "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"
                 }]
             }
         }
     }
    
  4. 启动v2ray服务:/usr/local/opt/v2ray-v2.40-linux-64/v2ray -config=/usr/local/opt/v2ray-v2.40-linux-64/config.json > v2ray.log &

客户端安装的另一种方式(基于Docker安装)

  1. 下载镜像: docker pull v2ray/official
  2. 编写配置文件:
     mkdir -p ~/v2ray
     cd ~/v2ray
     vi config.json # 内容请参考客户端安装(MacOs)
    
  3. 创建容器:
     docker run -d --restart=always --name v2ray -v ~/v2ray:/etc/v2ray -p 1080:1080 v2ray/official v2ray -config=/etc/v2ray/config.json
    

    -p 后面跟的端口为config.jsoninbound配置的监听端口

  4. 校验容器是否创建成功:docker container ls
  5. 启动容器:docker start
  6. 停止v2ray:docker stop v2ray
  7. 重启v2ray:docker restart v2ray
  8. 查看日志:docker container log v2ray

更多参考资料

可能遇到的问题

  1. 客户端版本与服务端版本不匹配是,可能会出现服务端报错:rejected Proxy|VMess|Encoding: invalid auth

   转载规则


《MacOS科学上网》 Angus_Lu 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
Geetest拖拽验证码破解思路(java) Geetest拖拽验证码破解思路(java)
项目中有个需求希望能获取公司的工商注册信息,刚开始是想与第三方数据公司合作,因种 种原因合作没有达成。于是想做个爬虫直接从工商局的《企业信用信息公示系统》中获取。 要想从《企业信用信息公示系统》中爬取数据,首先必须解决掉Geetest验证码
2017-11-24 16:29:56
下一篇 
Hello World! Hello World!
Hello World!这是我的第一篇博客,感谢Hexo提供了一个简单好用的博客框架,感谢NexT优雅的的主题。此博客是本人的一个杂记。为什么叫杂记?其实就是一些乱七八糟的东西,可能是曾经的一些技术笔记,也可能是一些技术专题的连载,也可能是
2017-11-21 12:35:00 Angus_Lu
  目录