HP lt4220 / Telit ln940 / Foxconn T77W676

Retro
Местный
Сообщения: 17
Зарегистрирован: 30 янв 2021, 11:44

Re: HP lt4220 / Telit ln940 / Foxconn T77W676

Сообщение: # 3101Сообщение Retro

copy running-config startup-config эту команду уберите из шапки, она лишняя и создает доп путаницу.
По сути нужны только две команды 1) interface UsbQmi1 ip adjust-ttl send 64.
2) system configuration save
anvldko
Ветеран
Сообщения: 642
Зарегистрирован: 30 июн 2019, 01:30

Re: HP lt4220 / Telit ln940 / Foxconn T77W676

Сообщение: # 3108Сообщение anvldko

Думаю не нужно её убирать, она не лишняя, иначе после сброса настроек и обновления заново нужно будет фиксировать ТТЛ, а оно многим не надо. И антиТТЛ1 тоже не лишняя, нагрузки она не создаёт никакой, и это правило не используется пока оператор вам не отправит мёртвый пакет, который сдохнет в роутере и соответственно на клиентах интернета не будет.
Retro
Местный
Сообщения: 17
Зарегистрирован: 30 янв 2021, 11:44

Re: HP lt4220 / Telit ln940 / Foxconn T77W676

Сообщение: # 3113Сообщение Retro

Невозможно данную настройку сбросить ни каким способом!
Можно только другой командой убрать!
Это ответ кинетика!
Retro
Местный
Сообщения: 17
Зарегистрирован: 30 янв 2021, 11:44

Re: HP lt4220 / Telit ln940 / Foxconn T77W676

Сообщение: # 3115Сообщение Retro

interface UsbQmi1 ip adjust-ttl send 64 - В данной команде нужно указать UsbQmi0, так первым интерфейсом образуется "0"
anvldko
Ветеран
Сообщения: 642
Зарегистрирован: 30 июн 2019, 01:30

Re: HP lt4220 / Telit ln940 / Foxconn T77W676

Сообщение: # 3116Сообщение anvldko

но может как у меня быть единица, так что проверять нужно обязательно, на каком интерфейсе поднялся модем.

Для надёжности наверное можно зафиксировать и на 0 и на 1 интерфейсе, мало ли на другом появится после перетыканий разных модемов.
Retro
Местный
Сообщения: 17
Зарегистрирован: 30 янв 2021, 11:44

Re: HP lt4220 / Telit ln940 / Foxconn T77W676

Сообщение: # 3117Сообщение Retro

Вот на счет проверять это совершенно точно, согласен!
Можно сделать пометку с заметкой чтоб проверяли прежде чем применять, в шапку
Retro
Местный
Сообщения: 17
Зарегистрирован: 30 янв 2021, 11:44

Re: HP lt4220 / Telit ln940 / Foxconn T77W676

Сообщение: # 3126Сообщение Retro

Восстановление IMEI на примере lt4220 / ln940 / T77W676

1. Смотрим текущий IMEI (не обязательно): 2. Разрешаем запись IMEI в ячейку айтем (в терминале):

Код: Выделить всё

at^nv=550,"0"
3. Перезагружается:

Код: Выделить всё

at+cfun=1,1
4. Восстанавливаем IMEI с помощью AT команды:
Для этого IMEI нужно перевести в GSM формат.
Например мы хотим восстановить IMEI на 123456789012347.
1) Слева от IMEI дописываем 80A:
80A123456789012347
2) Разбиваем цифры по парам:
80 A1 23 45 67 89 01 23 47
3) Меняем цифры местами в каждой паре:
08 1A 32 54 76 98 10 32 74
4) Далее передаём в терминале:

Код: Выделить всё

at^nv=550,9,"08,1a,32,54,76,98,10,32,74"
5. Перезагружается

Код: Выделить всё

at+cfun=1,1
6. Проверяем результат:
Последний раз редактировалось anvldko 08 фев 2021, 22:16, всего редактировалось 2 раза.
anvldko
Ветеран
Сообщения: 642
Зарегистрирован: 30 июн 2019, 01:30

Re: HP lt4220 / Telit ln940 / Foxconn T77W676

Сообщение: # 3204Сообщение anvldko

Включение 256QAM
Для того чтобы активировать 256QAM необходимо произвести замену всего двух файлов в устройстве через QPST_2.7.496 , есть в шапке. Для этого переключаем модем в режим с диагностическим портом, режим AT^SETMODE=1 и ставим драйверы и программу QPST. Запускаем eё, если в списке портов пусто, то нажимаем Add Port и
QPST.png
выбираем порт содержащий в имени DM Port. Порт должен появиться в списке, и модем определиться. Делаем резервную копию EFS, если ранее не делали. Для этого нажимаем меню Start client, выбираем Software Download, переходим во вкладку Backup, указываем имя файла и нажимаем Start, файл сохранится в указанной вами папке, бекап создан.
Далее в QPST нажимаем меню Start client, выбираем EFS explorer и приступаем непосредственно к активации 256QAM для входящего трафика и 64QAM для исходящего трафика, что примерно на 25 процентов должно увеличить входящую и исходящую скорость, а именно установить скорость 600 Мегабит / 75 Мегабит, вместо 450 Мегабит / 50 Мегабит.
Заменяем файлы из архива по следующим путям в EFS:

Код: Выделить всё

/nv/item_files/modem/lte/rrc/cap/disable_cap_ies

Код: Выделить всё

/nv/item_files/modem/lte/common/lte_category

Дополнительно по этому пути можно размещать файл 00028874 с вашими личными вариантами агрегации, либо оставить как есть, естественно перед заменой файл нужно сохранить для быстрого восстановления исходного состояния.

Код: Выделить всё

/nv/item_files/rfnv/00028874

Применение новых файлов осуществляется после перезагрузки по питанию.
Enable_QAM256.7z
У вас нет необходимых прав для просмотра вложений в этом сообщении.
anvldko
Ветеран
Сообщения: 642
Зарегистрирован: 30 июн 2019, 01:30

Re: HP lt4220 / Telit ln940 / Foxconn T77W676

Сообщение: # 3359Сообщение anvldko

Блокировка рекламы и выборочный обход блокировок сайтов на маршрутизаторах Keenetic OS

За основу взята статья на habr автора Kyrie1965.
Так как штатный блокировщик рекламы вшитый в прошивки Keenetic не внушает доверия, а именно не блокирует множество не желательных сайтов, с которых могут вылазить рекламные баннеры и трекеры отслеживания со счётчиками посещения, и нет возможности собирать базу плохих и нежелательных сайтов всем миром тут Блокировщик ADLock, а очень хочется после использования совместимых прошивок huawei с блокировщиком рекламы с модулями HP lt4220 / Telit ln940 / Foxconn T77W676, по этому эта инструкция для вас. Так же эта инструкция применима к любому другому роутеру на котором установлен entware, например на padavan или openwrt и использованы другие модемы или модули.

После того как вы настроите OPKG на роутере и получите доступ к ssh, приступаем к настройке.

1. Установка необходимого ПО на маршрутизатор.

Код: Выделить всё

opkg update

Код: Выделить всё

opkg upgrade

Код: Выделить всё

opkg install mc tor tor-geoip bind-dig cron dnsmasq-full ipset iptables stubby ndmq
mcфайловый менеджер Midnight Commander. Он нужен лишь из-за удобного редактора mcedit. Если вы привыкли пользоваться другим текстовым редактором, то mc можно не устанавливать.
tor — сервис Tor.
tor-geoip — база гео-IP для Tor.
bind-dig — аналог nslookup и host.
cron — планировщик заданий.
dnsmasq-full— DNS-сервер.
ipset и iptables — консольные утилиты ipset и iptables (возможно, они уже есть в системе и не нужны, я добавил их для подстраховки).
stubby — DNS-клиент DNS over TLS
ndmq — для настройки фаервола

2. Инициализация ipset, создание множества IP-адресов unblock (100-ipset.sh)

Код: Выделить всё

ipset create test hash:net
Если команда никаких ошибок и сообщений не выдала, значит поддержка есть, и просто следуйте инструкции дальше. В противном случае (есть ошибка) в следующем скрипте вам нужно заменить hash:net на hash:ip. При этом вы потеряете возможность разблокировки по диапазону и CIDR.

Создайте пустое множество адресов с именем unblock при загрузке маршрутизатора. Для этого создайте файл /opt/etc/ndm/fs.d/100-ipset.sh:

Код: Выделить всё

mcedit /opt/etc/ndm/fs.d/100-ipset.sh
Вставьте (Shift+Insert) содержимое:

Код: Выделить всё

#!/bin/sh
[ "$1" != "start" ] && exit 0
ipset create unblock hash:net -exist
exit 0
Чтобы вставить из буфера, используйте Shift+FN+Insert или Shift+Insert, сохранить — F2, выйти — F10.

Дайте права на исполнение:

Код: Выделить всё

chmod +x /opt/etc/ndm/fs.d/100-ipset.sh
3. Настройка Tor
Удалите содержимое конфигурационного файла Tor:

Код: Выделить всё

cat /dev/null > /opt/etc/tor/torrc
Откройте файл конфигурации Tor:

Код: Выделить всё

mcedit /opt/etc/tor/torrc
Вставьте (Shift+Insert) содержимое:

Код: Выделить всё

User root
PidFile /opt/var/run/tor.pid
ExcludeExitNodes {RU},{UA},{AM},{KG},{BY}
StrictNodes 1
TransPort 192.168.1.1:9141
ExitRelay 0
ExitPolicy reject *:*
ExitPolicy reject6 *:*
GeoIPFile /opt/share/tor/geoip
GeoIPv6File /opt/share/tor/geoip6
DataDirectory /opt/var/lib/tor
Замените при необходимости 192.168.1.1 на внутренний адрес вашего маршрутизатора (LAN).

Краткое описание конфигурации:
Исключить выходные узлы: Россия, Украина, Армения Киргизия, Беларусь.
Повесить «прозрачный» прокси на адрес 192.168.1.1, порт 9141.
Запретить быть точкой выхода.

4. Список доменов (и не только) для обхода блокировки (anti_unblock.txt)
Создайте файл /opt/etc/anti_unblock.txt:

Код: Выделить всё

mcedit /opt/etc/anti_unblock.txt
Каждая строка может содержать доменное имя, IP-адрес, диапазон или CIDR. Можно использовать символ # для комментирования строк.

Вот пример файла:

Код: Выделить всё

###Торрент-трекеры
rutracker.org
rutor.info
###Видео хостинги

###Телеграм
telegram.org
tdesktop.com
tdesktop.org
tdesktop.info
tdesktop.net
telesco.pe
telegram.dog
telegram.me
t.me
telegra.ph
web.telegram.org
desktop.telegram.org
updates.tdesktop.com
venus.web.telegram.org
flora.web.telegram.org
vesta.web.telegram.org
pluto.web.telegram.org
aurora.web.telegram.org

###Проверка Tor и IP с разных сайтов
check.torproject.org
2ip.ru
###Пример разблокировки по IP (убрать # в начале строки)
#195.82.146.214
###Пример разблокировки по CIDR (убрать # в начале строки)
#103.21.244.0/22
###Пример разблокировки по диапазону (убрать # в начале строки)
#100.100.100.200-100.100.100.210
5. Скрипт для заполнения множества unblock IP-адресами заданного списка доменов (unblock_ipset.sh)
Создайте скрипт /opt/bin/unblock_ipset.sh:

Код: Выделить всё

mcedit /opt/bin/unblock_ipset.sh
Вставьте (Shift+Insert) содержимое:

Код: Выделить всё

#!/bin/sh

until ADDRS=$(dig +short google.com @localhost) && [ -n "$ADDRS" ] > /dev/null 2>&1; do sleep 5; done

while read line || [ -n "$line" ]; do

  [ -z "$line" ] && continue
  [ "${line:0:1}" = "#" ] && continue

  cidr=$(echo $line | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/[0-9]{1,2}')

  if [ ! -z "$cidr" ]; then
    ipset -exist add unblock $cidr
    continue
  fi
  
  range=$(echo $line | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}-[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}')

  if [ ! -z "$range" ]; then
    ipset -exist add unblock $range
    continue
  fi
  
  addr=$(echo $line | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}')

  if [ ! -z "$addr" ]; then
    ipset -exist add unblock $addr
    continue
  fi

  dig +short $line @localhost | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | awk '{system("ipset -exist add unblock "$1)}'

done < /opt/etc/anti_unblock.txt

Даём права для запуска:

Код: Выделить всё

chmod +x /opt/bin/unblock_ipset.sh
Скрипт достаточно простой, вот суть его работы… Ждём, когда заработает резолвинг домена google.com (если этого не сделать, то при загрузке маршрутизатора не будет заполнено множество unblock, т.к. маршрутизатор будет находиться ещё в процессе инициализации). Читаем строки в файле anti_unblock.txt. У прочитанных строк автоматически удалены пробелы и табуляция в начале и в конце. Пропускаем пустые строки. Пропускаем строки, которые начинают на символ #. Ищем в строке CIDR. Если CIDR найден, то добавляем его в unblock. Ищем в строке диапазон. Если он найден, то добавляем его в unblock. Ищем в строке IP-адрес. Если IP найден, то добавляем его в unblock. Резолвим строку через dig. Все IP-адреса результата добавляем в unblock.


6. Скрипт для формирования дополнительного конфигурационного файла dnsmasq из заданного списка доменов (unblock_dnsmasq.sh)

Создайте скрипт /opt/bin/unblock_dnsmasq.sh:

Код: Выделить всё

mcedit /opt/bin/unblock_dnsmasq.sh
Вставьте (Shift+Insert) содержимое:

Код: Выделить всё

#!/bin/sh
cat /dev/null > /opt/etc/unblock.dnsmasq
while read line || [ -n "$line" ]; do
  [ -z "$line" ] && continue
  [ "${line:0:1}" = "#" ] && continue
  echo $line | grep -Eq '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' && continue
  echo "ipset=/$line/unblock" >> /opt/etc/unblock.dnsmasq
done < /opt/etc/anti_unblock.txt
Дайте права на исполнение:

Код: Выделить всё

chmod +x /opt/bin/unblock_dnsmasq.sh
Скрипт достаточно простой. Последовательно читаем строки из /opt/etc/anti_unblock.txt. У прочитанных строк автоматически удалены пробелы и табуляция в начале и в конце. Пропускаем пустые строки. Пропускаем строки, которые начинают на #. Пропускаем строки, которые содержат IP-адрес (IP или CIDR), т.е. нас интересуют только строки с именами доменов. В файл /opt/etc/unblock.dnsmasq вносим строки вида «ipset=/доменное_имя/unblock». Это означает, что после определения IP-адресов конкретного домена они будут автоматически добавлены во множество unblock.

Обязательно запустите скрипт для генерация файла unblock.dnsmasq:

Код: Выделить всё

unblock_dnsmasq.sh
и скрипт для заполнения множества unblock IP-адресами

Код: Выделить всё

/opt/bin/unblock_ipset.sh
Проверьте, что файл unblock.dnsmasq создался:

Код: Выделить всё

cat /opt/etc/unblock.dnsmasq
7. Скрипт ручного принудительного обновления системы после редактирования списка доменов (unblock_update.sh)
Создайте скрипт /opt/bin/unblock_update.sh:

Код: Выделить всё

mcedit /opt/bin/unblock_update.sh
Вставьте (Shift+Insert) содержимое:

Код: Выделить всё

#!/bin/sh
ipset flush unblock
/opt/bin/unblock_dnsmasq.sh
/opt/etc/init.d/S56dnsmasq restart
/opt/bin/unblock_ipset.sh &
Дайте права на исполнение:

Код: Выделить всё

chmod +x /opt/bin/unblock_update.sh
8. Скрипт автоматического заполнения множества unblock при загрузке маршрутизатора (S99unblock)
Создайте скрипт /opt/etc/init.d/S99unblock:

Код: Выделить всё

mcedit /opt/etc/init.d/S99unblock
Вставьте (Shift+Insert) содержимое:

Код: Выделить всё

#!/bin/sh
[ "$1" != "start" ] && exit 0
/opt/bin/unblock_ipset.sh &
Дайте права на исполнение:

Код: Выделить всё

chmod +x /opt/etc/init.d/S99unblock
9. Перенаправление пакетов с адресатами из unblock в Tor (100-redirect.sh)
Для этого создайте файл /opt/etc/ndm/netfilter.d/100-redirect.sh:

Код: Выделить всё

mcedit /opt/etc/ndm/netfilter.d/100-redirect.sh
Вставьте (Shift+Insert) содержимое:

Код: Выделить всё

#!/bin/sh
[ "$type" == "ip6tables" ] && exit 0
if [ -z "$(iptables-save 2>/dev/null | grep unblock)" ]; then
	ipset create unblock hash:net -exist
	iptables -w -t nat -A PREROUTING -i br0 -p tcp -m set --match-set unblock dst -j REDIRECT --to-port 9141
fi
exit 0
Если вы в шаге 2 использовали hash:ip, а не hash:net, то замените hash:net на hash:ip. Фактически мы дополнительно дублируем функцию создания множества unblock из 2 шага. Это нужно для подстраховки, если скрипты из fs.d ещё не начали запускаться, а скрипты netfilter.d уже запускаются. Ничего страшного, если unblock уже было создано ранее, команда просто будет проигнорирована.

Дайте права на исполнение:

Код: Выделить всё

chmod +x /opt/etc/ndm/netfilter.d/100-redirect.sh
10. Настройка dnsmasq и подключение дополнительного конфигурационного файла к dnsmasq
Удалите содержимое конфигурационного файла dnsmasq:

Код: Выделить всё

cat /dev/null > /opt/etc/dnsmasq.conf
Откройте файл конфигурации dnsmasq:

Код: Выделить всё

mcedit /opt/etc/dnsmasq.conf
Вставьте (Shift+Insert) содержимое:

Код: Выделить всё

user=nobody
bogus-priv
no-negcache
clear-on-reload
bind-dynamic
listen-address=192.168.1.1
listen-address=127.0.0.1
min-port=4096
expand-hosts
log-async
interface=br0
no-dhcp-interface=br0
port=65053
no-resolv
cache-size=5000
addn-hosts=/opt/etc/hosts
conf-file=/opt/etc/anti_ad.txt
conf-file=/opt/etc/unblock.dnsmasq
server=127.0.0.1#5453
Замените при необходимости 192.168.1.1 на внутренний адрес вашего маршрутизатора (LAN).

11. Добавление задачи в cron для периодического обновления содержимого множества unblock

Это дополнительная страховка на тот случай, если программы/устройства используют свой собственный метод резолвинга, а IP-адрес домена изменился. Всё, что нужно сделать, это с желаемой периодичностью запускать скрипт unblock_ipset.sh. Для примера будем запускать каждый день в 6 утра.

Откройте в редакторе файл /opt/etc/crontab:

Код: Выделить всё

mcedit /opt/etc/crontab
Добавьте в конце:

Код: Выделить всё

00 06 * * * root /opt/bin/unblock_ipset.sh
При желании вы можете закомментировать или удалить все остальные шаблонные задачи.

12. Создайте скрипт /opt/etc/init.d/S57stubby:

Код: Выделить всё

mcedit /opt/etc/init.d/S57stubby
Вставьте (Shift+Insert) содержимое:

Код: Выделить всё

#!/bin/sh
PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin
start(){
[ -f /opt/var/run/stubby.pid ] && rm /opt/var/run/stubby.pid
/opt/sbin/stubby -C /opt/etc/stubby/stubby.yml -g
}
stop(){
[ -f /opt/var/run/stubby.pid ] && kill `cat /opt/var/run/stubby.pid`
[ -f /opt/var/run/stubby.pid ] && rm /opt/var/run/stubby.pid
}
case $1 in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 3
start
;;
*)
echo "Usage: $0 {start|stop|restart}"
;;
esac
Дайте права на исполнение:

Код: Выделить всё

chmod +x /opt/etc/init.d/S57stubby
13. Создайте скрипт /opt/sbin/antipodpiski:

Код: Выделить всё

mcedit /opt/sbin/antipodpiski
Вставьте (Shift+Insert) содержимое:

Код: Выделить всё

#!/bin/sh

CFILE="/opt/etc/antipodpiski.flag"
if [[ ! -f "$CFILE" ]];then echo -en "1" > "$CFILE";fi
if [[ -f "$CFILE" ]];then AB_ENABLED="$(cat $CFILE)"; else AB_ENABLED="0";fi

function ab_disable {
	if [ 0$AB_ENABLED -eq 1 ]; then 
		xtables-multi iptables -F antipodpiski
		xtables-multi iptables -D FORWARD -j antipodpiski
		xtables-multi iptables -X antipodpiski
	fi	
}

function ab_enable {
	if [ 0$AB_ENABLED -eq 1 ]; then 
		xtables-multi iptables -N antipodpiski
		xtables-multi iptables -A FORWARD -j antipodpiski
		[ ! -f /tmp/ip_uniq.txt ] && cp /opt/etc/anti_ip.txt /tmp/ip_uniq.txt
		cat /tmp/ip_uniq.txt | \
			while read -r dropip; do
			/opt/bin/busybox [ "`echo $i | /opt/bin/busybox sed -n '/^#.*$/p'`" ] && continue
			xtables-multi iptables -A antipodpiski -d $dropip -j DROP
			xtables-multi iptables -A antipodpiski -d $dropip -j REJECT
			done
		rm /tmp/ip_uniq.txt
    fi
}

if [[ "$1" == "0" ]];
# Force-off
then
    ab_disable
elif [[ "$1" == "1" ]] || [[ "$AB_ENABLED" == "1" ]];
then
	ab_disable
	ab_enable
fi
Дайте права на исполнение:

Код: Выделить всё

chmod +x /opt/sbin/antipodpiski
14. Создайте скрипт /opt/etc/init.d/S58antipodpiski:

Код: Выделить всё

mcedit /opt/etc/init.d/S58antipodpiski
Вставьте (Shift+Insert) содержимое:

Код: Выделить всё

#!/bin/sh

ENABLED=yes
PROCS=antipodpiski
ARGS=""
PREARGS=""
DESC=$PROCS
PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

case $1 in
	start)
	/opt/sbin/antipodpiski && echo 'antipodpiski started.'
	;;
	stop)
	/opt/sbin/antipodpiski 0 && echo 'antipodpiski gracefully stopped.'
	;;
	restart)
	/opt/sbin/antipodpiski && echo 'antipodpiski restarted.'
	;;
	*)
	echo "Usage: $0 {start|stop|restart}"
	;;
esac
Дайте права на исполнение:

Код: Выделить всё

chmod +x /opt/etc/init.d/S58antipodpiski
Разрешить блокировку реклама по ip адресам:

Код: Выделить всё

echo -en "1" > /opt/etc/antipodpiski.flag
Запретить блокировку реклама по ip адресам:

Код: Выделить всё

echo -en "0" > /opt/etc/antipodpiski.flag
15. Перенаправление пакетов с 53 порта на dnsmasq и stubby (010-intercept-dns.sh)
Для этого создайте файл /opt/etc/ndm/netfilter.d/010-intercept-dns.sh:

Код: Выделить всё

mcedit /opt/etc/ndm/netfilter.d/010-intercept-dns.sh
Вставьте (Shift+Insert) содержимое:

Код: Выделить всё

#!/bin/sh

[ "$table" != "nat" ] && exit 0
lan_ip=$(ndmq -p 'show interface Bridge0' -P address)
if [ -z "$(iptables-save 2>/dev/null | grep "udp \-\-dport 53 \-j DNAT")" ]; then
iptables -t nat -I PREROUTING -p udp -m udp --dport 53 -j DNAT --to-destination $lan_ip:65053
fi
if [ -z "$(iptables-save 2>/dev/null | grep "tcp \-\-dport 53 \-j DNAT")" ]; then
iptables -t nat -I PREROUTING -p tcp -m tcp --dport 53 -j DNAT --to-destination $lan_ip:65053
fi
Дайте права на исполнение:

Код: Выделить всё

chmod +x /opt/etc/ndm/netfilter.d/010-intercept-dns.sh
16. Создайте файл hosts, в него можно вносить домены в локальной сети для доступа из вне или блокировки методом hosts:

Код: Выделить всё

cat > "/opt/etc/hosts" <<EOF
127.0.0.1 localhost
0::1 localhost
EOF
17. Создайте файл блокировки по ip адресу /opt/etc/anti_ip.txt, так называемые анти-подписки:

Код: Выделить всё

mcedit /opt/etc/anti_ip.txt
Вставьте (Shift+Insert) содержимое:

Код: Выделить всё

104.76.27.18
104.76.40.239
104.76.45.186
111.221.29.121
111.221.29.198
13.107.4.50
13.69.159.30
13.94.40.160
131.107.255.255
131.253.14.153
131.253.14.76
131.253.34.240
131.253.61.100
131.253.61.66
131.253.61.68
131.253.61.98
134.170.115.55
134.170.165.248
134.170.165.249
134.170.165.251
134.170.165.253
134.170.185.174
134.170.185.70
134.170.58.123
157.55.129.21
157.56.106.184
157.56.194.72
157.56.96.123
157.58.211.44
168.63.108.233
173.194.146.119
173.194.220.100
173.194.220.101
173.194.220.102
173.194.220.113
173.194.220.138
173.194.220.139
173.194.32.155
173.194.32.156
178.255.82.5
178.255.87.14
191.232.139.2
191.232.80.62
191.234.72.186
192.147.130.70
192.150.14.173
192.150.16.211
192.229.233.249
194.176.96.130
194.54.150.68
2.18.72.161
2.18.72.34
2.18.73.254
2.18.74.142
2.18.74.38
2.18.74.67
2.18.76.98
2.18.78.157
204.79.197.197
204.79.197.203
204.79.197.204
204.79.197.206
204.79.197.208
204.79.197.209
204.79.197.210
204.79.197.211
204.79.197.213
207.46.114.58
207.46.114.61
207.46.194.14
207.46.194.25
207.46.223.94
207.68.166.254
23.103.189.157
23.97.178.173
31.173.34.226
34.192.124.130
34.197.154.98
34.227.220.43
37.29.19.105
37.29.19.113
37.29.19.114
37.29.19.115
37.29.19.75
37.29.19.80
37.29.19.82
37.29.19.83
37.29.19.89
37.29.19.99
40.70.220.248
40.77.226.124
40.77.226.219
40.77.226.250
40.77.229.125
40.77.229.133
40.77.229.141
40.77.229.2
40.84.199.233
52.1.145.160
52.164.251.44
52.166.120.77
52.169.118.173
52.178.167.109
52.178.178.16
52.200.19.18
52.201.146.79
52.204.20.151
52.206.2.232
52.21.88.150
52.229.39.152
52.243.81.129
52.54.214.23
52.87.29.55
54.164.226.207
54.172.111.179
54.174.187.14
54.174.46.21
54.208.106.222
54.209.22.103
64.233.164.100
64.233.164.101
64.233.164.102
64.233.164.113
64.233.164.138
64.233.164.139
64.4.27.50
64.4.54.22
65.52.100.11
65.52.100.7
65.52.100.9
65.52.100.91
65.52.100.92
65.52.100.93
65.52.100.94
65.52.108.154
65.52.108.90
65.55.130.50
65.55.138.111
65.55.138.112
65.55.138.114
65.55.138.158
65.55.163.222
65.55.252.190
65.55.252.202
65.55.252.63
65.55.252.93
66.119.144.157
66.119.147.131
67.215.246.203
68.232.34.200
69.64.146.224
74.125.110.52
77.95.131.201
8.253.100.126
8.253.101.126
8.254.212.254
80.252.91.53
83.149.0.245
88.208.1.227
88.221.72.108
93.184.221.200
94.245.121.176
94.245.121.177
94.245.121.178
94.245.121.179
При желании можете отредактировать список.

18. Создайте файл /opt/etc/anti_ad.txt, блокировка по имени домна, блокируется домен и все его под домены, лучше чем блокировка host, так как не требуется перечислять тысячи под доменов, в нём вы можете разместить свой список

Код: Выделить всё

cat > "/opt/etc/anti_ad.txt" <<EOF
EOF
Списки можно взять здесь и внести свой вклад в очистку рунета Блокировщик ADLock

Если не хотите вручную заполнять, то выполните для первичного заполнения, а так же годится для обновления:

Код: Выделить всё

cp /opt/etc/anti_ad.txt /tmp/dnsmasq.adblock
wget -U 'Delvik' -qO- 'http://adlock.dinis.ru/anti_ad.txt' | sed -e 's/\r//' | grep -v '^#\|^[[:space:]]*$' | sed -e 's/.*/server=\/.&\//' >> /tmp/dnsmasq.adblock
wget -U 'Delvik' -qO- 'http://adlock.dinis.ru/adlist1.txt' | sed -e 's/\r//' | grep -v '^#\|^[[:space:]]*$' | sed -e 's/.*/server=\/.&\//' >> /tmp/dnsmasq.adblock
rm /opt/etc/anti_ad.txt
cat /tmp/dnsmasq.adblock | sort -uk1 >> /opt/etc/anti_ad.txt
Если всё сделали правильно, теперь можно выполнить

Код: Выделить всё

unblock_update.sh
unblock_ipset.sh
/opt/etc/init.d/rc.unslung restart
и наслаждаться интернетом без рекламы и доступом к желаемым сайтам.

Продолжение следует...
anvldko
Ветеран
Сообщения: 642
Зарегистрирован: 30 июн 2019, 01:30

Re: HP lt4220 / Telit ln940 / Foxconn T77W676

Сообщение: # 3360Сообщение anvldko

Блокировка рекламы. Второй вариант.
Если вам так или иначе не требуется обход ограничений и выборочная разблокировка сайтов, а так же в вашем роутере не хватает места или оперативной памяти для развёртывания предыдущей инструкции, то это легковесное комплексное решение для вас.

Так же как и в предыдущей инструкции, первый делом получаем доступ к ssh и настраиваем entware на роутере. Если всё настроено, приступаем к настройке блокировщика рекламы, для этого устанавливаем необходимое ПО на маршрутизатор.

Установка необходимого ПО на маршрутизатор.

Код: Выделить всё

opkg update
opkg upgrade
opkg install dnsmasq-full
opkg install stubby
Создаём пользовательский список /opt/etc/anti_ad.txt (если существует, делать не требуется):

Код: Выделить всё

cat > "/opt/etc/anti_ad.txt" <<EOF
EOF
Теперь копируем пользовательский список в оперативную память, скачиваем из интернет публичные списки и сращиваем их с вашим списком удаляя из него возможные дубли, заменяя его:

Код: Выделить всё

cp /opt/etc/anti_ad.txt /tmp/dnsmasq.adblock
wget -U 'Delvik' -qO- 'http://adlock.dinis.ru/anti_ad.txt' | sed -e 's/\r//' | grep -v '^#\|^[[:space:]]*$' | sed -e 's/.*/server=\/.&\//' >> /tmp/dnsmasq.adblock
wget -U 'Delvik' -qO- 'http://adlock.dinis.ru/adlist1.txt' | sed -e 's/\r//' | grep -v '^#\|^[[:space:]]*$' | sed -e 's/.*/server=\/.&\//' >> /tmp/dnsmasq.adblock
rm /opt/etc/anti_ad.txt
cat /tmp/dnsmasq.adblock | sort -uk1 >> /opt/etc/anti_ad.txt
Переписываем содержимое конфигурационных файлов:

Код: Выделить всё

cat > "/opt/etc/dnsmasq.conf" <<EOF
interface=br0
no-dhcp-interface=br0
port=65053
no-resolv
cache-size=5000
conf-file=/opt/etc/anti_ad.txt
addn-hosts=/opt/etc/hosts
server=127.0.0.1#5453
EOF
cat > "/opt/etc/init.d/S57stubby" <<EOF
#!/bin/sh
PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin
start(){
[ -f /opt/var/run/stubby.pid ] && rm /opt/var/run/stubby.pid
/opt/sbin/stubby -C /opt/etc/stubby/stubby.yml -g
}
stop(){
[ -f /opt/var/run/stubby.pid ] && kill \`cat /opt/var/run/stubby.pid\`
[ -f /opt/var/run/stubby.pid ] && rm /opt/var/run/stubby.pid
}
case \$1 in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 3
start
;;
*)
echo "Usage: \$0 {start|stop|restart}"
;;
esac
EOF
chmod +x /opt/etc/init.d/S57stubby
/opt/etc/init.d/S57stubby start
opkg install iptables
cat > "/opt/etc/ndm/netfilter.d/010-intercept-dns.sh" <<EOF
#!/bin/sh
[ "\$table" != "nat" ] && exit 0
if [ -z "\$(iptables-save 2>/dev/null | grep "udp \-\-dport 53 \-j DNAT")" ]; then
iptables -t nat -I PREROUTING -p udp -m udp --dport 53 -j DNAT --to-destination 127.0.0.1:65053
fi
if [ -z "\$(iptables-save 2>/dev/null | grep "tcp \-\-dport 53 \-j DNAT")" ]; then
iptables -t nat -I PREROUTING -p tcp -m tcp --dport 53 -j DNAT --to-destination 127.0.0.1:65053
fi
EOF
#Добавляем в файл хост локальные сайты или блокируемые с нулями
cat > "/opt/etc/hosts" <<EOF
127.0.0.1 localhost
::1 localhost
192.168.8.1 homerouter.cpe
192.168.8.1 hi.link
192.168.1.3 zgemmah9twin
EOF
chmod +x /opt/etc/ndm/netfilter.d/010-intercept-dns.sh
table=nat /opt/etc/ndm/netfilter.d/010-intercept-dns.sh
/opt/etc/init.d/rc.unslung restart

Отключение штатного DNS-сервера и перезагружаем маршрутизатор на примере Keenetic. (не обязательно)
Подключитесь к CLI маршрутизатора Keenetic (порт 23 для Telnet и 22 для SSH, если в системе добавлен компонент «Сервер SSH»).
Выполните команду:

Код: Выделить всё

opkg dns-override
system configuration save
system reboot
Встроенный в прошивку DNS-сервер будет выключен, и вместо него будет использоваться dnsmasq из состава Entware. Маршрутизатор при загрузке проверяет, подмонтирована ли папка opt (есть ли флешка/диск с Entware). Если есть, то штатный DNS-сервер не используется. Если нет, используется. Т.е. вынув флешку и перезагрузив маршрутизатор, у вас всё будет работать, как и раньше (перед настройкой).


Продолжение следует...
Ответить