История изменений
Исправление ValdikSS, (текущая версия) :
Минимальный конфиг выглядит как-то так:
{
"log": {
"loglevel": "warning"
},
"inbounds": [{
"port": 5555,
"listen": "::",
"tag": "dokodemo-in",
"protocol": "dokodemo-door",
"settings": {
"network": "tcp",
"followRedirect": true
}
}],
// List of outbound proxy configurations.
"outbounds": [{
"protocol": "freedom"
}],
"policy": {
"levels": {
"0": {
"handshake": 15,
"connIdle": 300,
"uplinkOnly": 0,
"downlinkOnly": 0,
"bufferSize": 16
}
},
"system": {
"statsInboundUplink": false,
"statsInboundDownlink": false,
"statsOutboundUplink": false,
"statsOutboundDownlink": false
}
}
}
На порту 5555 будет TCP-прокси, в который нужно перенаправлять трафик iptables’ом.
Документацию лучше читать на китайском: https://www.v2fly.org/config/overview.html
У v2fly есть свой буфер данных (bufferSize
), но я не могу придумать, зачем он может быть вообще нужен, если честно. В вашем случае достаточно обычного поведения ядра.
Потюньте net.ipv4.tcp_wmem
/net.ipv4.tcp_rmem
, в зависимости от BDP (устанавливать нужно значение max в 2 раза выше, чем выдаёт калькулятор Window Size, при условии стандартного net.ipv4.tcp_adv_win_scale=1
).
Исходная версия ValdikSS, :
Минимальный конфиг выглядит как-то так:
{
"log": {
"loglevel": "warning"
},
"inbounds": [{
"port": 5555,
"listen": "::",
"tag": "dokodemo-in",
"protocol": "dokodemo-door",
"settings": {
"network": "tcp",
"followRedirect": true
}
}],
// List of outbound proxy configurations.
"outbounds": [{
"protocol": "freedom"
}],
"policy": {
"levels": {
"0": {
"handshake": 15,
"connIdle": 300,
"uplinkOnly": 0,
"downlinkOnly": 0,
"bufferSize": 16
}
},
"system": {
"statsInboundUplink": false,
"statsInboundDownlink": false,
"statsOutboundUplink": false,
"statsOutboundDownlink": false
}
}
}
На порту 5555 будет TCP-прокси, в который нужно перенаправлять трафик iptables’ом.
Документацию лучше читать на китайском: https://www.v2fly.org/config/overview.html
У v2fly есть свой буфер данных (bufferSize
), но я не могу придумать, зачем он может быть вообще нужен, если честно. В вашем случае достаточно обычного поведения ядра.