解锁无限可能:将V2Ray打造为强大的HTTP代理,畅享开放互联网体验!

解锁无限可能:将V2Ray打造为强大的HTTP代理,畅享开放互联网体验!

背景

由于GFW的限制, 由于技术资料的查询,要是没有goole确实比较难受.所以大家一般有翻墙工具,从ss/ssr,到现在的v2ray,用了v2ray之后确实不用担心被封的问题,但是日常必需要开v2ray的客户端,才能科学上网.如果是手机的话,是没法用的,因为手机没有v2ray的客户端.还有就是各种远程依赖包的下载,比如python/github/goole等国外的依赖包,没法直接用v2ray,需要开代理才可以.如果是本地还好,开启v2ray客户端,默认会在本地启动http代理.但是仅限于本地局域网.如果涉及到跨网或者服务端的话,那就暂时没法了.(当然开远程映射可以解决,但是你要确保你的客户端随时在线)

有没有1种方法能不能讲v2ray转换http代理提供服务?
当然有!!! 参考如下

步骤

(1)配置文件定义

config.json 修改accounts、users即可

{
    "log": {
        "access": "",
        "error": "",
        "loglevel": "error"
    },
    "inbounds": [
        {
            "tag": "socks-in",
            "port": 1080,
            "listen": "::",
            "protocol": "socks",
            "settings": {
                "auth": "password",
                "udp": true,
                "ip": "127.0.0.1",
                "accounts": [
                {
                  "user": "admin",
                  "pass": "xxxxxxxxxxx"
                }
                ]
            }
        },
        {
            "tag": "http-in",
            "port": 8123,
            "listen": "::",
            "protocol": "http",
            "settings": {
                "timeout": 0,
                "accounts": [
                {
                  "user": "admin",
                  "pass": "xxxxxxxxxxx"
                }
                ],
                "allowTransparent": false,
                "userLevel": 0
            }
        }
    ],
    "outbounds": [
        {
            "protocol": "vmess",
            "settings": {
                "vnext": [
                    {
                        "address": "x.x.x",
                        "port": 22227,
                        "users": [
                            {
                                "email": "admin@v2ray.com",
                                "id": "23dsdasaeawwd-33ddsda-46d4-878f-d12312313123",
                                "alterId": 0,
                                "security": "auto"
                            }
                        ]
                    }
                ]
            },
            "streamSettings": {
                "network": "tcp"
            },
            "mux": {
                "enabled": true
            },
            "tag": "proxy"
        },
        {
            "protocol": "freedom",
            "tag": "direct",
            "settings": {
                "domainStrategy": "UseIP"
            }
        }
    ],
    "dns": {
        "servers": [
            "223.5.5.5",
            "localhost"
        ]
    },
    "routing": {
        "domainStrategy": "IPIfNonMatch",
        "rules": [
            {
                "type": "field",
                "ip": [
                    "geoip:private",
                    "geoip:cn"
                ],
                "outboundTag": "direct"
            },
            {
                "type": "field",
                "domain": [
                    "geosite:cn"
                ],
                "outboundTag": "direct"
            }
        ]
    }
}

(2)启动docker服务

docker在config.json同级目录

docker run --name v2 -v $PWD:/etc/v2ray -p 58888:8123 -d --restart=always --cpus 1 -m 512MB registry.cn-guangzhou.aliyuncs.com/mgpublic/v2ray-official:latest

(3)使用代理科学上网

1.临时设置代理

export http_proxy=http://huanggm:password@v2.abc.com:58888/
export https_proxy=http://huanggm:password@v2.abc.com:58888/
export ftp_proxy=http://huanggm:password@v2.abc.com:58888/

2.永久设置

将以上配置追加到/etc/profile即可,只针对某个用户而言,则修改 ~/.bash_profile 文件

3.curl命令行临时设置代理

#查询IP
curl -U huanggm:password  -x v2.abc.com:58888   -L ip.sb

curl -U huanggm:password  -x v2.abc.com:58888   -L ipinfo.io

curl -U huanggm:password  -x v2.abc.com:58888   -L ip.tool.lu

curl -U huanggm:password  -x v2.abc.com:58888   -L myip.ipip.net

curl -x "http://huanggm:password@v2.abc.com:58888 " "http://httpbin.org/ip"

4.直接在pip时设置代理

pip3 install –proxy http://代理地址:代理端口号 软件名称

5.yum代理设置

/etc/yum.conf添加以下内容

proxy=http://代理服务器IP地址:端口号
proxy_username=代理服务器用户名
proxy_password=代理服务器密码

6.git代理设置

git config --global https.proxy https://proxyuser:proxypassword@ip/域名:port

git config --global http.proxy http://proxyuser:proxypassword@ip/域名:port

7.代理配置中的一些特殊字符

! --> %21    # --> %23    $ --> %24    & --> %26    ' --> %27

( --> %28    ) --> %29    * --> %2A    + --> %2B    , --> %2C

/ --> %2F    : --> %3A    ; --> %3B    = --> %3D    ? --> %3F

@ --> %40    [ --> %5B    ] --> %5D

例如:
代理账户:admin
代理密码:admin@33ssdsad 其中@为特殊字符
代理服务器: http://192.168.1.100:8080
进行全局代理的时候,需要按照如下配置

http://admin:admin%4033ssdsad@192.168.1.100:8080