Обход ограничение на раздачу мобильного интернета
Сейчас сложилась такая тенденция, что некоторые провайдеры мобильной связи ограничивают возможность раздачи интернета с устройства. Это свойственно семейным тарифам, которые включают в себя домашний интернет и телевидение.В данной статье рассказывается, как это недоразумение устранить. Статья носит исключительно академический характер.
И так, что нам понадобится. Смартфон с функцией раздачи интернета (internet sharing), компьютер с macOS, и все. Получать рут-доступ к смартфону не понадобится. Все делается буквально одной командой в терминале.
Для начала совсем немного теории. Как вообще операторы определяют, что устройство подключено через шлюз смартфона? В структуре пакета протокола IP (Internet Protocol) есть поле TTL (Time To Live) с целочисленным значением. Когда пакет данных покидает устройство, поле TTL устанавливается в определенное значение, например, 128. При каждом прохождении очередного маршрутизатора (коим также является и наш смартфон с точки зрения ноутбука), данное значение уменьшается на 1. То есть, наш смартфон, передавая пакет, отправленный с макбука, передаст этот пакет на роутер провайдера с TTL=127. И вот здесь провайдер и понимает, что пакет прошел уже один роутер, а значит, имеет место факт раздачи интернета.
Как с этим бороться?
К счастью, в macOS это делается всего одной командой терминала.
Но для начала нужно определить, какой TTL у нашего смартфона.
1. Для этого подключаемся как обычно к хотспоту нашего смартфона, и идем в настройки сети, чтобы узнать IP-адрес нашего шлюза (смартфона).
2. Ищем наш текущий IP адреc, который был присвоен роутером смартфона нашему макбуку.

Допустим, это 172.20.10.7
Тогда адрес шлюза в большинстве случаев будет 172.20.10.1 (последнее число меняется на 1)
3. Далее выполняем пинг шлюза.
$ ping 172.20.10.1 PING 172.20.10.1 (172.20.10.1): 56 data bytes 64 bytes from 172.20.10.1: icmp_seq=0 ttl=64 time=2.165 ms 64 bytes from 172.20.10.1: icmp_seq=1 ttl=64 time=10.146 ms 64 bytes from 172.20.10.1: icmp_seq=2 ttl=64 time=3.050 ms 64 bytes from 172.20.10.1: icmp_seq=3 ttl=64 time=1.994 ms
получаем значение TTL=64.
4. Далее прибавляем единицу к этому значению и выполняем команду
sudo sysctl net.inet.ip.ttl=65 net.inet.ip.ttl: 65 -> 65
команда требует ввода админ пароля.
И после этого интернет на макбуке должен появиться.
Недавно мне понадобилось решить задачу поиска кратчайшего пути с клетки A в клетку B алгоритмически, и реализовать это программно. «Наверняка это уже тысячу раз кто-то делал и в интернете полно готовых решений». — подумал я, и каково же было мое разочарование… Несколько дней поисков ничего конкретного не дали. Максимум, что удалось найти, это упоминание, что решить данную задачу можно используя теорию графов и алгоритмом поиска в ширину (BFS — breadth first search). В этой статье я попробую подробно разобрать данный способ нахождения кратчайшего пути шахматных фигур с примерами кода и пояснениями.
Сегодня я хотел бы поведать о достаточно сложной задаче, которую мне недавно удалось решить. Краткую суть ее можно увидеть в заголовке поста. Может возникнуть вопрос: зачем такое вообще могло понадобиться? Такое ощущение, что никто до меня этим вопросом не задавался, ибо гугл был крайне скуден на ответы. Ведь это же очень логично и очевидно — так гораздо легче отлаживать. Для того, чтобы опробовать новый звук или изменения в уровневой логике, не нужно перекомпилировать каждый раз проект, можно даже не перезапускать приложение. Сейчас расскажу, как мне удалось этого добиться.
Продолжим тему о вкусной и здоровой пище. Сегодняшний рецепт приготовления вкусного и быстрого блюда. Нам понадобится: филе курицы — 1000 гр., грибы — 500 гр., лук — 2 шт., сливки — 250 мл., масло, соль и специи. Мне больше нравится филе бедра курицы, но с филе грудки полезнее. Сливки можно брать с небольшим процентом жирности. Нарезаем филе небольшими кусочкам. Лук и грибы мелко крошим. Обжариваем филе и грибы с луком, почти до полной готовности, немного солим. После обжаривания добавляем сливки. Кипятим 5-6 минут. Вкусное блюдо готово! Можно подавать с салатом из капусты. Приятного аппетита. В продолжении поста немного фотографий процесса приготовления.
История создания данного продукта возвращает меня на 5 лет назад во времена, когда я только начал входить в мир Apple технологий, а именно — мигрировать на операционную систему Mac OS X. Как и для многих пенреход был связан с некоторыми неудобставми из-за отсутствия привычных программ и элементов управления системой. Одним из недоразуменей стало отсутствие аналога кнопки Пуск для запуска программ путем выбора из списка. Честно говоря, до сих пор не уверен, что я правильно запускаю программы в OS X (для этого я использую Spotlight). И вот, спустя несколько лет я решил устранить этот недостаток.
Эту заметку мне захотелось написать после нескольких неприятных моментов, связанных с утратой работоспособности моего мак-компьютера. После очередного системного обновления Maverick макбук перестал загружаться. Серый экран с яблоком и индикатор загрузки и дальше ни в какую. Я думал, что уже не столкнусь с таким никогда — времена хакинтоша давно позади. Некоторое время я был очень подавлен и не мог осознать реальность. Сразу вспомнил про вербальный режим загрузки (Cmd-V при включении питания). Запустил в этом самом verbose-режиме загрузку и вот что увидел в конце:
Давненько не обновлял блог, материала как всегда полно, но собрать что-то воедино и запостить руки не доходят. Сегодня я хотел бы написать мини-пост с элементами мемуаринга о том, что недавно на этом свете для меня стало одной загадкой меньше. Речь пойдет о приложении Duck Hunt для легендарного девайса Dendy.