openwrt-transparent-proxy-r.../ReadMe.md

77 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## Настройка роутера на OpenWrt на точечную маршрутизацию по доменам, с использованием прозрачного прокси
### Создание файла с цепочкой маршрутизации для nftables
Например файл /root/byedpi.nft
```shell
set proxylist {
type ipv4_addr
flags interval
timeout 4h
}
chain byedpi_prerouting {
type nat hook prerouting priority -100;
ip daddr @proxylist tcp dport {80, 443} redirect to 1080
}
```
### Настройка firewall в openwrt
В файле `/etc/config/firewall` нужно добавить
```shell
config include
option enabled '1'
option type 'nftables'
option path 'your-script-path'
option position 'table-post'
```
#### Вам необходимо изменить `your-script-path` на ваш путь до файла с правилами nftables. В моём случае путь будет /root/byedpi.nft
Теперь перезапустим firewall и убедимся, что он рабоет и не возвращает ошибок
```shell
/etc/init.d/firewall restart
```
### Добавление новой папки конфигурации для dnsmasq в OpenWRT:
#### Вариант №1 Через добавление параметра в /etc/config/dhcp
```shell
config dnsmasq
option confdir '/etc/dnsmasq.d'
/etc/init.d/dnsmasq restart
/etc/init.d/dnsmasq status
```
Если статус `not running`, то лучше попробовать вариант 2
#### Вариант №2 Через uci
```shell
uci set dhcp.@dnsmasq[0].confdir='/etc/dnsmasq.d'
uci commit dhcp
/etc/init.d/dnsmasq restart
```
### Добавление списка доменов, которые будут идти через прозрачный прокси
Файл /etc/dnsmasq.d/proxylist.conf
Например для ускорения youtube
```shell
#youtube
nftset=/returnyoutubedislikeapi.com/4#inet#fw4#proxylist
nftset=/youtube-nocookie.com/4#inet#fw4#proxylist
nftset=/youtube-ui.l.google.com/4#inet#fw4#proxylist
nftset=/youtube.com/4#inet#fw4#proxylist
nftset=/youtubeembeddedplayer.googleapis.com/4#inet#fw4#proxylist
nftset=/youtubei.googleapis.com/4#inet#fw4#proxylist
nftset=/youtubekids.com/4#inet#fw4#proxylist
nftset=/wide-youtube.l.google.com/4#inet#fw4#proxylist
nftset=/yt-video-upload.l.google.com/4#inet#fw4#proxylist
nftset=/ytimg.com/4#inet#fw4#proxylist
nftset=/ytimg.l.google.com/4#inet#fw4#proxylist
nftset=/yting.com/4#inet#fw4#proxylist
nftset=/youtu.be/4#inet#fw4#proxylist
nftset=/googlevideo.com/4#inet#fw4#proxylist
nftset=/ggpht.com/4#inet#fw4#proxylist
nftset=/suggestqueries.google.com/4#inet#fw4#proxylist
nftset=/noifications-pa.googleapis.com/4#inet#fw4#proxylist
nftset=/googleusercontent.com/4#inet#fw4#proxylist
```
Перезапустим dnsmasq, чтобы правила применились
```shell
/etc/init.d/dnsmasq restart
```
Роутер настроен, теперь нужно убедиться что ваше устройство использует роутер, как dns серевер (Иначе работать не будет)