Блокируемся

Предисловие:

Пару недель назад мне позвонил один мой друг и спросил, могу ли я ему помочь с компьютером, я согласился. Проблема была довольно забавная, хотя в наше время этому удивляться грешно. Интернет уже давно не безопасное место и стоит следить куда заходишь и на что кликаешь. В данном случае задача была как раз в том что бы заблокировать пару-тройку сайтов и сервисов. Думаю, это особо актуально тем кто хочет ограничить доступ для своих детей, но тем кто хочет заблокировать рекламу и тому подобное это тоже поможет.

Какие варианты?

Вариантов блокирования сайтов и сервисов масса. Если поискать в интернете то можно найти кучи программ которые обещают что заблокируют все и вся. Я не собираюсь тут обсуждать как они работают или делать какой либо обзор, так как есть довольно хороший альтернативный способ. А именно речь пойдет о двух вещах: Hosts file и DNS.

А как это работает?

По сути Hosts file и DNS похожи, так как делают одну и туже вещь только на разных уровнях. Но перед тем как перейти к том как этим все пользоваться “на благо народа”, нужно понять базовый принцип работы. И так начнем с того как же интернет работает.

Интернет работает на IP протоколе, то есть у каждой машины которая подсоединена к интернету есть IP адрес. Вот пример адрес: 173.194.32.104 и если вы напишите этот адрес в браузер то откроется сайт Гугл (google.com). Для аналогии можно интернет сравнить с телефонной сетью, набираете номер и получаете секс по телефону, заказ пиццы или что вы ещё хотите. Далее по аналогии, многие люди не запоминают номера телефонов, а запоминают названия компаний, сервисов и так далее. То есть вы можете представить себе ситуацию когда вам говорят: “… я тут заказал пиццу от 416-967-1111 и она классная…”, обычно говорят: “… я тут заказал пиццу от Pizza Pizza и она классная…”, а дальше если вы хотите с ними связаться и воспользоваться их сервисом, то вы открываете желтые страницы и смотрите номер телефона ассоциированный с Pizza Pizza. Конечно я перегнул с желтыми страницами, так как я не знаю кто ещё пользуется книжкой, обычно смотрят в интернете, но важен тот факт что для того что бы получить сервис нужно знать имя компании, потом посмотреть телефон (или адрес) в книге и позвонить (или приехать).

Интернет работает примерно так же. То есть вы вводите имя (доменное имя/domain name) в браузер, а далее происходит почти тоже самое что и в примере с телефоном. Другими словами браузер смотрит на имя и делает запрос в DNS (по аналогии в желтые страницы), получает номер, а дальше идет по нему и скачивает данные (страницу, файл и так далее).

Пример:

Компьютер —- запрос: google.com —-> DNS ( Domain Name System )
Компьютер <—- ответ: 173.194.32.104 —- DNS
Компьютер —- запрос: страница —-> 173.194.32.104
Компьютер <—- ответ: первая страница —- 173.194.32.104

Теперь рассмотрим разницу между Hosts фаил и DNS. Практическая разница состоит в том что Hosts файл расположен прямо у вас на компьютере ( в операционной системе ), а DNS находиться в интернете. И что более важно это факт того что перед тем как компьютер воспользуется сервисом DNS, он сперва проверит Hosts файл на наличии записи. Если запись существует в Hosts файле, то DNS сервисом пользовать не нужно, а если записи нет то компьютер делает запрос к DNS. Давайте посмотрим на пример Hosts файла:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##

255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
127.0.0.1 localhost

127.0.0.1 yandex.ru
127.0.0.1 www.yandex.ru

Из файла можно увидеть следующее: существует запись yandex.ru и IP адрес который ассоциирован с этим. То есть если я напишу в брузере “http://yandex.ru” то компьютер посмотрит в Hosts файл и увидит что запись существует и адрес является 127.0.0.1. После этого браузер попробует открыть страницу по адресу 127.0.0.1. Теперь можно спросить, а что 127.0.0.1 за адрес такой? Этот адрес является адресом местной машины, то есть адрес самой себя. Он не когда не меняется и используется для внутренних нужд системы. Другими словами у каждого компьютера есть 127.0.0.1 адрес и он по конвенции он указывает на этот же компьютер. Теперь можно спросить, а зачем мы “yandex.ru” указываем на собственную машину? Ну в данном случае это действительно не нужно, но представьте что вы хотите заблокировать yandex.ru, тогда все что нужно сделать это прописать “127.0.0.1 yandex.ru” в Hosts файле и каждый раз когда вы будите писать yandex.ru в браузер, он будет пытаться открыть страницу по местному адресу ( 127.0.0.1 ) где обычно ничего не находиться и в результате yandex.ru открываться не будет. Другими словами мы только что заблокировали yandex.ru не используя никаких навороченных программ.

Теперь стоит вернуться к DNS, зачем он нам нужен, если Hosts файл по идее делает такую же работу? Это правда, DNS нам был бы не нужен если бы в нашей сети было бы 100 сайтов ( серверов ), но в интернете миллионы сайтов и их количество продолжает расти каждый день. В итоге нам нужно что-то динамичное, то что может следить за новыми сайтами и содержать их адреса, в результате мы получили DNS – Domain Name System или система доменных имен. Этот сервис работает по примерно такому же принципу как и Hosts файл, то есть компьютер делает запрос DNS с именем google.com и получает в ответ 173.194.32.104. Как я и говорил ранее это похоже на желтые страницы, где вы ищите по названию и получаете телефон и адрес.

В итоге если мы хотим заблокировать какой нить сайт или ресурс то достаточно заблокировать ( или прописать ) их либо в Hosts файле либо в DNS сервисе, а можно и в обеих местах.

Где DNS и что с ним делать?

И так у нас теперь есть понятие о том как компьютер запрашивает сайты. Но перед тем как мы перейдем к тому что бы начать блокировать все и вся, нужно чуть поговорить о DNS. DNS как вы уже поняли, является сервисом который находиться где-то в интернете. Вопрос напрашивается сам по себе, а как мой компьютер знает “кому звонить” или как соединиться с DNS? Обычно DNS настройки идут вместе с TCP/IP настройками и типично определяются вашим интернет провайдером. То есть когда вы подсоединяете к сети, то ваш компьютер запрашивает сетевые настройки и тогда получает в ответ интернет адрес, DNS адреса и ещё пару-тройку вещей. Тогда следующий вопрос: а как я могу поменять DNS настройки? Сменить DNS легко, все что вас нужно это найти в интернете DNS сервис, например я пользуюсь openDNS ( http://www.opendns.com/ ) и проставить DNS адреса у себя в системе на те которые предоставлены openDNS-ом. Вот например: DNS адреса с http://opendns.com – 208.67.222.222 и 208.67.220.220. Прописываем эти адреса в системных настройка и усе готово.

Вот как это выглядит на маке:

А вот как это выглядит на Windows XP:

Подробные инструкции о том как настроить Windows XP можно найти тут, а если ссылка не работает то я сделал pdf, можете скачать и прочитать.

А вот как это выглядит на Linksys роутере:

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

Hosts vs DNS:

Вопрос чем лучше пользоваться Hosts файлом или DNS? Все зависит от задачи, ограничений и личного выбора. Например если у вас дома дети и вы хотите ограничить доступ для всего дома, то конечно стоит воспользоваться DNS и проставить настройки в роутере, что бы любое устройство в доме будь то iPad, iPhone или ваш старый компьютер не давали возможности похода на facebook. Но если вы хотите просто отгородить свой личный компьютер от facebook-а то можно просто прописать его в Hosts файле. Теперь нужно упомянуть об одной проблеме/недостатке в Hosts файле, у Hosts файла нету так называемого символ-джокера. Что это значит? А то что каждый сайт который нужно прописать в Hosts файле нужно прописывать с поддоменами. Для простоты приведу пример, возьмем для примера yandex.ru:

Как и раньше мы прописываем в Hosts файле следующее:

127.0.0.1 yandex.ru

И это ограничит доступ на http://yandex.ru, но на yandex.ru можно будет зайти используя под-домен: http://www.yandex.ru и для того что бы заблокировать и этот адрес нужно прописать следующее:

127.0.0.1 www.yandex.ru

Тогда оба адреса будут заблокированы. Другими словами в Hosts файле нужно прописывать все конкретно и нельзя указать одной строкой блокировку всего что является частью yandex.ru. Хотя это и недостаток, но не очень большой и всегда можно соорудить свой список того что нужно блокировать, раз настроено и работает всегда.

Что касается DNS тут проблема другого рода, для начала надо найти DNS сервис который позволяет вводить ограничения. Например я нашел openDNS.com и на нем есть много разных настроек фильтра и блокирования сайтов/доменных имен, но бесплатная часть сервиса разрешает вам блокировать только 25 доменных имен, если нужно больше то прийдется платить. Есть так же русский вариант называется Rejector, но я им не пользовался и поэтому не могу ничего сказать о сервисе. Так же отмечу что можно сделать свой DNS сервис, настроить его как нужно, но это не простая работа и вдаваться в подробности я не буду.

Итого и тут и там есть свои недостатки, но можно комбинировать и то и другое и получить лучшее от обоих “миров”.

Hosts:

И так вы решили воспользоваться Hosts, все что для этого нужно это отыскать файл у себя в системе и написать туда что блокировать по выше приведенным примерам. Размещение Hosts файла в разных операционных системах хорошо описано в вики, или pdf. Для того что бы новые параметры вступили в работу нужно обновить кэш, перегрузите браузер и посмотрите работает ли оно. Если не помогло, то проверьте записи в Hosts файле и перегрузите всю машину (хуже не будет). В Mac OS X нужно сбросить кэш, в консоли терминала (terminal) напишите “dscacheutil -flushcache” или перегрузите компьютер.

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

DNS:

Что же касается DNS, то как я уже говорил ранее, есть сервис openDNS где вы можете зарегистрироваться и начать пользоваться их услугами. На сайте есть большое количество информации и настроек. Можно фильтровать/блокировать не только индивидуальные сайты, а так же целые группы. Например если вы хотите заблокировать сайты с оружием или социальными сетями, то ставите галочку и все готово. Так же openDNS предоставляет статистику интернет “походов”, что может оказаться полезным если вы следите за своими детьми. Бесплатный аккаунт предоставляет все выше описанные, но если нужно больше то вы всегда можете подписаться на платный сервис. Итого все сделано красиво, просто и работает замечательно.

Как все обойти?

Можно ли все эти блокировки обойти? Короткий ответ да, все можно обойти со временем и ресурсами. Длинный ответ, да можно, но не так просто как хотелось бы. Если вы все настроили и закрыли доступ для изменения системных настроек, то это будет сложно. Например что сделал я когда блокировал одну машину для родителей. После того как прописал Hosts файл и выставил настройки для OpenDNS, я закрыл доступ к настройкам системы на Windows 7. Потом закрыл доступ к BIOS что бы умный ребенок не могу загрузиться с Линук диска и не пошел в интернет. Так как для обхода DNS все что надо, так это прописать в настройках адреса другого DNS сервиса и вуаля, все ограничения OpenDNS больше не работают, так как компьютер не больше не пользуется OpenDNS сервисом. Так же если нету доступа к системным настройкам то нельзя изменить Hosts файл, но если загрузиться с Линукс диска ( то есть с другой системы ) то там Hosts файл не модифицирован и как следствие нету никаких ограничений. Но даже с учетом того что машина вся закрыта, всегда можно сменить жесткий диск и результат будет такой же. Итого способы обойти всю эту блокировку есть и все зависит от того на сколько человек хочет обойти все это. Да чуть не забыл, всегда можно для обхода этого всего использовать Web-proxy – это просто и работает на ура. Хотя всегда можно проставить блокировку проксей… все это напоминает в игру кошки-мышки и на самом деле это так и есть, одни пишут защиту, а другие её ломают и пока что не видно конца и края этому процессу.

Итого:

Итого заблокировать свой дом и компьютеры можно и это довольно просто и бесплатно. Однако нужно отметить что абсолютной защиты пока не существует. Единственный выход так это “закрутить болты” потуже и надеяться на лучшее.

Ресурсы:

DNS сервисы:
openDNS
Rejector

Hosts файл:
Готовый лист паразитов и другой информации

Инструкции:
DNS настройки Windows XP
DNS настройки для роутеров

Вики:
Символ-джокер
Размещение Hosts файла

Забавный Баг

Сегодня весь вечер провел программирую WebObjects… Вроде сделал все что планировал… Потом решил сесть и посмотреть что-то для себя… скачал пару библиотек и решил замутить новый WebObjects ( а точнее Wonder ) проект. И тут опа… проект не создается… никаких ошибок… просто не создается новый проект и все! Сперва решил что проглюк с WOLips плагином… так что пришлось его удалить и поставить заного. Не помогло, потом решил переставить эклипс ( Eclipse )… переставил… тоже не помогло. Далее я в лучших традициях Mac os X решил сделать новый пользовательский ( user ) аккаунт и запустил эклипс… тоже не помогло… Ну не знаю что делать я решил пойти покопаться в логах… покопался и нашел кучу ошибок… потом погуголил… и оказалось все банально… оказываться что нельзя ставить пробелы в названиях любых директорий по пути к эклипсу… Я тут же переименовал свою эклипс директорию из “eclipse 3.4.2” в “eclipse_3.4.2” и все заработало!

Вот забавно… ну во-первых каждый компьюторщик знает что ставить пробелы в названию директорий – это плохая идея, но почему-то мне казалось что в наши годы и с нашими “крутыми” операционнками это пройденный этап, но оказывается что нет! Во-вторых у меня эклипс работал просто замечательно не первую неделю и таких проблем не когда не происходило… и тут просто из неоткуда такое… это местами вводит в “занос”.

Ладно пойду попытаюсь что нить ещё написать…
Чирз!

P.S: Вот ссылка на форум где нашел ответ на проблему, а если сайт не работает то вот PDF сайта.

WebObjects послесловие…

В прошлый раз когда писал о WebObjects и студии для разработки, написал много негатива… К сожалению баги все же там есть, но пожалуй стоит отметить что WebObjects с WONDER библиотекой – это все же немеренная маза.

Я сегодня я закончил третью часть проекта, в которой надо было сделать базу данных и подсоединить её к приложения… Все получилось и я впервые увидел реальную мощь WebObjects которая проявляется при работе с базами данных. Запись, чтение и все такое происходит просто магическим путем… Не нужно знать SQL вообще… я бы сказал что можно даже не когда не работать и даже не слышать о SQL языке и при этом спокойно работать с данными. WebObjects библиотеки просто шикарны… например нужно считать все записи с таблицы “Клиентов”… вот как это делается:

NSMutableArray clientList = (NSMutableArray) EOUtilities.objectsForEntityNamed(ec, “Client”);

и все готово… А вот если нужно считать всю клиентскую историю? То мы выбираем клиента уже из полученного листа ( clientList ), а дальше:

NSMutableArray events = (NSMutableArray) client.events();

Готово… Красота! Сегодня я даже подумал что возможно стоит начать делать небольшие уроки… Я хоть и не профессионал, но все же базы показать смогу…

Ладно пойду отваливаться.
Чирз!

Замороченный день с WebObjects

Сегодня был ещё один жаркий день… решил днем посидеть у реки… угу уже через минут 15 решил пойти домой. Ненавижу это жаркое солнце… у меня создается ощущение что кожа горит. А вот вечером на улице хорошо… темно, тихо и можно что-то поделать. Сегодня я как раз сел работать над проектом… часов 5 разбирался что и как делать… Это так забавно… Сперва мучился с настройками Class Path… я думал что после того как поставил WOLips, а так же дополнительные WONDER библиотеки все будет готово для беззаботной работы… но нет… надо было поставить ещё пару библиотек. Потом вроде всё заработало и EOModeler начал “разговаривать” с базой данных… ну думал все… готово… но нет! Мне надо было сделать “reverse engineering” то есть считать готовую базу данных и перевести её в EOModel… ну что может быть проще… отконфигурировал все и нажал кнопку “Reverse Engineer”… и… и… и ничего! Не работает… круто… долго копался в интернете… ну спустя часик или полтора… нашёл на форуме что в WOLips версии 3.4.5 под Eclipse-ом версии 3.4.2 есть какой-то баг… другими словами “reverse engineering” не работает там… Ой как замечательно когда пакет для разработок имеет такое прекрасные баги… Действительно… кому нужен пакет для разработки софта который хорошо и грамотно работает? Нет, у нас должен быть другой путь… сперва писать код, а потом разбираться в то ли это баки в коде то ли это баги пакета для разработок – замечательно! На форуме кто-то сказал что стоит поставить Эклипс ( Eclipse ) версии 3.5, на него натянуть WOLips, там сделать все что нужно с EOModel включая “reverse engineering”, а потом вернуться обратно в версию 3.4.2, так как вот 3.5 есть своя масса глюков… Отлично… значит нужно иметь два разных Эклипса что бы в одном писать то что не работает в другом и на оборот. Как же это здорово… вот это истинная работа программиста… не писать программы, а копаться в багах пакета для разработок…

На данный момент меня это начинает ужасно злить… и даже с тем что WebObjects с WONDER библиотеками это типо круто, но мне начинает казаться что будущего у этого нету! Да пусть Аппле отдал все свои великие разработки в области WebObjects в open source, но то что твориться сейчас с этим это просто ужас… Документации мало, примеров мало… и вообще нужно сидеть и разбираться ( извиняюсь за мой “Французский” ) с такой херней как не рабочим пакетом для разработок. Ладно у меня выбора все равно нету… сказали писать на этом, значит будем писать на этом.

А вообще, если за такими проектами как WOLips и WONDER project нету массовости то долеко это все не уйдет… Лучше взять другой язык и пакет для разработок в котором есть примеры и хорошая поддержка и писать на этом. Чирз!

HandBrake 0.9.4 проблемы

Сегодня мне нужно было скопировать пару-тройку двд фильмов ( не коммерческих ) и я решил поставить последний HandBrake 0.9.4 на свой лаптоп. Вообщем поставил и начал процесс… сначала не обратил внимания на проглюк, но после того как пережимал фильм 3 с половиной часа и в конце на 100% программа остановилась и прогресс не двигался ещё минут 20 я понял что, что-то тут не так!

Во-первых час фильма не может пережиматься 3.5 часа на интел машине с 2.13 гигагерцами – это просто тупо… Во-вторых какой-то странный проглюк уже не при первом сжатии… В итоге я решил что это тупо и поставил HandBrake версии 0.9.2… итого процесс пошел на много быстрее… Сжатие занимает всего около 35 минут и процессор не так страшно напрягается. Не знаю если у кого-то были подобные проблемы, но местами мне кажется что версию HandBrake-а 0.9.4 писали уроды… Еханый бабай, тестировать надо! А лучше просто писать с умом!

Чирз.

айПад фото и мнение.

Вступление:

Сегодня мне довелось поиграться с iPad-ом… Люди всегда говорят… мол как можно судить об устройстве если ты им даже не пользовался. Ну вот я им сегодня пользовался и готов изложить все свои мысли…

Суд идет:

В принципе я и до пользования айПада делал кучу мысленных рассуждений … базируясь на технических данных, а так же прошлом опыте использования айПод тач и айФона… Мое мнение о айПаде сильно не поменялось. айПад не для “hardcore” пользователей которые хотя читать, писать и делать всё это одновременно… Например читать новости и делать вырезки из новостей. айПод удобен для чтения и с этим тяжело поспорить, но вот что бы читать и писать… не получиться или по крайне мере не будет так быстро как можно это сделать на компьютере. Так же из-за отсутствия флэша на айПаде будет тяжело с некоторыми сайтами, хотя надо отметить что многие крупные сайты активно переводят свой код под HTML5 и дают возможность пользователем айПадов смотреть видео.

айПад реально легкий ( по крайней мере мне так показалось ) и довольно эстетичный что позволяет его использовать как газету или телек ( смотреть youtube ) или просто как книгу… Это очень приятно, но есть пара моментов которые меня просто убили. Если просто сидеть на кресле, то айПад не совсем вписывается… Например: вы сидите и хотите написать что нить, к примеру письмо… айПод – это не лаптоп… то есть экзан невозможно поставить в горизонтальное положение… То есть надо или задирать ногу и ставить айПад на лодыжку… или покупать какую нить примочку типо специальной обложки для айПада которая будет складываться и создавать угол для экрана – не прикольно! Та же ситуация будет и за столом… айПод на столе сам по себе стоять не будет, а значит нужно или держать его одной рукой под углом или класть на стол и гнуться по полам да бы смотреть на экран… или опять же покупать какую нить примочку типо подставки…

айПад имеет довольно прикольный и большой дисплей, пока я браузил по просторам интернета мне не пришлось ничего зумить или ресайзить ( zoom or resize ). И местами начинает казаться что устройство в принципе могло бы служить для работы…. но думаю что это не реально. Софт-клава как и на айФоне занимает почти 40% экрана и не думаю что на ней можно реально долго что-то печатать… в итоге прийдется покупать выносную клаву… чик-чик!!!

Если все так плохо то зачем вообще?

айПад это устройство для потребителя… другими словами если вы хотите беззаботно читать, слушать, смотреть… вообщем наслаждаться прелестями технологий, а так же не особо замарачиваетесь о деньгах ( что бы покупать музыки, фильмы, книги и приложения ) то айПад это реально самая лучшая вещь которая случилась со времен выпуска первого айФона! А айПаде все придельно просто, красиво, удобно и вообще местами задаешься вопросом “как мы до этого жили”… Думаю что такое устройство будет реально актуально для людей которые не знаю или не хотят замарачиваться с технологией. Например для бабушек и дедушек… как не банально, но для них это будет просто откровение! Они могут делать тоже самое что и все остальные, но при это не зная о компьютер ничего!!! Например смогут ходить на новостные сайты, смотреть youtube, слушать музыку… писать сынку на FaceBook и так далее… Но при этом не надо будет знать что такое мышка или клава или что нужен антивирус и так далее… Вообщем все то что любой человек по минимому должен знать при использовании компьютера, бабушка с айПадом не будет знать но при этом будет делать все то что любой другой человек делает на компьютере каждый день! Другими словами жизнь без проблем… Ну а во всем остальном, айПад как и айФон но с большим экраном… То есть можно его использовать как видео проигрыватель на долгих поездках или как книгу для чтения…

Готовьте ваши бабки:

Как ни крути, но айПад устройство для потребления других продуктов… Закрытая эко-система айПада позволяет вам покупать только те вещи которые есть в iTunes магазине… музыка, видео, книги, программы и так далее. Другими словами если вы хотите заменить ваш компьютер айПадом, то это реально ( местами ), но готовьтесь к тому что прийдется покупать все от аппла и получается что не такой дорогой ( $499 ) айПад довольно быстро превратиться в устройство которые стоить более $1000… я думаю на то и рассчитано, но это я так думаю! Приведу небольшой пример. Представьте что вы поехали куда нить и сделали много фоток… Но как слить их на айПад? На нем нету usb порта, то есть он есть, но нужен переходник… опа $20 баксов… и таких примеров много. Фактически любое стоящее приложение под айПад стоит денег…

Итого:

Стоит ли покупать айПад? Решать вам! айПад хорошее устройство, но у него есть много ограничений и если вы хотите что-то больше чем браузер для интернета, фильмов и других продуктов технологии, то лучше купить лаптоп… Думаю что тот же MacBook от аппле будет лучше и дешевле. Но если вы хотите простое устройство что бы прийти домой леч в кресло и “откинуться” то айПад это хорошее решение.

P.S: iPad – это все же большой iPod Touch.
P.P.S: Заранее извиняюсь за орфографические ошибки, так как писал на усталую голову…

WordPress 2.2 для iPod Touch

Вчера я поставил WordPress приложение для iPod touch и думал что смогу писать что-то на ходу… типо писал, залил на сайт и усе готово… Сегодня у меня было время ( пока ждал чуваков у универе ) и я решил написать пару вещей которые крутились в голове… Написал, потом сохранил… потом открыл а там только половина того что я написал. Ну подумал что возможно я не сохранил или что-то в этом роде, типо моя ошибка. Сегодня вечером когда вышел погулять я продолжил то что осталось и написал довольно много… сохранил и гулял дальше. Когда открыл опять ( что бы завершить статью ) обнаружил что там ничего не сохранилось… Меня это сильно разозлило… так как я там написал довольно много не смотря на маленькую клаву… Вообще прога просто г. хоть и бесплатна. Возможно что они её починят когда нить, но а пока я возвращаюсь к лаптопу.

Лимитируем скорость передачи данных в Mac OS X

Меня давно интересовало, как можно без особых забот лимитировать передачу данных на Mac OS X? Интересовало давно, а нужда припекла только сегодня… И так немного истории:

Я сам занимаюсь хостингом своего сайта ( meirz.net ) и на это есть много причин… В качестве сервера у меня стоит Mac Mini G4 – 1Ghz ( Mac os X система ) и я в основном хостю только свой сайт, а так же собственный подкаст архив. Интернет у меня DSL 5Mb вниз и 0.8Mb наверх ( это написано на бумаге ), а в реале у меня где-то 2.5 вниз и примерно 0.7 наверх. Теперь ясно что с такой скорость интернета долеко не разбежишься, но все это у меня работает довольно хорошо уже более 2-х лет.

Сегодня с меня кто-то начал активно качать все мои подкасты, а их у меня более 180… файлы разной длинны, но бывают и по 100 мегов… Вообщем интернет у меня начал загибаться до такой степени что почта открывается по 5 минут… Я начал смотреть на серверные логи и разбираться что к чему… Не долго думаю я понял что нужно каким-то образом лимитировать скорость передачу данных по HTTP. Я пролистал много интернет страниц и понял что единственный простой способ это поставить ограничения в фаерволе ( Firewall ). Вот ссылка на форум ( http://www.macosxhints.com/article.php?story=20080119112509736 ), а так же PDF файл ( распечатка форума ) на тот случай если ссылка не работает.

И так что нужно что бы ограничить скорость передачи данных:
1) Включить Firewall в системе
– На обычной Mac OS X это делается через: System Preferences -> Security
– На серверной Mac OS X это делается через: Server Admin
2) Из под командной строки пишем:
sudo ipfw pipe 1 config bw 60KByte/s
sudo ipfw add 1 pipe 1 src-port http

Если нужно убрать все правила то можно искользовать sudo ipfw flush
Если нужно убрать только одно правило то: sudo ipfw delete 1 ( где 1 это номер правила )

То есть мы создаем трубу и конфигурируем её на 60 килобайт в секунду.
Далее добавляем эту трубу на определенный порт ( http = порт 80 )
После чего трафик по исходящему 80 порту будет лимитирован на 60 килобайт в секунду. Конфигурации firewall-а довольно гибкие и позволяют делать разного рода настройки, например можно лимитировать скорость передачи данных которые идут в интернет, но при этом не лимитировать если данные идут в локальную сеть. Например: если вы обращаетесь с локалки к серверу по 80 порту, то скорость будет не лимитирована, но если обращаетесь с интернета, то скорость будет лимитирована… Вообщем конфигурировать можно по разному и это прекрасно. Кому интересно можно поискать ipfw и прочитать более полно.

Если есть вопросы пишите, буду рад помочь.

GPS на iPhone 3G

Сегодня надо было ехать в Лондон и я как обычно рассчитал траекторию пути в гугл картах, но потом подумал что возможно стоит попробовать GPS… В конце концов надо узнать почему их так все любят. Покупать GPS я не собирался ( дорого )… и решил использовать то что есть под рукой, а именно iPhone 3G который я подарил девушке год назад.

Сперва решил найти GPS программу, желательно бесплатную. Покопавшись в iTunes магазине, я не нашел ничего приличного… Основная причина тому заключается в том что с программой ( GPS MotionX ) не приходят карты. То есть карта закачивается через сеть + куча непонятных настоек. Вообщем покопавшись ещё немного решил что надо идти с какой нить коммерческой программой с картами и всеми делами. Посмотрев в сети я нашел что Navigon ( MobileNavigator ) является самым светлым проспектом… Выяснив что она стоит минимум 80 долларов, я понял что прийдется достать ещё “другим” путем. Скачал с пиратской бухты 1.2 гига программы и начал пытаться устанавливать… Заняло у меня это примерно 3 часа, пока наконец-то ни понял как все же эту ломаную прогу засунуть в уже “сломанный” iPhone. После долгой закачки программы в iPhone я с дрожащими руками её запустил… и вуаля… работает!

Программа работает реально хорошо, по крайней мере мне так кажется. До Лондона я ехал без GPS, изредка запуская его что бы посмотреть с какой скоростью едет машина и GPS определял довольно хорошо, отклонение +/- 5 километров в час. Но красота открылась когда я заехал в Лондон и надо было ехать по незнакомым улицам. GPS показывала расстояние, направление и тому подобное… Например: “Через 200 метром поверните налево”. Самое больше удивление было когда GPS довела прямо до адресса и сказала “мы тут” когда я подъехал к нужному зданию. Меня это жудко впечатляет… Так же в программе можно выбрать место, например найти бензо-колонку, продуктовый магазин, аптеку и тому подобное. На данный момент я даже не знаю как люди вообще раньше жили без GPS, уж на сколько это удобно.

Надо отметить что GPS работает на iPhone довольно хорошо, единственное что нужно так это иметь зарядку в машине, так как постоянно горящий экран и работающий GPS медленно, но верно съедают батарею… Не знаю сколько батарея протянет в таком режиме работы, но по-моему не долго… может 2-3 часа.

Вообщем iPhone с GPS-ом это хорошо.

Обложки в iTunes часть 2

Люблю я обложки :) прикольные они, но есть проблемы. И так как можно видеть из моего предыдущего поста я скачиваю обложки через iTunes store, а потом сохраняю их в файл используя программу “Embed Artwork” ( так проще ). Эта схема работала долго и хорошо, но после некоторого времени стало тяжело искать песни у которых нету обложек… Что же делать? Как можно организовать это дело? Сегодня нашел apple скрипт который делает отдельный playlist с песнями у которых нету обложек. Я его запустил минут 40 назад и он все ещё работает… у меня в библиотеке порядка 14000 музыкальных файлов, так что скрипт работать будет долго. Но приятно то что потом можно будет посмотреть чего именно не хватает. Кому нужен этот замечательный AppleScript можете взять его с авторского сайта или скачать с меня ( кому как нравиться ).

Теперь надо пояснить почему я не пользуюсь готовыми программами которые просто идут через всю iTunes библиотеку и “заполняют пробелы”. Фишка в том что я как-то пробовал одну из таких программ и мне не понравилось. В основном из-за того что программа допускала ошибки и ставила неправильные обложки, так же стоит добавить что у меня в библиотеке есть песни у которых просто нету альбома или стоит не правильное название альбома. Из-за этого происходят тоже разные ошибки и иногда получается просто кошмар!

У кого будут вопросы или предложения пишете, чирз!