Openvpn -> proxy

Привет, ищу способ конвертации openvpn соединения в proxy.
Цель: анонимизация конкретных приложений а не всей системы.
Пробовал вот эти решения:

Доп инфа:
VPN провайдер - SurfShark. Была проблема с конфигами(клиент отказывался их принимать и коннектиться по конфигам), но решил откатом OpenVPN Connect до 3.3.7
Тип прокси подойдёт любой, как socks так и https

Приветствую. Для Windows я делаю так:
1 — Создаю необходимое количество виртуальных интерфейсов TAP, Wintun или DCO (не поддерживает сжатие).
2 — Присваиваю им необходимые названия в сетевых подключениях.
3 — Настраиваю конфигурацию OpenVPN на определённый интерфейс, например:

windows-driver wintun
dev tun
dev-type tun
dev-node "OpenVPN Wintun"

Эту конфигурацию можно вписать в отдельный файл и включить в клиентский файл:

config ..\\device.txt

4 — Настраиваю метрики интерфейсам.
Просмотр списка индексов интерфейсов в PowerShell:

Get-NetIPInterface | Format-Table -AutoSize

Назначение метрики:

Set-NetIPInterface -InterfaceIndex "<индекс>" -InterfaceMetric "<значение>" -PolicyStore "PersistentStore"
Set-NetIPInterface -InterfaceIndex "<индекс>" -InterfaceMetric "<значение>"

Первая строка сохраняет метрику, вторая тут же применяет. Значение метрик следует выбирать кратной 1000, например, для Loopback Pseudo-Interface 1 1000, для LAN 2000, для OpenVPN Wintun 3000. Итоговая метрика назначения будет суммой значения метрики маршрута и значения метрики интерфейса. (В этом примере broadcast пакет будет идти на интерфейс с наименьшей метрикой, если они нужны для каких-то приложений в локальной сети, которые не поддерживают рассылку на все интерфейсы в системе, то следует назначить интерфейсу локальной сети метрику меньше, либо настроить статический маршрут для назначения 255.255.255.255.)

Аналоги этих команд в cmd:

netsh interface ipv4 show subinterfaces
set subinterface “<имя>” mtu=<значение> store=persistent

После этого все подключения в системе без биндинга будут идти через интерфейс LAN.
5 — Настраиваю менеджер тунелей GOST. Пример конфигурации:

services:
# Direct SOCKS5
- name: service-socks-LAN
  addr: "[::1]:1000"
  interface: "LAN"
  resolver: resolver-local
  handler:
    type: socks5
    metadata:
      udp: true
  listener:
    type: tcp
# SOCKS5 over OpenVPN Wintun
- name: service-socks-OpenVPN-Wintun
  addr: "[::1]:1001"
  interface: "OpenVPN Wintun"
  resolver: resolver-local
  handler:
    type: socks5
    metadata:
      udp: true
  listener:
    type: tcp

# DNS resolver
resolvers:
- name: resolver-local
  nameservers:
  - addr: "udp://[::1]:53"
    ttl: -1

# Logging
log:
  level: warn
  format: text
  output: stdout

Так, в примере, на 1000 порту будет прокси напрямую, на 1001 будет прокси через виртуальный интерфейс. (К сожалению, в GOST сломано проксирование UDP через SOCKS5 и требует самостоятельного патчинга в случае необходимости.)
6 — Для настройки policy based routing для приложений использую Proxifier (UDP не поддерживает). Есть аналог без GUI socksify / proxifyre (UDP поддерживает).
7 — ???
8 — PROFIT

Спасибо, может быть попробую как-нибудь. А пока нашёл более простой выход:

Для wireguard да, есть ещё вариант WireSockUI.