Суть - мы принимаем интернет через wifi на android включаем vpn и передаем трафик vpn на ПК через USB
Для этого необходимо иметь на телефоне РУТ права и установленный TERMUX. Включаем vpn на телефоне и смотрим активные интерфейсы. Открываем Termux, пишем следующие команды:
netcfg | grep -i up
Видим следующие интерфейсы
Подключаем телефон к usb, включаем режим модема через usb, в терминале прописываем ifconfig, запоминаем наши интерфейсы, т.к. цифры могут отличаться. Нас интересует rndis0 и его ip адрес. В нашем случае этот адрес 192.168.42.129 (т.е локальный хост будет 92.168.42.0)
В терминале пишем SU, предоставляем рут права, пишем по строчкам
iptables -t filter -F FORWARD iptables -t nat -F POSTROUTING iptables -t filter -I FORWARD -j ACCEPT iptables -t nat -I POSTROUTING -j MASQUERADE ip rule add from 192.168.42.0/24 lookup 61 ip route add default dev tun0 scope link table 61 ip route add 192.168.42.0/24 dev rndis0 scope link table 61 ip route add broadcast 255.255.255.255 dev rndis0 scope link table 61
Если все сделали правильно, то у вас должно появиться сетевое подключение и ip vpn вашего телефона.
Теперь давайте это все запишем в sh скрипт, чтобы каждый раз не прописывать строки вручную. Под рутом пишем:
echo -e 'iptables -t filter -F FORWARD ; iptables -t nat -F POSTROUTING ; iptables -t filter -I FORWARD -j ACCEPT ; iptables -t nat -I POSTROUTING -j MASQUERADE ; ip rule add from 192.168.42.0/24 lookup 61 ; ip route add default dev tun0 scope link table 61 ; ip route add 192.168.42.0/24 dev rndis0 scope link table 61 ; ip route add broadcast 255.255.255.255 dev rndis0 scope link table 61' > forward.sh
Теперь можем запускать наш скрипт просто написав
sh forward.sh
В настройках сетевого подключения прописываем 192.168.1.1, чтобы исключить утечку по DNS. Проверяем результат на любом сайте, например whoer.net
Чтобы вам проще было писать команды в termux, предлагаю ознакомиться со статьей как соединиться по ssh с телефоном. Это позволит соединиться с вашим телефоном через пк.