mirror of
https://github.com/e1732a364fed/v2ray_simple.git
synced 2025-12-24 13:27:56 +08:00
63 lines
2.7 KiB
TOML
63 lines
2.7 KiB
TOML
# 本文件使用tproxy作为客户端监听协议. 服务端配置文件 直接使用 vlesss.server.toml 即可
|
||
|
||
# 相关配置和讲解 可以对照 https://toutyrater.github.io/app/tproxy.html
|
||
# 比如如何配置iptables, 要好好看上面教程. 原理都是一样的, 只是配置文件略有区别。
|
||
|
||
# 我们不像v2ray/xray一样 使用 dokodemo的额外配置来处理tproxy,而是单独使用 tproxy作为一个协议.
|
||
|
||
# tproxy只支持客户端, 且目前只支持linux/macos系统
|
||
|
||
# 在macos中,不需要额外参数,但是仅支持ipv4和tcp。而且macos 12/13 系统上的 pfctl有bug,无法配置路由.
|
||
# 建议mac上还是用tun的方法.
|
||
|
||
[[listen]]
|
||
protocol = "tproxy"
|
||
ip = "0.0.0.0" # 这里不要填 127.0.0.1了,否则只会转发本机流量,而一般作为透明代理都是为了转发局域网内其它设备的流量的。
|
||
port = 12345
|
||
# sockopt.tproxy = true # 不需要明示指明 tproxy这个 sockopt, 因为protocol指出tproxy后就会自动配置该项.
|
||
|
||
# 不用指明network, 只要指明了tproxy, 就会同时自动监听 tcp和 dup.
|
||
# 但是如果你指明了 network = tcp, 就不会转发udp, 你指明了 network = udp 的话,就不会转发 tcp.
|
||
|
||
#extra = { auto_iptables = true }
|
||
# 如果给出了 auto_iptables, 且 【protocol 为 tproxy 的listen】【只有一个】,
|
||
# 则程序会自动配置路由表
|
||
# linux上,程序会自动在开始监听前配置好iptables,并在程序退出前 清除iptables中被程序改动的部分。
|
||
|
||
# linux上, auto_iptables 会一字不差地运行 上面 给出的 toutyrater 的教程中的 iptables命令。
|
||
|
||
|
||
[[dial]]
|
||
protocol = "vlesss"
|
||
uuid = "a684455c-b14f-11ea-bf0d-42010aaa0003"
|
||
host = "127.0.0.1"
|
||
port = 4433
|
||
version = 0
|
||
insecure = true
|
||
utls = true
|
||
|
||
sockopt.mark = 255 #linux 上, 根据上面 toutyrater 给出的 iptables命令,我们这里要设置 mark为255. 看一下 上面 toutyrater的教程吧!
|
||
|
||
# sockopt.device = "eth32423"
|
||
|
||
# vs还支持 bindToDevice功能,可以指定 某一个网卡 来监听 或者拨号.
|
||
# 绑定网卡也是一个 避免回环的办法。如果你看了 toutyrater的教程,你就知道,它的iptable的命令很复杂,还包括
|
||
# 打 somark,都是为了避免回环存在的。如果你用 bindToDevice,你的iptable所需的命令就会减少
|
||
|
||
|
||
# macOS 透明代理路由命令参考:
|
||
|
||
# sudo sysctl -w net.inet.ip.forwarding=1
|
||
|
||
# 创建一个文件,pf.conf , 内容为:
|
||
|
||
# rdr pass on en0 inet proto tcp to any port {80, 443} -> 127.0.0.1 port 8080
|
||
|
||
# sudo pfctl -f pf.conf
|
||
# sudo pfctl -e
|
||
|
||
# 查看效果
|
||
# sudo pfctl -s nat
|
||
|
||
# 如果想停止使用透明代理访问,禁用pf(sudo pfctl -d)或者清空pf规则(sudo pfctl -F all)即可。
|