Issue-2017.02.18

Тел. +7 904 707-11-25
E-mail: yudenisov{at}aport2000.ru

Категория «16+»

Мой сайт   Визитка на Мемиане

[Выпуск 16.02.2017]

 

[[18.02.2017]]

[18.02.2017 20:41:08]

Сделал для себя макросы для автоматического запуска и остановки Интернет-сервисов Windows, и прописал в реестре их обязательную остановку при запуске Windows. Это я делаю для того, чтобы полностью контролировать процесс запуска своих Интернет-сервисов.

[18.02.2017 20:40:39]

Сегодня скачивал векторные иконки различных сервисов Интернета: GMail, Google +, Del.icio.us, Pinboard, Evernote, Яндекс, Яндекс@Почта, Агент@Mail.ru, Flickr, DuckDuckGo, Bing, WordPress, LiveJournal, Pinterest. Этими иконками я хочу украсить страницу своих ссылок на http://launcher.yudenisov.ru. Соответственно, мне нужно, чтобы все иконки или были квадратными, или нормально вписывались в квадрат. К сожалению, все такие иконки найти не удалось, и отличился в этом, прежде всего, Яндекс… Для остальных сервисов нашёл векторные картинки, или хотя бы картинки, которые можно сделать векторными.

Но один логотип я найти не смог. Им оказался неофициальный логотип Почта@Mail.Ru. Я не нашёл ни одного подходящего изображения, ни векторного, ни растрового. Так что пришлось мне делать его самому. Для этого мне пришлось «ограбить» логотип Mail.Ru и выделить из него знак «At», («@», «собака»). Этот знак я стал использовать в своём рисунке, поскольку он имеет «фирменное начертание». Затем я создал следующую заготовку:

    1. Нарисовал квадрат;
    2. Скруглил в нём вершины радиусом 1/8 высоты квадрата;
    3. Знак коммерческого «Эт» я уменьшил пропорционально до размеров по ширине равной 5/8 от ширины квадрата. По высоте получилось немного меньше;
    4. Поместил уменьшенный знак «Эт» в центр квадрата;

Таким образом, я создал логотип с пропорциями, близкими к «золотому сечению квадрата».

  1. В первом варианте логотипа я залил квадрат фоном с цветовым оттенком на цветовом круге Hue=152 и оттенком знака «Эт» цвета «карьерного песка»;
  2. Во втором варианте я добавил вертикальный градиент цвета: квадрат от цвета морской волны до синего и знака «@» от ярко-жёлтого до цвета «красного кирпича»;
  3. В результате получил два варианта устраивающего меня логотипа.

Логотипы я делал в редакторе Inkscape 0.92-1. Я установил этот редактор на Windows 10 x64, но он нормально не заработал, поскольку в нём присутствовали 32-х разрядные модули, которые так и не запустились в данном окружении. На виртуальной машине же всё нормально запустилось и заработало.

Также сегодня я установил приложение AFPL GhostScript для корректной работы просмотрщиков XnView и ACDSee. Причём мне пришлось устанавливать и 64-х разрядную, и тридцатидвухразрядную версию продукта, поскольку данные программы оказались чувствительные к версии пакета.

А ещё у меня очень много проблем с интерпретатором программы Python для Windows. Началось с того, что две версии Питона, оказывается, не работают на одном компьютере. Далее, после «правильной установки пакета», на этом интерпретаторе отказываются устанавливаться, компилироваться и запускаться многие модули (появляется сообщение о неудовлетворённых зависимостях). Сейчас до меня дошло, что здесь также возможен конфликт версий, и нужно устанавливать и тридцатидвухразрядную, и шестидесятичетырёхразрядные версии данного пакета. Что ж, попробую его работу…

 

[[17.02.2017]]

[17.02.2017 22:17:21]

Сегодня я отменил просроченную подписку на продукты корпорации Adobe. Вместе с ней отменилась и текущая подписка, хотя э\того не было в сообщении об отмене подписки, а работники технической службы сами удивлены: новая подписка активируется автоматически. Но этого не произошло. Мне сообщили, что моей проблемой специалисты корпорации Adobe будут заниматься до среды, и попросили ждать информации в письме. Что ж, подожду. На этот раз пиндустанцы оказались доброжелательными… 🙂

Также мне пришло письмо с предложением переустановить браузер Amigo, скачав его новейшую версию с сайта. http://new.amigo.mail.ru Удалять плагины при этом, как мне сообщили, не обязательно. Поддержка многих сертификатов при этом должна восстановиться.

… Я всё ещё под впечатлением от смены DNS серверов на своём маршрутизаторе. Я понимаю, что совершил хакерскую атаку на своё устройство, поэтому мне ничего не грозит – со своей техникой я могу обращаться, как захочу. Но точно такую атаку может организовать кто угодно, находясь за тысячи километров от жертвы. И всего-то нужно: telnet клиент и знать, какой у жертвы маршрутизатор. Причём второе нужно только для того, чтобы подобрать пароль по-умолчанию. А если учесть, что администраторы провайдеров никогда не рекомендуют менять пароли по умолчанию… А проблема серьёзная. Возможна атака с подменой DNS сервера, а в этом случае с жертвой можно сделать вообще что угодно: подменить банковские счета, направить секретную переписку через свой шлюз, получить доступ к чужой почте, осуществить подмену сертификатов, организовать спам-рассылку. И вообще тогда разговоры о «русских хакерах» будут детской страшилкой. В принципе, защититься от этой напасти элементарно: поставить надёжный, не повторяющийся пароль на маршрутизатор, и записать его в надёжный менеджер паролей. Но многие ли следуют этому совету? По моим подсчётам, такую беспечность проявляют 60% пользователей домашнего Интернета… И успокаивать себя тем, что мастерски владеют telnet клиентом не больше людей, чем тех, которые мастерски владеют паяльником – неумно. И telnet клиентом, и паяльником можно научиться работать да сутки непрерывной тренировки. И Вас совсем не должно утешать то, что хакеров поймают и накажут. Ущерб Вам всё равно не компенсируют, а наказание никого не испугает – у попавшихся хакеров найдутся свои последователи.

Причём я не уверен, что та же проблема мало актуальна и для организаций. Ведь пароли по умолчанию не любят менять не только домашние пользователи, особенно в России, где правила по обязательной смене паролей исполняются не всегда или через задницу… А кто-то на этом зарабатывает деньги, и прежде всего – из правоохранительных структур. 🙁

[17.02.2017 12:12:12]

После того, как я прописал статичные маршруты до Интернет-центра, ничего не изменилось – tracert показывал тот же маршрут, только прохождение пакетов ускорилось. Иначе говоря, подмена IP адресов была вызвана не этим. И тут меня осенило: за назначение IP адресов хостам отвечают не маршрутизаторы, а DNS сервера. Это значит, что провайдер заблокировал мой IP адрес в DNS сервере, намеренно присваивая ему не существующий IP. Я решил проверить эту догадку, и отключить DNS сервера провайдера. Я использую маршрутизатор, и настройки DNS серверов приходят на него от провайдера автоматически. К счастью, производители оборудования пишут, каким образом можно отключить автоматическое присвоение DNS адресов провайдера, и инструкции выложены на сайте производителя оборудования.

ВНИМАНИЕ! Отключение автоматического назначения серверов провайдера маршрутизатору может полностью отключить Вас от домашнего Интернета. К тому же эта операция не санкционирована провайдерами Интернета во всём мире. Так что следование положениям этих инструкций Вы осуществляете на свой страх и риск.

После отключения DNS серверов провайдера Интернет на моей машине не пропал, потребовалась перезагрузка. Компьютер перезагрузился – и, о, чудо, – Интернет пропал. А WMI провайдер показал отсутствие внешнего IP адреса на компьютере. Так что всё идёт по плану. Далее я просто добавил IP адреса OpenDNS серверов в маршрутизатор, и Интернет заработал. И внешний IP адрес определился правильно. Теперь надо проверить работу DynDNS сервисов, и посмотреть, не блокируются ли адреса моих пиратских сайтов. Проверка на блокировку ресурсов, запрещённых Роскомнадзором, показала, что эти ресурсы у меня теперь не блокируются. Что и следовало ожидать… 🙂

[17.02.2017 8:32:38]

Обнаружил, что мой Интернет-центр нормально работает через следующие шлюзы провайдера:

81.177.115.69 – Основной шлюз, выдаваемый DHCP

81.177.115.68 – шлюз для перенаправления на прокси-сервер

  • внутренний прокси-сервер (адрес не определился);

Также я обнаружил, что в системе функционирует не менее двух внешних шлюзов с адресами:

81.177.115.6

81.177.115.2

Именно эти шлюзы ответственны за передачу пакетов из сети провайдера далее. Интересно, если прописать статичные маршруты напрямую к этим узлам, поможет ли это мне решить проблему с блокировкой DynDNS?

[17.02.2017 7:49:10]

Запустив программу tracert, я сразу обнаружил, что в таком «красивом» IP адресе, выданным мне Ростелекомом (88.147.242.198) действительно скрыты «сомнительные маршруты». После того, как я набрал команду:

tracert 88.147.242.198

Я вначале попал на свой маршрутизатор, потом на маршрутизатор провайдера, а потом меня стали «мутузить» по разным IP адресам, причём эти адреса были скрыты (не выдавали свой echo ответ). Идеальный способ, чтобы запутать DynDNS! Но, надо предполагать, что этот маршрут начинает действовать только по достижении одного из маршрутизаторов, обслуживающих сеть моего провайдера, причём этот маршрутизатор должен находиться в Саратове. Никто бы не разрешил перепрошивать пути в маршрутизаторах в Москве. А это значит, что мне нужно найти тот самый Gateway, в котором не прошиты эти правила маршрутизации. Продолжу заниматься программой tracert.

 

[[16.02.2017]]

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

Вначале я грешил на проблемы с WMI, поскольку именно эта подсистема ответственна за определение внешних адресов, и, соответственно, за работу DynDNS. Однако, погрузившись в дебри Интернета, я обнаружил, что записи WMI здесь не причём. WMI предоставляет лишь то, что записано в подсистеме NAT компьютера. В свою очередь, NAT и NPAT работают только с тем, что даёт таблица маршрутизации на сетевых устройствах. Выяснив это в Интернете, я по известным советам очистил таблицу маршрутизации своего компьютера. И сразу же был отключён от Интернета до перезагрузки. Иными словами, я выяснил, что таблица маршрутизации на моём компьютере не причём, поскольку после перезагрузки внешний IP адрес компьютера не изменился.

Просмотрев таблицу маршрутизации своего компьютера после очистки, я обнаружил стандартный маршрут до шлюза и несколько маршрутов по умолчанию до провайдера. Внешний IP адрес там вообще не фигурировал. Иначе говоря, вирусной атаки на мой компьютер с изменением таблицы маршрутов не было. Тем же методом исключения я решил, что таблица маршрутизации моего Интернет-центра также должна быть чистой, ведь пароля от маршрутизатора никто не знает. Осталось предположить худший для меня вариант. С целью исключения своих пиратских сайтов таблицу маршрутизации изменили в таблице маршрутизации моего провайдера, прописав «левый» статический маршрут. Который ведёт в никуда.

Как мне обойти подобную ситуацию. Один из возможных ответов на этот вызов – прописать статичный маршрут до значимых для меня сетей, чтобы пакеты могли миновать этот «фейковый маршрут» и доходили куда надо. Для этого нужно знать адрес шлюза Саратовского провайдера Волгателеком Я знаю, что DNS серверы у них фиксированные, значит, фиксированными должны быть DHCP-сервера и Gateway-адреса. Вычислить эти адреса поможет программа tracert, запущенная неоднократно. Таким образом, я узнаю Gateway адрес своего провайдера, а значит, смогу приписать статичный маршрут на своём компьютере/маршрутизаторе. И все ухищрения сетевых администраторов провайдера мне будут по барабану.

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

Поэтому для начала мне нужно разобраться с интерфейсом CLI моего маршрутизатора. Завтра займусь этим. Ведь игра стоит свеч!.. 🙂 Кстати, надо подумать, как мне отключить DNS сервера «Волгателеком» по-умолчанию. Это должно быть первым этапом на пути полного контроля над моей сетью.

[[15.02.2017]]

[15.02.2017 21:59:50]

Сегодня я «обезопасил» свой компьютер, установив шифрованную файловую систему на свой диск C:/ Однако после этого у меня перестал работать сертификат безопасности для Mail.Ru, Atavi, Одноклассники. При этом нет сообщения о подмене сертификата – есть сообщение только об «отсутствии прозрачной проверки» данного сертификата. На форумах один ответ – обновите браузер, или обратитесь в службу поддержки клиентов браузера. Я сделал второе.

Кстати, файловая система обновилась для нескольких браузеров, и только на одном из них была замечена чехарда с сертификатами, притом не для всех сайтов. Что-то производитель браузера мудрит… 🙁

Также сегодня я попытался настроить Катьке планшет удалённо, через сеть Интернет. С третьей попытки она скачала программу, даже её установила, однако удалённого соединения мне получить не удалось – соединение сбрасывалось с предупреждением «Ошибка Wi-Fi». Интересно, Катька что-либо не напутала?

 

[[14.02.2017]]

[14.02.2017 22:16:13]

Сегодня в очередной раз установил на свой компьютер программу для создания HTTP зеркала сайтов HtTrack. После этого попытался сделать копии двух сайтов с помощью этой программы: зеркала Русского кодекса WordPress и сайта с коммерческими базами данных. При работе с программой столкнулся со следующими особенностями:

  1. Программа скачивает сайты только по HTTP протоколу, причём только находящиеся в публичном доступе. Поэтому никакую «секретную информацию» с сайта баз данных я не получил… Однако анализ даже полученной таким образом информации помог мне обнаружить уязвимости указанного сайта.
  2. Программа работает с многочисленными ошибками. Так, в первом случае сайт у меня обновился с третьего раза, а второй сайт закачался у меня только со второго раза. Причина, скорее всего, в том, что малейшая неполадка при закачке (временная блокировка файрволом, задержка в обновлении сертификата, обрыв связи из-за помех в канале) вызывает прекращение закачки текущего файла, и переход к закачке следующего файла. То есть механизм «докачки файла» по протоколу HTTP (TCP:80) не работает… 🙁 В случае же, когда TCP соединение установлено и достаточно надёжно работает, закачка идёт «и быстрее, и полнее». Эту особенность программы нужно иметь ввиду при скачивании больших сайтов;
  3. Программа работает только по протоколам HTTP/HTTPS. Это значит, что скачать файлы с PHP кодом, файлы настроек и CGI скриптов Вам не получиться… В отличие от программ wget и curl, которые всё-таки могут переключаться в режимы работы по другим протоколам, когда этого требует ситуация.

 

[[13.02.2017]]

[14.02.2017 12:16:28]

Сегодня зарегистрировался на сервисе закладок Pinboard.In. Регистрация – платная, но не самая дорогая. Достоинства этого сервиса закладок, прежде всего, перед Delicious:

  1. Сервис развивающийся;
  2. Сервис поддерживает синхронизацию прямо «из коробки»;
  3. У сервиса существует множество работающих дополнений и приложений к браузерам и ОС;
  4. По умолчанию производится синхронизация с Twitter;
  5. Сервис поддерживается IfThisThanThat;
  6. Сервис минималистичен;
  7. Сервис обладает социальными функциями, содержит облако тегов и позволяет осуществлять поиск по всем сохранённым на сервисе закладках.

Единственно, из-за неправильных настроек я допустил циклическую ссылку. Исправил её только через 6 часов.

[[10.02.2017]]

[10.02.2017 16:01:47]

У меня так и не запустилось серверное приложение, которое должно играть роль панели хостинга для моих сайтов. Нет, установилось оно нормально, но в инструкции не была прописана дальнейшая активация этого приложения. А она включает в себя дополнительно следующие этапы:

    1. Разрешение правил в брандмауэре для протоколов;
    2. Проброс протоколов через маршрутизатор;
    3. Установление прав на чтение и запись для каталога приложения. Эти права должны быть предоставлены следующим пользователям:
      • пользователю, на которого зарегистрирован данный пул приложений;
      • пользователю IUSR;
      • пользователю IIS_IUSR;
    4. Сайт должен быть разрешён к доступу в файле конфигурации %MyDocuments%\IISExpress\config\applicationhost.config? приблизительно следующей инструкцией (ищите поиском в файле по ключевой фразе «<site»):
****
<site name="WebSite1" id="1" serverAutoStart="true">
<application path="/">
<virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:8080:*" />
</bindings>
</site>
****

Вы должны будете для каждого сайта, занимающего отдельный пул приложений, указать свои поля name, id, physicalPath, bindingInformation. Внимание! Поле bindingInformation автор настоятельно рекомендует оставлять в таком синтаксисе, как показано в примере, изменив только номер протокола. Только в этом случае сервер будет слушать все IP адреса, и принимать все URL, доступные для данного порта и протокола. Иначе вы замучаетесь с ошибкой 400 веб-сервера.

  1. И, наконец, Вы будете должны зарегистрировать Ваш сайт на сервере командой netsh, запущенной с консоли. Что-то типа этого:

netsh http add urlacl url=http://*:8080/ user=Все

… Я сделал всё это, но программа у меня так и не запустилась, на этот раз с ошибкой 503. В Интернете 95% объяснений этой ошибки касаются переполнения очереди запросов http сервера, что в данном случае не так (на других протоколах сервер работает). 4,99% всех ответов касаются объяснения того, что такое пул http в IIS и как правильно его запустить. А полезную для меня 0,01% информации, как же всё-таки запустить «упавшее» приложение в пуле я так и не нашёл. Причина ошибки, как уже говорилось выше, элементарная – не запускается пул приложений либо приложение из пула… 🙁

[10.02.2017 7:46:20]

Сегодня наконец-то выяснил, как добавлять поддомены к домену второго уровня, зарегистрированного на сервисе jino и перенесённого на другой DNS хостинг. Надо отметить, что jino никогда полностью не расстаётся со своими доменами, и настройка доменов всё равно осуществляется из панели управления хостингом jino, даже если были изменены ты записи основного сервера домена. Иначе говоря, куда бы Вы ни перенесли хостинг и dns серверы своего сайта, делегировать поддомены, а также создавать и управлять ими вы будете только из панели управления хостингом jino.

Ниже будет приведена инструкция, как добавить поддомен к существующему домену второго уровня, зарегистрированного на сервисе jino. При этом неважно, где в действительности будет располагаться хостинг и dns серверы, обслуживающие этот хостинг: на серверах jino или где-нибудь ещё. Алгоритм следующий:

  1. Создаём хостинг на любом сервере с параметрами http/1.1 протокола «ваш поддомен».«домен, выданный jino». Это Вы должны знать как системный администратор;
  2. Регистрируем этот домен третьего уровня полностью на DNS сервере Вашего хостера. В записях домена необходимо будет указать основные серверы домена (записи ns) и запись A для указания IP адреса хостера. Больше никаких записей добавлять не нужно;
  3. Переходим на панель управления сервером jino, в раздел «Домены» -> «<запись о Вашем домене>» -> Вкладка «Настройка DNS»;
  4. Выбираем кнопку «Добавить запись» (или Новая запись);
  5. В появившемся диалоговом окне заносим следующую информацию:
    • Тип записи: «NS»;
    • Поддомен: «<ваш поддомен>»;
    • dns сервер: «Dns сервер Вашего хостинга, см. п. 2»;
  6. Добавляем аналогично ещё резервные записи о dns серверах хостинга;
  7. Закрываем панель управления хостингом jino;
  8. Набираем команду ping «ваш поддомен».«домен, выданный jino». Должен появиться эхо-ответ от сервера Вашего хостера;
  9. Иногда при проверке командой ping ответа от сервера нет, и появляется надпись о несуществовании такого домена. Это может связано с тем, что не обновился кэш dns сервера Вашего провайдера. В этом случае Вам нужно перейти на сервер 2ip.ru, ping.eu или аналогичные и проверить доступность домена (видимость сайта из Интернета) их штатными средствами проверки домена. Если домен третьего уровня правильно делегирован, то Вы увидите в ответе IP адрес сервера вашего хостинга. Если вместо этого Вы видите надписи NX3, NX_DOMEN или подобное, значит, Ваш домен делегирован неправильно. В этом случае проверьте свои действия в пунктах 1-7.
  10. Если домен делегирован правильно, но ping с компьютера по-прежнему не проходит, то ошибка, скорее всего, заключается в медленном обновлении кэша Вашего провайдера. Здесь остаётся либо ждать окончания обновления этого кэша, либо воспользоваться хаками с собственным DNS сервером или файлом etc/hosts.

 

[[07.02.2017]]

[07.02.2017 17:46:37]

Сегодня занимался написанием (вернее, правкой) кода проекта themeframe, исходники которого я скачал с пиратского сайта. Выяснилось, что код этого проекта был очень далёк от завершения, хотя на файле гордо сияла надпись «beta 18». Скорее это «alpha 0.18»! 🙂 В ней не реализованы функции сохранения редактируемых настроек темы в файл, и, судя по всему, с этим участком кода автор долго мучался, да так и забросил проект.

Я пока сделал очень мало, и изменения касаются только стиля написания функций и именования переменных. Однако когда я начал документировать эти функции, логика работы скриптов стала для меня очевидной. А всего-то надо было написать список используемых переменных и основные «вехи» работы алгоритма.

Работу я делаю в программе phpStorm, лучшим инструментом для правки кода. Документирую же скрипты я в программе «Notepad++», которая, кроме подсветки текста, ещё проверяет орфографию и делает автоматическую подсказку при наборе слов.

[07.02.2017 13:31:12]

Сегодня выяснил для себя не очень хорошую вещь. Оказывается, драйверы PDO_MSSQL и SQLSRV, установленные мною вчера на компьютер, в среде PHP 7.1.1 не запускаются! То есть вообще… 🙁 А делать Downgrade PHP до версии 7.0.7 я не намерен… 🙁 Придётся рекомендовать к использованию в система Windows + Apache + PHP + SQL Server драйвер ODBC. Он, вроде бы, установился у меня нормально.

Дополнительно мне пришлось установить множество программ и фреймворков для работы пакета PhpStorm. К счастью, все они оказались бесплатными. Затруднения в настройке вызвала программ Vagrant, хотя её предназначение я не понял. При установке этой программы из менеджера chocolatey в файлы конфигурации прописываются «левые» пути, поэтому программу требуется переустановить после исправления всех этих путей. К тому же эта программа нормально работает только с установленным модулем ruby, которая она скачивает в зависимостях… Зато проблем с библиотеками PHP и JavaScript у меня нет. 🙂

Пока не выяснил невозможность запуска программного модуля PDO_MSSQL, скачал и попытался настроить базу данных MS SQL Server, тестовую для разработчиков. Скачал я её довольно быстро, однако подключить её к серверу оказалось не так просто. Дело в том, что я решил всё сделать по аналогии с MySQL: создать базу данных и импортировать в неё данные и таблицы. В SQL Server такой приём оказался неработоспособным. Чтобы импортировать базу данных, она должна иметь ту же структуру, что и созданная, плюс иметь те же прав доступа. Поэтому единственный способ импортировать базу данных в SQL Server – это щёлкнуть правой клавишей мыши на вкладке Databases и выбрать в контекстном меню пункт «Restore». Откроется диалоговое окно для импорта базы данных. Дополнительно, у меня при импорте базы данных из резервной копии были недоступны все сетевые диски и некоторые предопределённые каталоги («Загрузки», «Мои документы» и т.п.) Так что Вам может потребоваться скопировать файлы с копией в какой-нибудь «нейтральный» каталог, не блокируемый SQL Server.

 

[[06.02.2017]]

[06.02.2017 13:30:56]

Сегодня, как и вчера, продолжал настраивать свой хостинг. Вчера обновил сервер Apache и PHP, добавил wp-cli и Composer. Сегодня настроил эти программы, скачал и установил MS SQL Server ODBC и PHP драйвера. Дело в том, что поддержка MS SQL в PHP 7.1.1 прекращена, по непонятной причине. Поэтому приходится использовать сторонние драйверы.

Также сегодня разбирался с программой curl и wget. Пробовал с их помощью скачать файл PHP на свой компьютер по протоколу http. Программа мне выдала HTML файл, уже обработанный сервером и интерпретатором. Видно, по протоколу Http можно получить только то представление в curl и wget, как в браузере… Это особенность работы протокола. Однако я нашёл кое-что интересное, а именно, html страница сохраняется вместе с двоичными данными, которыми кодируются рисунки и другие элементы. Это значит, что скачав файл этими программами, Вы никогда не потеряете оригинальные файлы с вложениями, даже если хостинг этих рисунков закроется.

Кроме того, в программе curl есть возможность не набирать опции в командной строке, а создать подключаемый файл конфигурации, в котором поместить URL и другие опции для скачивания, причём для нескольких вызовов curl. Это полезно при множественной скачке, и проще, чем создание командного файла.

В команде wp-cli тоже есть возможность создания файлов конфигурации. Это делается достаточно просто, надо только знать, куда по умолчанию Windows записывает файлы конфигурации. Так вот, в руководствах всё написано неправильно. Путь к файлу конфигурации по умолчанию прописывается в переменной WP_CLI_CONFIG_PATH. Причём её не обязательно делать глобальной. Наоборот, объявив её пользовательской, Вы сможете гибко управлять этими настройками в аккаунтах.

 

[[30.01.2017]]

[30.01.2017 21:14:24]

Сегодня сэкономил себе 1800 рублей на ремонте ноутбука. Не стал переплачивать различным мастерам, которые всё равно не заменяли комплектующие, а брали деньги как за новые. По порядку.

Вчера у меня очередной раз остановился вентилятор. Разбор корпуса ноутбука показал, что вентилятор не заклинило, двигатель не сгорел, в охлаждающей системе не скопилась пыль – просто вал вентилятора вращался с усилием. Поскольку только ради этого менять кулер «душит жаба», я решил исправить неисправность сам. С «полпинка» нашёл несколько инструкций в Интернете по замене вентилятора (ссылки привожу). Там было довольно длинное описание, но у меня всё было проще:

  • Система охлаждения открытая, выведенная наружу;
  • Кулер самый простой, разборный;
  • Кулер крепится к системе охлаждения на термоскотче, причём один термоскотч уже оторван.

Мне осталось выяснить, чем смазывать подшипник кулера. Все мастера и в офлайне, и в Интернете советуют использовать силиконовое масло. Но, изучив физико-химические характеристики силиконового масла, я пришёл к выводу, что для смазки подшипников оно непригодно. Из-за слабого поверхностного сцепления с движущимися частями. Силиконовое масло должно быть основой смазочных материалов (наполнитель и растворитель) для углеводородных смазок. Поскольку такого сложного масла я не нашёл (да и вряд ли оно продаётся по вменяемой цене), решил смазать подшипник маслом И-40. Недостаток этого масла заключается в худшей зависимости вязкости от температуры и способностью «притягивать» (адгезировать) пыль из внешнего пространства. Но всё равно это лучше, чем использовать чисто силиконовую смазку, которая просто «вытекает» из подшипника.

Разбирая кулер, сломал на нём одну лопасть. Но, в принципе, сломал я её специально – она уже была надломана, могла сломаться при работе и повредить подшипник. Всё равно кулер в следующий раз придётся менять!

Разбор и исправление неисправности заняло у меня 20 минут. Ещё 1 час я потратил на то, чтобы дать подшипнику отстояться в масле, а корпусу ноутбука прогреться до комнатной температуры. Ремонта же в сервисе отняло бы у меня 8 часов.

После всего этого я устанавливал на свой компьютер различные программы. Я установил NetBeans, Android SDK, Delphi for PHP, hMailServer, Xamarin Studio, Code::Blocks и много чего ещё. Так что моя машина может послужить для разработки крутого ПО, в том числе и хакерского… 🙂

Привожу ссылки на статьи и видеоуроки по ремонту вентилятора ноутбуков:

Как часто нужно менять термопасту в ноутбуке и как это сделать — Обзор

https://youtu.be/5leNhwJ2o2U

Как впихнуть невпихуемое или замена вентилятора HP G6

https://youtu.be/wj6TN_t62uQ

СИЛИКОНОВЫЕ МАСЛА: виды и свойства http://www.newchemistry.ru/printletter.php?n_id=5365

Этих материалов мне оказалось достаточно, чтобы самому починить ноутбук.

[[29.01.2017]]

Сегодня попытался настроить сниппеты на своей оболочке Consolez. Сниппеты я так и не настроил (ну и песец с ним), но обнаружил и настроил для себя несколько превосходных вещей:

  1. Выяснил, что вследствие одной ошибки consolez теперь запускается только с правами администратора. Начал изучать, как это лучше сделать с этими правами.
  2. Нашёл в Интернете статью, как запускать Consolez из контекстного меню. К сожалению, этот пример не подошёл для моего случая, когда нужно запустить Consolez с правами администратора.
  3. Однако в Интернете я нашёл статью https://technet.microsoft.com/ru-ru/library/2008.06.elevation.aspx, с примерами, в которой специалист Microsoft рассказывал как раз о хаках для повышения прав среди администраторов Windows. Для этого мне ещё пришлось скачать пакет Sysinternals Suite по ссылке https://technet.microsoft.com/en-us/sysinternals/bb842062.aspx и доработать файл Elevate.cmd для повышения прав.
  4. Пакет Sysinternals Suite не имеет установщика, и мне пришлось его распаковать в папку C:\Program Files\Sysinternal Suite\ для корректной работы скрипта, скаченного по ссылке из статьи, сделать несколько тестовых запусков полученного скрипта.
  5. Файлы с окончательным вариантом запуска:
C:\Windows\System32\Elevate.cmd

@setlocal
@echo off

:: Pass raw command line arguments and first argument to Elevate.vbs
:: through environment variables.
set ELEVATE_CMDLINE=%*
set ELEVATE_APP=%1

start wscript //nologo "C:\Windows\System32\Elevate.vbs" %*

"consolez as System.reg":
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\Console]
@="Console Here As System"
[HKEY_CLASSES_ROOT\Directory\shell\Console\command]
@="Elevate.cmd \"C:\\Program Files\\Sysinternals Suite\\psexec.exe\" -i -s -d \"C:\\ProgramData\\Chocolatey\\lib\\ConsoleZ\\tools\\Console.exe\" -d \"%V\""

[HKEY_CLASSES_ROOT\Directory\Background\shell\Console]
@="Console Here As System"

[HKEY_CLASSES_ROOT\Directory\Background\shell\Console\command]
@="Elevate.cmd \"C:\\Program Files\\Sysinternals Suite\\psexec.exe\" -i -s -d \"C:\\ProgramData\\Chocolatey\\lib\\ConsoleZ\\tools\\Console.exe\" -d \"%V\""

Внимание! Запущенная оболочка будет иметь максимальный уровень привилегий. Это делает её комфортной для запуска разного рода вирусов, что для большинства пользователей некстати.

[29.01.2017 6:07:31]

Сегодня сморозил поутру одну умную вещь – посмотрел логи сервера Apache с моей программой. Обнаружил следующее:

  1. Предупреждение о несоответствии типов выводилось не зря. Действительно, даже если метод fetch в PDO выдаёт только одно значение, оно всё равно является массивом. Поэтому везде алгоритм нужно переделать Уверен, после этого программа заработает и на сервере IIS;
  2. Обнаружил в коде функцию, не определённую автором оригинального кода. Причём, даже непонятно, что должна делать эта функция… Зачем нужно дальше обрабатывать сериализованный массив?! Удалю её к ядрёной фене… 🙂
  3. Есть ещё ошибки в начальном определении индексов переменных, которые присутствуют в программе и её выводе. Но с этим как-нибудь попозже.

 

[[28.01.2017]]

[28.01.2017 20:10:45]

Намучившись с отладкой JavaScript кода в проекте ThemeFrame, решил установить себе парочку интересных редактора для Javascript кода: 1st JavaScript Editor и JSE. Устанавливать их нужно только парой. Если второй больше подходит для собственно написания и отладки javaScript, то первый редактор ответственен за интеграцию кода javaScript в готовые веб-проекты. Дело в том, что JSE не поддерживает отладку кода в собственном браузере из-за того, что он был разработан ещё в Windows XP, и завязан на её технологии. А современные ОС и браузеры в нём не поддерживают прямое исполнение кода javaScript. Да и синтаксис JavaScript приложений для ОС также изменился. Поэтому, написав скрипт во втором редакторе, необходимо его интегрировать в экосистему проекта с помощью первого редактора. Первый редактор к тому же имеет обширную библиотеку готовых примеров javaScript.

Что плохо – оба взломанных редактора содержат в себе вирусы. Так что запускать их с правами администратора крайне не рекомендуется. Это особо актуально для Windows 8 и 10, встроенные средства безопасности, которых блокируют распространение этих вирусов.

[28.01.2017 19:41:47]

Сегодня у меня был неудачный, но достаточно плодотворный день. 🙂

Вначале я включил закачку плагинов для FL STUDIO. Потом установил программы для обработки XML, помня свои мытарства с Mediawiki. И, наконец, начал править код незаконченной кем-то бета-версии программы ThemeFrame для создания тем в WordPress. Об этой программе поподробнее

Больше всего времени у меня занял «бзик» адаптировать эту программу для веб-сервера IIS. Из этого ничего не получилось. Вероятно, дело в настройках PHP в IIS и Apache, они у меня разные.

Перейдя на сервер Apache, обнаружил, что программа не сохраняет изменения, сделанные в диалоговых окнах темы. Методом «научного тыка» отсёк следующие предположения:

  1. Неправильно работает (очень криво написана) форма, с помощью которой осуществляется изменение параметров тем;
  2. Возможен конфликт модулей PHP и JavaScript;
  3. Не работает на сервере модуль AJAX;
  4. Неправильно определены общие и глобальные переменные сервера (подтвердилось частично, надо было отдельно определять глобальные переменные для PHP и javaScript);
  5. Пропущено определение функций перед их использованием (это до конца не проверил);
  6. Вместо технологии AJAX необходимо использовать классические серверные технологии;
  7. Ошибка в написании PDO инструкций для SQLite;

Наконец, ошибка в реализации функции сохранения настроек в базу данных SQLite подтвердилась. Причём ошибка в алгоритме, а не синтаксисе. Кажется, разбираться с этим буду долго….

Ещё непонятно, почему автор для объединения данных массива в одну строку использовал сериализацию, а не json, тем более что в комментариях есть следы использования этой технологии. С файлами JSON его программа работала бы гораздо стабильнее, и потом это новая технология! Видимо поэтому он её и не использовал… 🙁

А, вследствие всего этого, у меня ещё одно расстройство, ведь я лишился простого инструмента для построения с нуля тем WordPress… Это очень большое расстройство. Придётся пользоваться платной программой Artister, а потом «дорабатывать тему напильником» вручную… 🙁

 

[[27.01.2017]]

[27.01.2017 20:44:16]

Установил на свой компьютер программу curl через менеджер Chocolatey и программу parsoid через npm. Последняя программа у меня не запустилась – выдаёт ссылку на нулевой объект. Зато вторая запустилась и заработала. CUrl представляет собой программу для скачивания из интернета любого файла по любому протоколу и отображение его текстового содержимого в окне терминала. Таким образом, можно получить себе на компьютер содержимое php файлов, к которым обычным способом получить доступ затруднительно. Я же сразу попробовал получить с помощью CURL файлы конфигурации CMS. Попытка, как было и задумано, оказалась неудачной. Программа якобы не отработала. При включении же режима –verbose стало видно, что после обращения к файлу соединение сбрасывалось веб-сервером. Что ж, реакция ожидаемая.

До этого я решил клонировать сайт Wiki Sound, посвящённый написанию музыки на компьютере. Для этого я создал сайт MediaWiki на своём движке, настроил его, и импортировал в него часть материалов с официального сайта. Обнаружил очень удобную возможность в MediaWiki, как скопировать страницу, не перебивая текст из неё в окне «Правка». Дело в том, что практически в каждой MediaWiki доступна страница экспорта одной, нескольких страниц и даже целых категорий в XML файл. Я даже обнаружил один хак для быстрого сохранения страниц в русской Wiki. Для этого обычный URL: http://yoursite/name_of_page надо переписать как http://yoursite/Специальная:Экспорт/name_of_page, и вместо страницы name_of_page (у вас, естественно, будет другое имя) будет показана страница экспорта name_of_page.xml, которую можно потом сохранить как текстовый файл формата text/xml. Затем экспортированные страницы можно импортировать в другую wiki на странице «Специальная:Импорт». Заполнив несложную форму, в которой практически все поля можно оставить по умолчанию, нажмите кнопку «Загрузить», и новая страница импортируется в Wiki.

Но, к сожалению, рисунки таким образом загрузить не получится. Поэтому я написал в группу, авторам сайта, с просьбой предоставить рисунки для клона Wiki.

Ещё ранее я занимался настройкой различных сенквесторов, прежде всего – FL STUDIO. Мне удалось поставить в параллель два редактора, хотя пользы от этого я получил мало. Всё равно мне пришлось скопировать все плагины и пресеты в одну папку. При объединении плагинов я обнаружил, что большинство плагинов из моей сборки – неполные, либо незарегистрированные. Как их регистрировать, я сейчас бес понятия – регистраторы все собраны в одну кучу, без внятных имён, к чему относятся, но с вирусами. :-). А с имеющимся набором плагинов каши не сваришь – в нём нет даже таких простых пресетов, как кик, снап, хэт, не говоря уже о более продвинутых. Так что мне придётся скачивать инструменты и пресеты с торрентов. Пока занимался этим, упустил настройку работы с синтезатором KORG и настройки драм-машин. Из драм-машин мне надо выбрать что-то по проще, чтобы сразу можно было работать. 🙂

 

[[26.01.2017]]

[26.01.2017 19:54:34]

Установил на свой компьютер несколько программ для работы со звуком: Cubase и FL Studio. Cubase имеет известные проблемы со взломом. Наконец-то нашёл нормальный торрент с инструкцией по взлому лицензии. Правда, эти лицензии были взломаны не до конца – три плагина были отключены из-за лицензионных ограничений. Из-за этого несколько примеров оказались без компонентов. Взломанную лицензию на плагины будет найти проблематично… 🙁 Кроме того, из-за лицензионных ограничений был не установился ASIO драйвер Steinberg Cubase.

С FL Studio проблем было меньше, он нормально устанавливается и взламывается. Но драйвер ASIO по-прежнему не устанавливался, и звуки в нём не воспроизводились.

Решив разобраться с ASIO драйвером, полез в Интернет. Там довольно подробно он описан, обсуждаются известные проблемы, и рекомендуется бесплатный ASIO драйвер от Steinberg – ASIO4ALL. Он позиционируется как бесплатный универсальный драйвер для платформы Windows. Он прекрасно документирован, лёгок в установке и имеет минимум проблем с оборудованием и другими драйверами. Я скачал и установил этот драйвер.

Далее надо включить этот драйвер в настройках плеера. Для AIMP это не составило проблем – всё решается на вкладке «Воспроизведение», надо просто выбрать устройство. К сожалению, выбрав этот драйвер, Вы не сможете подключиться к устройству DFX Enchancer, который остаётся доступным в устройствах DirectSound и WASAPI. Это затрудняет использовать устройство ASIO для проигрывания звуков через внешние колонки – они нормально работают только с улучшителем звука. Что касается качества звучания, то с ASIO драйвером звучание значительно сочнее и чётче, чем при обычных драйверах звуковой карты. Но с улучшителем звука колонки звучат всё равно лучше.

Добавить комментарий