Блог очередного разработчика

Sanasol

Поменять IP на всех сайтах в Cloudflare

Заменяем старый IP на всех доменах добавленных в CloudFlare.

Ставим из композера: jamesryanbell/cloudflare

Создаем php файл

 

Заполняем переменные: старый/текущий IP, новый IP, email аккаунта на CF, API ключ CF
Запускаем

Профит!

Генератор миксов для кальяна

Генератор миксов

Я большой любитель кальяна, и придумалось сделать генератор миксов.

Так как кальян я курю почти каждый день, запомнить все вариации чаш которые я забиваю(чтобы не повторяться) стало трудновато.

При этом хочется пробовать новые варианты, а не делать одно и тоже.

В общем на фоне этого не так давно пришла мысль вести это в каком-нибудь «списке дел» или еще где-то.

Но это слишком трудно, каждый раз записывать и придумывать новые варианты, я слишком стар для этого дерьма ленив.

Так что я взял простой ToDO лист и доделал к нему список имеющегося табака и пару кнопок для генерации всевозможных миксов.

Получилось как-то так: http://sanasol.ws/hookahgen/

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

 

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

Единственная опция в генераторе это из скольких табаков генерировать миксы: все варианты(включая один табак), минимум 2 табака, минимум 3 табака.

Я думаю для сверхпростого генератора этого достаточно.

Двойной клик на микс или табак включает редактирование.

Так же после успешного(или не очень) испытания микса его можно отметить галочкой — «завершенным»(completed).

 

Список табака и миксов сохраняется в браузере, так что можно не бояться его потерять при обновлении страницы 🙂

 

Ну и конечно исходники приложения на Github: https://github.com/S-anasol/hookahgen

Скидка на доступ к Бородачу

Вчера началась складчина на доступ к бородач сервису.

За 540 рублей вместо обычных 999р можно получить полный доступ к сервису.

Складчина «авторская», каждый получает персональный оплаченный аккаунт на сервисе.

Т.е. это оптовая покупка, а не один аккаунт на всех 🙂

Складчина проходит здесь

Отказоустойчивость use case

Схема серверов

VPS #1 — Франция

  • nginx+php
  • mysql-1
  • haproxy

VPS #2 — Канада

  • nginx+php
  • haproxy

VPS #3 — Нидерланды

  • nginx+php
  • mysql-2
  • haproxy

mysql — master-master репликация.

haproxy — балансирует запросы на два mysql мастера.

haproxy.cfg

На каждый сервер идёт свой поддомен.
Чтобы завалить сервис необходимо положить как минимум 2 хоста из 3.
Для этого надо знать какие хосты держат mysql сервера.
В противном случае класть придётся все хосты, дабы вывести из строя сервис.

Работает :)

Eloquent query logging outside Laravel

Class db does not exist eloquent

A facade root has not been set

and other terrible errors.

This post for those who like me using Eloquent outside Laravel.
With config like this:

Sometime need to log queries or just count it.
Almost all google results show code like this:

But outside Laravel you will get errors written above.

I spent some time to get it work.
And now i got solution 😀

To get work query logs outside Laravel use this 🙂

Социальные врата или как я стал Ларисой

Новый маскот бороды
Новый маскот бороды

Привет! Как вам новый маскот?)

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

Итак SocGate!
Вот уже года 2 все успешно ловят ВК своих посетителей на сайтах.
Конечно рано или поздно но встал бы вопрос, а что же с другими соц. сетями.
И он упорно задается до сих пор: Одноклассники, Facebook.
Все жаждут получать все возможные профили своих жертв клиентов.

Сперва немного теории для тех кто всё еще не знает как это работает.
При заходе на ваш сайт загружается специальный скрипт, который вставляет на страницу скрытый Iframe.
Этот iframe прозрачный 1×1 пиксель и беспощадно ведет охоту на ваш курсор, а точнее летает ровно под курсором.
Что приводит к тому что ваш любой клик так или иначе попадет в iframe.
А самое интересное внутри. В iframe засунута уникальная страница сервиса с кнопкой Like.
После того как вы сделали клик — лайкнули эту страницу.
Сервис стучит в прекрасную APIшечку VK и забирает список лайкнувших для этой страницы.
Так как страница уникальная лайк там всего один — отгадайте чей?
Так и происходит получение профилей посетителей сайтов.
(далее…)

How works deploy on my pet project

ea5e8eba38b1f022d4cc898bac48

Hello, %username%.

First english post here. Just for lulz 😀
Actually post related to gift i’ve got from DeployBot
Here some stickers and postcard with handwritten message.
Gift from DeployBot

So I decided to write little post about deploy on my pet project — vboro.de.
I also have work project on deploybot, but it works almost same. Only difference is servers amount.
I use DeployBot about 9 months totally and last 3 months with the paid account.

So my deploy script is not canonical and not safe, but it works 🙂
After commit on master — github send info to DeployBot.
Then it just pulling data from github and then run/install/update composer and depencies.

How it looks on DeployBot

And here full script:

Thats all!
At current moment a have about 2500 deploys passed.

Угловая борода

Начал немножко осваивать AngularJS.
Конечно же лучшее место для теста это пара страниц в бороде.
Первым делом конечно же основная страница со списком собранных профилей.
Получилось как-то так:

Собранные ВК профили
Собранные ВК профили

(далее…)

Не показывает русский в DLE после обновления php

Пропал русский в DLE
Пропал русский в DLE

При обновлении со старой версии php в DLE могут пропасть русские символы в заголовках и контенте админки.
Это происходит в случае использования кодировки windows-1251/cp1251
Для исправления необходимо явно указывать кодировку windows-1251 в вызове функции htmlspecialchars().

Список файлов для исправления DLE
Список файлов для исправления DLE

Список файлов для исправления

  • /engine/inc/editnews.php
  • /engine/classes/parse.class.php
  • /engine/inc/xfields.php
  • /engine/inc/include/functions.inc.php

Добавляем во всех функции кодировку из конфига.

Например:

Дамп приложений Google Play

Google_Play_logo.svg

Распарсенный гуглплей.
1.2 миллиона приложений с описанием и вообще всем что только можно придумать.

Софт: https://github.com/MarcelloLins/GooglePlayAppsCrawler
Парсил автор софта.

Дамп от декабря 2015.
Скачать(1.32 гб/распакованный 5гб): http://sanasol.ws/PlayStore_2015_12.tar.gz
Зеркало на ЯД: https://yadi.sk/d/JLeqUeuznKkHx