Update Padavan manual (#163)

This commit is contained in:
Vadim Vetrov 2024-10-26 17:50:19 +03:00
parent 7070ddfc74
commit 93972f8404
No known key found for this signature in database
GPG Key ID: E8A308689D7A73A5
2 changed files with 16 additions and 114 deletions

View File

@ -1,128 +1,30 @@
## Padavan
На падаване есть раздел, доступный для записи (/etc/storage), и, докинув нужные модули, можно запустить youtubeUblock на уже установленной прошивке без USB. Установка самого youtubeUblock мало будет отличаться от классичкской установки. Наибольшая сложность заключается в получении модулей ядра специально для вашего роутера.
## Asus-Padavan
На падаване есть раздел, доступный для записи, и докинув нужные модули, можно запустить youtubeUblock на уже установленной прошивке без USB
<br />
**Версия youtubeUblock должна быть не меньше v1.0.0-rc4.**
### Сборка прошивки с модулями
<details open>
<summary><b>Установка и настройка</b></summary>
Необходимо собрать ядро с модулями nfqueue. Собирать можно у себя локально, а можно и в github actions (https://github.com/shvchk/padavan-builder-workflow)
Далее все комадны можно выполнять в консоли админки Administration -> Console или зайти на роутер через SSH
```sh
cd /etc/storage/
```
Сборка бинарника есть ниже, но можно взять готовый
```sh
wget -qO- https://github.com/renr4/misc/raw/refs/heads/main/youtubeUnblock.tar.gz | tar xvz -C /etc/storage/
```
Ниже есть инструкция по сборке прошивки с NFQUEUE модулями, но также проще взять уже готовые
```sh
wget -qO- https://github.com/renr4/misc/raw/refs/heads/main/padavan-nfqueue.tar.gz | tar xvz -C /etc/storage/
```
##### **[1]** Загружаем модули
```sh
insmod /etc/storage/nfnetlink.ko
insmod /etc/storage/nfnetlink_queue.ko
insmod /etc/storage/xt_connbytes.ko
insmod /etc/storage/xt_NFQUEUE.ko
```
##### **[2]** Правила iptables
```sh
iptables -I OUTPUT -m mark --mark 32768/32768 -j ACCEPT
```
Команда с учетом connbytes не поместится в консоли, просто обрежется, в таком случае в консоли можно запустить укороченную версию
```sh
iptables -t mangle -A FORWARD -p tcp --dport 443 -j NFQUEUE --queue-num 537 --queue-bypass
```
, а в скрипт добавить полную
```sh
iptables -t mangle -A FORWARD -p tcp --dport 443 -m connbytes --connbytes-dir original --connbytes-mode packets --connbytes 0:19 -j NFQUEUE --queue-num 537 --queue-bypass
```
Если появляется ошибка `iptables: unknown option "--queue-num"`, то можно взять бинарник iptables уже с поддержкой queue-num
```sh
wget -qO- https://github.com/renr4/misc/raw/refs/heads/main/iptables-nfqueue.tar.gz | tar xvz -C /etc/storage/
```
и снова запустить первую команду, добавив к ней абсолютный путь `/etc/storage/iptables -t mangle...`
##### **[3]** Запуск
```sh
/etc/storage/youtubeUnblock 537 --no-ipv6 &
```
На этом этапе все должно работать. Можно проверить на конечном устройстве
```sh
curl --connect-to ::speedtest.selectel.ru https://manifest.googlevideo.com/100MB -k -o/dev/null
```
Только сейчас с такими параметрами ютуб может не заработать (см. https://github.com/Waujito/youtubeUnblock/issues/148)
Сохранение изменений + автозапуск
В админке Customization -> Scripts добавить код из **[1]** и **[3]** в скрипт Run After Router Started, а две команды iptables из **[2]** в скрипт Run After Firewall Rules Restarted и нажать Apply
##### Как обновлять
Закинув новую версию в `/etc/storage/` нужно сделать Administration -> Settings -> Commit Internal Storage to Flash Memory и перезагрузить роутер
##### Как удалить
Проще всего сделать сброс Administration -> Settings -> Router Internal Storage -> Reset и перезагрузить роутер, тогда и скрипты и storage вернутся в исходное состояние
</details>
<br />
<details>
<summary><b>Сборка</b></summary>
Добавить строки ниже в `padavan-ng/trunk/configs/boards/TPLINK/TL_C5-V4/kernel-3.4.x.config` (вместо TPLINK/TL_C5-V4 нужно выбрать свою модель):
```sh
git clone https://gitlab.com/hadzhioglu/padavan-ng
git clone https://github.com/Waujito/youtubeUnblock
```
Готовый тулчейн
```sh
wget -qO- https://gitlab.com/hadzhioglu/padavan-ng/-/package_files/152707964/download | tar xv --zstd -C padavan-ng
export PATH=$PATH:`pwd`/padavan-ng/toolchain/out/bin
```
Патч для ядра 3.4
```sh
cd youtubeUnblock
wget https://raw.githubusercontent.com/renr4/misc/refs/heads/main/patch-padavan-kernel-3.4.diff
patch youtubeUnblock.c < patch-padavan-kernel-3.4.diff
```
Сборка
```sh
make CC=mipsel-linux-uclibc-gcc LD=mipsel-linux-uclibc-ld CROSS_COMPILE_PLATFORM=mipsel-linux-uclibc ARCH=mips
mipsel-linux-uclibc-strip --strip-unneeded build/youtubeUnblock
```
Закинуть бинарник на роутер можно запустив локально веб-сервер и забрав его в консоли админки wget-ом `wget http://192.168.0.101/youtubeUnblock -P /etc/storage` или, если есть ssh `scp youtubeUnblock admin@192.168.0.1:/etc/storage`
</details>
<br />
<details>
<summary><b>Сборка прошивки с модулями</b></summary>
Если хочется собрать прошивку уже с поддержкой NFQUEUE
Раскомментировать модули в `padavan-ng/trunk/configs/boards/TPLINK/TL_C5-V4/kernel-3.4.x.config`
(вместо TPLINK/TL_C5-V4 нужно выбрать свою модель)
```sh
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
CONFIG_NETFILTER_NETLINK=m
CONFIG_NETFILTER_NETLINK_QUEUE=m
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
CONFIG_IP_NF_QUEUE=m
CONFIG_IP6_NF_QUEUE=m
```
Сборка с нужным конфигом
Сборка
```sh
cd padavan-ng/trunk
cp configs/templates/tplink/tl_c5-v4.config .config
./build_firmware.sh
```
Если финальный размер превышает лимит, то можно отключить что-нибудь в .config, например FTP
После все сделать как в инструкции по установке выше, закинув youtubeUnblock в /etc/storage/
</details>
Если финальный размер превышает максимум, то можно отключить что-нибудь в .config, например FTP.
После сборки необходимо установить прошивку на роутер. Подробнее в гитлабе падавана: https://gitlab.com/hadzhioglu/padavan-ng. Как устанавливать: https://4pda.to/forum/index.php?showtopic=975687&st=12980#Spoil-115912586-5
Далее скачать youtubeUnblock, закинуть его на роутер, добавить правила фаервола и запустить. Можно скачивать static бинарник и запускать вручную, а можно загрузить entware на usb или в память, и поставить соответствующую версию youtubeUblock.

View File

@ -21,7 +21,7 @@
- [Building on host system](#building-on-host-system)
- [Building on any kernel](#building-on-any-kernel)
- [Building with openwrt SDK](#building-with-openwrt-sdk)
- [Asus-Padavan](#asus-padavan)
- [Padavan](#padavan)
# youtubeUnblock
@ -383,8 +383,8 @@ make package/kyoutubeUnblock/compile V=s
When the commands finish, the module is ready. Find it with `find bin -name "kmod-youtubeUnblock*.ipk"`, copy to your host and install to the router via gui software interface. The module should start immediately. If not, do `modprobe kyoutubeUnblock`.
## Asus-Padavan
Можно запустить youtubeUblock на падаване без USB и пересборки ядра, т.е. должно работать на любой железке [Инструкция](https://github.com/Waujito/youtubeUnblock/blob/main/Padavan.md)
## Padavan
YoutubeUnblock may also run on Padavan. [Check the manual here\[rus\]](Padavan.md)
>If you have any questions/suggestions/problems feel free to open an [issue](https://github.com/Waujito/youtubeUnblock/issues).