HTTP
- 名称:
http - 类型:入站 / 出站
HTTP 的配置分为两部分,InboundConfigurationObject和OutboundConfigurationObject,分别对应入站和出站协议配置中的settings项。
InboundConfigurationObject
{
"timeout": 0,
"accounts": [
{
"user": "my-username",
"pass": "my-password"
}
],
"allowTransparent": false,
"userLevel": 0
}
应该注意,虽然http inbound可以提供公共服务,但http协议没有对传输加密,不适宜经公网中传输,更容易成为被人用作攻击的肉鸡。http inbound更有意义的用法是在局域网或本机环境下监听,为其他程序提供本地服务。
timeout: number
从客户端读取数据的超时设置(秒),0 表示不限时。默认值为 300。 V2Ray 3.1 后等价于对应用户等级的 connIdle 策略。
accounts: [AccountObject]
一个数组,数组中每个元素为一个用户帐号。默认值为空。
当 accounts 非空时,HTTP 代理将对入站连接进行 Basic Authentication 验证。
allowTransparent: true | false
当为true时,会转发所有 HTTP 请求,而非只是代理请求。若配置不当,开启此选项会导致死循环。
userLevel: number
用户等级,所有连接使用这一等级。
AccountObject
{
"user": "my-username",
"pass": "my-password"
}
user: string
用户名,字符串类型。必填。
pass: string
密码,字符串类型。必填。
在 Linux 中使用以下环境变量即可在当前 session 使用全局 HTTP 代理(很多软件都支持这一设置,也有不支持的)。
export http_proxy=http://127.0.0.1:8080/(地址须改成你配置的 HTTP 入站代理地址)export https_proxy=$http_proxy
OutboundConfigurationObject
{
"servers": [
{
"address": "192.168.108.1",
"port": 3128,
"users": [
{
"user": "my-username",
"pass": "my-password"
}
]
}
]
}
(V2ray 4.21.0+)
应该注意,虽然http outbound可以作为对外访问的配置,但http proxy协议没有对传输加密,不适宜经公网中传输,且因不支持udp传输将会导致core功能受限(Routing过程的的DNS查询不可用)。http outbound更有意义的用法是在特殊情况下,只能使用http proxy对外访问内部网络中,作为为其他协议连接代理服务器的前置代理使用(见OutboundObject的ProxySettingsObject)。另因http proxy只能代理tcp协议,udp系的协议均不能通过。
(V2ray 4.21.1+)
4.20.0版本中引入了http outbound作为其他协议的前置代理用法中,缺乏了对tls配置的支持。4.21.1的补丁版本中对streamSettings中的security和tlsSettings保留生效。目前前置代理的用法中,vmess/tcp、vmess/tcp-tls和shadowsocks等三种协议方式可使用,其他传输协议的前置代理用法需后续版本开发支持。
servers: 数组
HTTP代理服务器配置,若配置多个,循环使用 (RoundRobin)。
address: string
HTTP代理服务器地址,必填。
port: int
HTTP代理服务器端口,必填。
user: [AccountObject]
一个数组,数组中每个元素为一个用户帐号。默认值为空。