Обход ограничение на раздачу мобильного интернета

января 13th, 2020 No comments

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

И так, что нам понадобится. Смартфон с функцией раздачи интернета (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

команда требует ввода админ пароля.
И после этого интернет на макбуке должен появиться.

Categories: Apple, Всячина Tags:

Алгоритм кратчайшего пути шахматной фигуры

января 11th, 2018 4 комментария

Недавно мне понадобилось решить задачу поиска кратчайшего пути с клетки A в клетку B алгоритмически, и реализовать это программно. «Наверняка это уже тысячу раз кто-то делал и в интернете полно готовых решений». — подумал я, и каково же было мое разочарование… Несколько дней поисков ничего конкретного не дали. Максимум, что удалось найти, это упоминание, что решить данную задачу можно используя теорию графов и алгоритмом поиска в ширину (BFS — breadth first search). В этой статье я попробую подробно разобрать данный способ нахождения кратчайшего пути шахматных фигур с примерами кода и пояснениями.
Read more…

Categories: Coding Tags: , , , ,

Cocos2d-JS: загрузить внешние аудио файлы и javascript код

ноября 6th, 2016 No comments

Сегодня я хотел бы поведать о достаточно сложной задаче, которую мне недавно удалось решить. Краткую суть ее можно увидеть в заголовке поста. Может возникнуть вопрос: зачем такое вообще могло понадобиться? Такое ощущение, что никто до меня этим вопросом не задавался, ибо гугл был крайне скуден на ответы. Ведь это же очень логично и очевидно — так гораздо легче отлаживать. Для того, чтобы опробовать новый звук или изменения в уровневой логике, не нужно перекомпилировать каждый раз проект, можно даже не перезапускать приложение. Сейчас расскажу, как мне удалось этого добиться.

Read more…

Categories: Coding Tags: , , ,

Готовим вкусняшки. Часть 4

ноября 6th, 2016 No comments

Продолжим тему о вкусной и здоровой пище. Сегодняшний рецепт приготовления вкусного и быстрого блюда. Нам понадобится: филе курицы — 1000 гр., грибы — 500 гр., лук — 2 шт., сливки — 250 мл., масло, соль и специи. Мне больше нравится филе бедра курицы, но с филе грудки полезнее. Сливки можно брать с небольшим процентом жирности. Нарезаем филе небольшими кусочкам. Лук и грибы мелко крошим. Обжариваем филе и грибы с луком, почти до полной готовности, немного солим. После обжаривания добавляем сливки. Кипятим 5-6 минут. Вкусное блюдо готово! Можно подавать с салатом из капусты. Приятного аппетита. В продолжении поста немного фотографий процесса приготовления. Read more…

OS X: Показать рабочий стол (аналог Win-D)

мая 28th, 2016 4 комментария

Давно мне не давало покоя отсутствие функции Скрыть все окна в Mac OS X. Почему это так важно для меня? Я чувствую дискомфорт от нагромождения окон на экране, или если в браузере открыта бесконечная куча вкладок, или ярлыков на рабочем столе тьма тьмущая, у меня все это вызывает приступы паники. Чтобы максимально сосредоточить внимание на конкретной задаче, мне нужно, чтоб на экране было не более трех окон. Прошло уже 5 лет, как я мигрировал с Windows, и все это время я пользовался убогим воркэраундом — Скрыть остальные (Option-Cmd-H) в меню приложений. Сегодня же я нашел и осуществил вполне себе достойный способ скрыть все окна одним кликом мыши. Сейчас расскажу, как мне удалось это сделать.

Read more…

Categories: Apple, Coding Tags:

Преобразовать двоичный plist в XML

января 27th, 2016 No comments

Периодически возникает задача преобразовать plist файл из бинарного представления обратно в XML. Возникает эта задача как правило тогда, когда нужно из IPA архива извлечь plist файл проекта и посмотреть, что у него внутри. Это затруднено тем, что сборщик IPA (утилита xcrun) упаковывает все, что только можно, чтобы уменьшить размер приложения, и вероятно это ускоряет запуск приложения. Решил раз на пятый это дело скинуть себе в блог, чтоб не искать каждый раз мучительно.
Read more…

Categories: Apple, Coding Tags: , , , , ,

HexLauncher: быстрый запуск приложений в Mac OS X

апреля 5th, 2015 9 комментариев

История создания данного продукта возвращает меня на 5 лет назад во времена, когда я только начал входить в мир Apple технологий, а именно — мигрировать на операционную систему Mac OS X. Как и для многих пенреход был связан с некоторыми неудобставми из-за отсутствия привычных программ и элементов управления системой. Одним из недоразуменей стало отсутствие аналога кнопки Пуск для запуска программ путем выбора из списка. Честно говоря, до сих пор не уверен, что я правильно запускаю программы в OS X (для этого я использую Spotlight). И вот, спустя несколько лет я решил устранить этот недостаток.
Read more…

+(AppStore *) Timera: создай свое окно во времени

марта 14th, 2014 No comments

Настала пора поведать общественности о моем скромном участии в интересном и перспективном проекте с весьма оригинальным названием Timera (от слов time и camera). По удачному стечению обстоятельств я пребывал в активной фазе поисков новых гаризонтов развития в тот самый момент, когда руководство стартапа искало кандидата на вакансию iOS-разработчика. Суть проекта довольно проста — ее визуальное представление можно видеть на главной иллюстрации к посту (изображение кликабельно). Пользователю представляется инструмент для создания временнОго туннеля путем совмещения фотографии из прошлого с фотографией, сделанной камерой смартфона. Идея мне очень понравилась и я незамедлительно начал интегрироваться в процесс разработки, в ходе которого пришлось столкнуться и преодолеть немало сложных и интересных задач. Read more…

Прощай, Хакинтош

марта 7th, 2014 5 комментариев

Эту заметку мне захотелось написать после нескольких неприятных моментов, связанных с утратой работоспособности моего мак-компьютера. После очередного системного обновления Maverick макбук перестал загружаться. Серый экран с яблоком и индикатор загрузки и дальше ни в какую. Я думал, что уже не столкнусь с таким никогда — времена хакинтоша давно позади. Некоторое время я был очень подавлен и не мог осознать реальность. Сразу вспомнил про вербальный режим загрузки (Cmd-V при включении питания). Запустил в этом самом verbose-режиме загрузку и вот что увидел в конце: Read more…

Categories: Apple Tags: ,

Утиная Охота: одной загадкой меньше

ноября 13th, 2013 1 comment

Давненько не обновлял блог, материала как всегда полно, но собрать что-то воедино и запостить руки не доходят. Сегодня я хотел бы написать мини-пост с элементами мемуаринга о том, что недавно на этом свете для меня стало одной загадкой меньше. Речь пойдет о приложении Duck Hunt для легендарного девайса Dendy.
Dendy — восьмибитная телевизионная приставка, клон японской Nintendo Entertainment System, подключалась к телевизору обычным коаксиальным кабелем, после чего видеосигнал настраивался на одном из каналов. Приложения запускались с помощью сменных картриджей, которые из себя представляли по сути печатную плату с микросхемой ROM, хранящий код приложения. Read more…