Описание
Скрипт для загрузки модуля ядра xt_HL, который позволяет менять TTL маршрутизируемых устройством пакетов, что в свою очередь позволяет обойти ограничение на расшаривание мобильного интернета через телефон другим устройствам, которое к сожалению практикуется нашими мобильными операторами на некоторых тарифах.
Логика работы
В скрипте реализована загрузка модуля под каждое ядро в отдельности.
Загрузка модуля происходит по шаблону <название ядра>-xt_HL.ko
. Например если версия ядра у нас 3.10.49-perf-gd0454df
(команда uname -r
), то модуль для загрузки должен называться 3.10.49-perf-gd0454df-xt_HL.ko
Если скрипт не нашел модуль для загрузки, то запускается проверка ядра на поддержку ttl mangling.
Если поддержки не обнаружено, то будет выведено сообщение [*] Probably the script will not work
, но все равно будет произведена попытка добавить правило iptables. При повторном запуске скрипта будет произведена проверка ранее добавленных равил iptables, если они будут обнаружены, то новые правила не будут добавлены.
Установка
- Скопировать скрипт и модули ядра в любой каталог.
- Запускать приложением или вручную. (Для автоматического запуска я пользуюсь Script Manager)
Использование
При запуске скрипту необходимо указать один параметр. init-xt_HL.sh
install|remove|check|try
install
– загрузит модуль в систему, и пропишет необходимые правила iptables1 2 3 4 5 6 7 8 9 10 11 12
root@libra:/ # sh ./sdcard/.sbin/xt_HL/init-xt_HL.sh install ------------------------------------------------ xt_HL module shell v0.8 indi (c) 2o16 <programming4food<dog>gmail.com> ------------------------------------------------ You using kernel: 3.10.49-perf-gd0454df [i] Found module for your kernel. [i] Installing xt_HL kernel module... [.] Checking iptables rules: FAIL [.] Installing iptables ttl-set rule... End
remove
– выгрузит модуль из системы, и удалит правила iptables1 2 3 4 5 6 7 8 9 10 11 12
root@libra:/ # sh ./sdcard/.sbin/xt_HL/init-xt_HL.sh remove ------------------------------------------------ xt_HL module shell v0.8 indi (c) 2o16 <programming4food<dog>gmail.com> ------------------------------------------------ You using kernel: 3.10.49-perf-gd0454df [.] Checking iptables rules: OK [.] Removing iptables ttl-set rule... [.] Checking kernel module: OK [.] Removing xt_HL kernel module... End
check
– запустит проверку системы на предмет поддержки ядром ttl mangling1 2 3 4 5 6 7 8 9 10 11 12
root@libra:/ # sh ./sdcard/.sbin/xt_HL/init-xt_HL.sh check ------------------------------------------------ xt_HL module shell v0.8 indi (c) 2o16 <programming4food<dog>gmail.com> ------------------------------------------------ You using kernel: 3.10.49-perf-gd0454df [i] Found module for your kernel. [.] Checking kernel features: OK [.] Checking kernel module: OK [.] Checking iptables rules: OK End
try
– запустит проверку загрузки всех имеющихся модулей, в поисках совместимого если был найден рабочий модуль, то скрипт попросит Вас переименовать файл, чтобы модуль можно было использовать.1 2 3 4 5 6 7 8 9 10 11 12 13
root@libra:/ # sh ./sdcard/.sbin/xt_HL/init-xt_HL.sh try ------------------------------------------------ xt_HL module shell v1.0 indi (c) 2o16 <programming4food<dog>gmail.com> ------------------------------------------------ You using kernel: 3.10.49-perf-gd0454df [.] Checking module: 3.10.49-perf-gd0454df-xt_HL.ko ... GOOD [.] Checking module: 3.10.49-perf-gd0454df2-xt_HL.ko ... GOOD ^--Rename it to "3.10.49-perf-gd0454df-xt_HL.ko" for use [.] Checking module: 3.10.96-perf-g0f05e91-xt_HL.ko ... BAD [.] Checking module: 3.10.96-perf-g844bfce-xt_HL.ko ... BAD End
Загрузка
xt_HL_module_shell-latest.zip [17 Кб]
Version: 1.0.1 -- 25.11.2016
CRC32: 3AB749EE
MD5: 73303682DED6F665B1B4C29E32EACA26
SHA-1: D6C36DAC1E960DD347B986BC76D4631E939E3C64
История версий
v1.0.1 -- 2016.11.25
Добавлены новые модули
Кометические изменения в скрипте
v1.0 -- 2016.07.26
Добавлена опция try, позволяющая искать работающие модули из всех
Добавлены модули для MokeeOS и CyanogenMod 13
v0.8 -- 2016.07.26
Первый релиз, комплектуется однним модклем для официальных ядер MIUI