Дисклеймер

Внимание: в этом блоге могут описываться события, явления и факты при помощи ненормативной лексики. Убедитесь, что Вы готовы к этому.

вторник, 9 октября 2018 г.

Просто склад моих реферральных ссылок

NordVPN

http://nordvpn.com/?ref=83134742

Что даёт:

20% от цены покупки в виде NordVPN кредитов, которые вы сможете использовать в будущем, возобновляя подписку на услуги NordVPN.


Яндекс.Диск

https://disk.yandex.ru/invite/?hash=4EGX5KY1

Что даёт:
Дополнительно бесплатный гигабайт места при регистрации нового пользователя. Т.е. вместо 10 Гб при регистрации получите 11 Гб.


Прочие "партнёрские" ссылки с невнятными условиями (возможно, бонусов нет вообще):

вторник, 25 сентября 2018 г.

Отзыв по заказу инструмента у Sparrows' Sons

Наконец-то дошли руки написать отзыв.


Ссылки: 
  • Сайт: https://united-music.by/
  • ВК: https://vk.com/sshop
  • FB: https://www.facebook.com/sparrowsons/
  • Reverb: https://reverb.com/shop/sparrowssons

Заказывал я перед новым 2018 годом Ibanez RGIR38BFE.

Хронология:
  1. 13.11.2017 я нашёл одно из многочисленных объявлений на Avito от "Евгений United Music" с очень вкусной ценой, связался с Евгением (Бельским) по телефону, а затем скинул ему смс с адресом почтового ящика для получения доп. информации.
  2. В тот же день Станислав ("Стас Евмешкин", если кто будет искать) прислал мне сообщение с ответом на часто задаваемые вопросы. В основном там были ссылки на другие сайты, где было указано, что United Music и/или Sparrows' Sons - дистрибьюторы / дилеры и доступно (даже слишком доступно :-) ) расписано, почему такие низкие цены и почему можно доверять.
  3. 28.11.2017 согласовали условия и предмет договора.
  4. 29.11.2017 договор согласовали и подписали (правда, с датой 28.11), в тот же день оплатил картой.
  5. 27.12.2017 инструмент прибыл в Минск.
  6. 28.12.2017 инструмент был отправлен в мой адрес.
  7. 03.01.2018 посылка прибыла в терминал службы доставки около Н. Новгорода и пролежала там несколько дней без моей возможности как-то получить (спасибо, DPD).
  8. 09.01.2018 я получил инструмент в отделении DPD.

Что понравилось:
  • Цены. Они, определённо, крайне привлекательны, если не сказать, что самые низкие. А с учётом стоимости доставки - так и вообще самые низкие, которые мне удалось найти;
  • Оперативность. Насколько я могу судить, всё, что зависело напрямую от команды, исполнялось безотлагательно.
  • Обратная связь. Она, опять же, была почти всегда очень быстрой и придавала уверенности. Например, когда я попросил отправить мне договор с того же email-адреса, который указан в договоре - это сделали без лишних вопросов. Однажды я отправил сообщение Станиславу (просто хотел уточнить статус), а он не смог ответить в тот же день, т.к. у него был выходной или больничный (о чём я не знал). Тогда я позвонил Евгению - и буквально через пару часов со мной связался ответственный человек с информацией по моему заказу. Это, безусловно, приятно, и наполняет доверием.

Что вызвало вопросы / над чем ещё можно поработать:

1. Сайт. 

Сайт united-music.by не очень информативен. Данные по товарам на нём найти бывает проблематично и они не всегда актуальны. Также сложно найти исчерпывающие сведения о Sparrows' Sons (важный аспект в наше время повсеместного online-fraud'а) - что это за лицо, какую организационно-правовую форму имеет, где находится и т.п.

Например, возникают вопросы о связи United Music Store и Sparrows' Sons, а сведений об этом на сайте я не нашёл (по крайней мере, когда искал).
Т.е. изначально может показаться, что Sparrows' Sons везде указывает ссылки на United Music Store, а обратного не происходит (нет обратных ссылок на сайте, нет ссылок в группе в ВК и т.п.). Но после более глубоко изучения можно заметить, что на некоторых сайтах производителей муз. оборудования с историей указаны сведения как о Sparrows' Sons, так и о United Music Store, а также, в частности, указаны ссылки на группу в ВК.

Кроме того, на Reverb (это такой музыкально-ориентированный аналог eBay, только лучше) указано Sparrows Sons & United Music + более сотни отзывов (которые нельзя оставить без сделки через сайт и соответствующей транзакции).

Т.е. при внимательном изучении понятно, что Sparrows' Sons и United Music вполне себе связаны, правда, не понятно, как это оформлено юридически :-). Потому, наверное, лучше один раз всё написать на видном месте, чем терять осторожных клиентов, которые не захотят провести небольшое исследование.

2. Договор. 

Там очень много вопросов по условиям.
Например, на сайте указано ООО "Юнайтед Мьюзик", которое зарегистрировано в Беларуси. А в договоре адрес указан московский - адрес шоурума. На мой закономерный вопрос был дан ответ, что это сделано, т.к. были множественные вопросы - при чём тут Беларусь и т.п., люди хотели видеть адрес в РФ, который тут же их успокаивал. Ну, окей :-) 

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

В целом я бы поставил Sparrows' Sons 4.5 из 5. В основном все замеченные мелочи связаны с этапом ДО подписания договора (оценка рисков, изучение договора, согласование), но после этого, т.е. как только я стал клиентом - все действия со стороны Sparrows' Sons выполнялись оперативно и не вызвали нареканий. Я более чем доволен.

Об инструменте - по ссылке. Все доработки связаны с личными хотелками и контролем качества на фабриках Ibanez, что никак не связано с United Music / Sparrows' Sons или их поставщиками.

вторник, 5 июня 2018 г.

Томатный суп с мясом, фасолью и кукурузой



Примечание: я готовлю в 5.5-литровой кастрюле и цифры приводятся с учётом этого объёма. Для меньшего количества — просто пропорционально уменьшить количество ингредиентов. Разумеется, можно добавить чего-то больше, чего-то меньше, но для меня приведённые ниже пропорции оптимальны.

Потребуется:
  • Мясо — 1 кг (можно чуть больше, например, 1.25 кг). В примере используется свинина — свиная лопатка (по причинам, не связанным с вкусовыми качествами), но и филе курицы / индейки заходят на ура;
  • Сок томатный — 3 литра (на упаковках указано 0.97). Пробовал разные, принципиальной разницы не заметил. Но другие потребители говорят, что Rich вкуснее;
  • Кукуруза консервированная (любая) — 3 банки по ~425мл. На моих написано «масса нетто — 340 г, масса продукта — 272 г». Сам разницы не замечаю, но другие говорят, опять же, что вкуснее получается со сладкой.;
  • Фасоль консервированная (любая) — 3 банки по ~425 мл. На моих написано «масса нетто — 400 г, масса продукта — 220 г». Лучше без томатного сока в них — он обычно ужасного качества;
  • Лук репчатый (свежий) — 3-4 луковицы диаметром 6-8 см. Можно две зелёных, две красных (точнее, фиолетовых);
  • Укроп / петрушка / зелёный лук — если есть всё, то достаточно 50 г каждого ингредиента, если есть что-то одно, то можно порубить 100 г;
  • Чеснок (опционально) — половина головки;
  • Базовые приправы и специи — соль (аккуратно, ибо томатный сок солёный), чёрный перец измельчённый.
  • Опциональные приправы и специи — куркума (вообще крайне желательно, чтобы была, но это моя вкусовщина), сухой измельчённый набор трав («Итальянские травы», «Травы кавказа» и прочее) либо пажитник зелёный сухой, ажгон измельчённый, карри.

Затраты по времени — 1,5 — 2 часа.

Обычный вариант приготовления

Сперва нарезаем лук. Мельче — лучше, но и так, как на фото — сойдёт. Фото кликабельные, кстати. Порезали - кладём в кастрюлю, наливаем подсолнечного или другого масла, включаем «медленный» огонёк и закрываем крышкой.


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

После того, как всё мясо порублено, добавляем специй: перец, ажгон (если есть), куркуму, измельчённый набор трав и соль. С солью аккуратно ибо сок солёный, ориентируйтесь на 1 столовую ложку без верха.
Всё это с закрытой крышкой греется (как бы и не тушится, но и не жарится) около 20 минут. Кстати, после этого этапа можно сделать «сохранение» - сутки в холодильнике такой полуфабрикат супа без проблем простоит.
Затем уже выливаем в кастрюлю 2 литра сока из трёх. Остатки имеет смысл доливать потом, когда будут добавлены все ингредиенты, чтобы можно было уложиться в объём кастрюли.

Следующий шаг — добавляем фасоль и кукурузу. Это как раз удобно делать, пока прогревается мясо и лук. Я промываю чистой водой в дуршлаге, но тут смотрите сами. После добавления обязательно тщательно перемешать. Огонь выставляем на «средний». Не забываем периодически помешивать.
Через полчаса рубим и добавляем зелёный лук / укроп / петрушку и чеснок. Сильно мельчить не нужно — смотрите, как удобнее. Если нравятся хрустящие травы, то лучше добавлять уже после приготовления при выключенном огне.
После этого убавляем пламя и с закрытой крышкой готовим ещё 15-20 минут. Если кастрюля заполнена почти до самых краёв, то накрывать не нужно — иначе потом придётся оттирать плиту. Не забываем следить за поплавком и периодически помешивать.

Желательно дать супу потом постоять ещё 15-20 минут и потом уже приступать к поглощению.


Более быстрый вариант
Заливаем 2 литра сока, включаем средний огонь, тупо рубим и добавляем все ингредиенты (сначала лук и мясо, само собой), добавляем приправы, доливаем сок. За 30 минут можно управиться. Периодически поглядываем и помешиваем / доливаем сок.

Затраты (на моём примере, без стоимости специй):
  • мясо — 1кг - 300 рублей;
  • сок — 3 пачки * 69 = 207 рублей;
  • фасоль — 3 банки * 40 = 120 рублей;
  • кукуруза — 3 банки * 40 = 120 рублей;
  • лук репчатый — 0.4кг - 11 рублей;
  • лук зелёный — пучок — 30 рублей;
  • укроп — 100г — 35 рублей
Всего: 823 р.
Да, что-то не совсем бюджетно, но с учётом объёма приготовленного (огромная кастрюля) и скорости - сойдёт.

В среднем такого количества хватает на 10-11 порций (за 1 порцию считаю ~0.5 литра супа). Опять же, для разных людей размер порции будет разным.

Суп получается очень красным и сытным, особенно, если уплетать с хлебушком афро-американского цвета.
Если делать с красной фасолью, то суп будет настолько красным, что не стыдно будет отведать и вождю — Владимиру Ленину. Вот так выглядит аналогичный рецепт, но с красной фасолью и красным перцем (кодовое имя - "Красная угроза"):

Из минусов - стоимость ингредиентов и возможные пост-эффекты от фасоли и кукурузы.

четверг, 9 февраля 2017 г.

How to block any non-VPN connections

Some people care about their internet privacy and some of them also use GNU/Linux distros. Most VPN apps for Windows have killswitch option, so if VPN suddenly disconnects, some applications or whole internet connection will be stopped.
However, there's no such option for Linux systems. But there's a beatiful thing called iptables, a very powerful firewall.

My setup is mostly automated (check the link to understand), so I have put this script in /etc/openvpn/ and named it iptables-update.sh

Here's the content:
#!/bin/bash

# CLEAR all previous iptables rules
iptables -F;

### List of the rules ###

# ALLOW loopback access
iptables -A INPUT -i lo -j ACCEPT; iptables -A OUTPUT -o lo -j ACCEPT;

# ALLOW connections within own network (e.g. to router)
iptables -A INPUT -s 192.168.1.1/16 -d 192.168.1.1/16 -j ACCEPT;  iptables -A OUTPUT -s 192.168.1.1/16 -d 192.168.1.1/16 -j ACCEPT;

# ALLOW eth+ and tun+ to communicate
iptables -A FORWARD -i eth+ -o tun+ -j ACCEPT; sudo iptables -A FORWARD -i tun+ -o eth+ -j ACCEPT; # ALLOW eth+ and tun+ to communicate

# Complicated stuff
iptables -t nat -A POSTROUTING -o tun+ -j MASQUERADE;

# DROP any eth+ outgoing packets with different destination than server IP
iptables -A OUTPUT -o eth+ ! -d $(grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}" /etc/openvpn/openvpn.conf) -j DROP;

# SAVE iptables rules
/etc/init.d/iptables save;
This script works perfectly for me with NordVPN setup. Last rule is the most crucial one - it takes server IP from /etc/openvpn/openvpn.conf and drops any packets with different destination to prevent leaks.

NOTE: make sure you have iptables starting at system boot.

It is reworked version of the information I found here.
And to make it automated, I put the following aliases examples in my ~/.bashrc:

alias de100="sudo /etc/init.d/openvpn stop; sudo /etc/init.d/iptables stop; sudo cp /etc/openvpn/de100.nordvpn.com.udp1194.ovpn /etc/openvpn/openvpn.conf; sudo /etc/openvpn/iptables-update.sh; sudo /etc/init.d/iptables start; sudo /etc/init.d/openvpn start"

alias de101="sudo /etc/init.d/openvpn stop; sudo /etc/init.d/iptables stop; sudo cp /etc/openvpn/de101.nordvpn.com.udp1194.ovpn /etc/openvpn/openvpn.conf; sudo /etc/openvpn/iptables-update.sh; sudo /etc/init.d/iptables start; sudo /etc/init.d/openvpn start"
Every time I change server with this alias, bash script automatically updates the rules.
As always, maybe not the most elegant way, but it's working fine :-)

How to setup NordVPN in a more convenient way

NordVPN allows you to connect to their VPN servers using multiple devices and there are many ways to connect (L2TP, PPTP, IKEv2, OpenVPN etc). One of the best way to connect is via OpenVPN, one of the most flexible and secure protocol.

NordVPN installation instructions for Linux systems can be found here, however NM Gui is laggy as hell and proposed command like method isn't the most convenient because it's not fully automated and requires a lot of typing to change servers and / or start and turn off service.

So here's my way. I don't claim it to be most elegant, but it works for me and is certainly more comfortable.

0. Assumptions.
You have:
  • active NordVPN subscription;
  • OpenVPN, ca-certificates and ZIP installed; 
1. Getting OVPN files. Download and extract .OVPN files the same way as stated in tutorial (steps 3-7).
cd /etc/openvpn/
sudo wget  https://nordvpn.com/api/files/zip
sudo unzip zip
sudo rm zip

2. Autologin. Create pass.txt file in /etc/openvpn/ directory containing your login and pass so it will look like this:
myemail@mail.com
mypassword123
1st line - login, 2nd line - password, make sure there are no extra symbols or spaces. You can make this file not readable for a unpriviledged user if you care about your NordVPN login and password and your environment isn't trusted.

Add a line to all extracted NordVPN files so they will get credentials from pass.txt and you won't have to type it manually. It's better to achieve with simple sed script:

sed -i 's/auth-user-pass/auth-user-pass pass.txt/' *.ovpn

3. Setup and start OpenVPN service. 

Now you need to copy content from certain .ovpn file to your openvpn.conf.
Let's say you want to connect to de101 server using UDP.

sudo cp /etc/openvpn/de101.nordvpn.com.udp1194.ovpn /etc/openvpn/openvpn.conf

After that you need to restart openvpn service so changes will apply:
sudo /etc/init.d/openvpn restart

The command above might be different for a certain Linux distros.
If everything is OK, you will be connected to de101 server.
In case if there are messages like this:
WARNING: openvpn has started, but is inactive
there's no reason to panic, it's totally OK.

4. Make sure OpenVPN daemon is started at the system boot.
It is different for every Linux distro and it's easy to find how to do that. If you're using Ubuntu chances are it will start automatically itself and you won't need to do anything at all.
For some distros like Gentoo however you will need to do:
sudo rc-update add openvpn default

5. Adding aliases.
Edit your ~/.bashrc to simply change servers using command-line aliases.

It's always better to type things like "de100" rather than typing manually a lot of letters.
So I just put things like this in my .bashrc.
For those who don't know what it is, just type this in command line:
cd ~
nano .bashrc
and add following lines after the existing content:

alias de100="sudo /etc/init.d/openvpn stop; sudo cp /etc/openvpn/de100.nordvpn.com.udp1194.ovpn /etc/openvpn/openvpn.conf; sudo /etc/init.d/openvpn start"

alias de101="sudo /etc/init.d/openvpn stop; sudo cp /etc/openvpn/de101.nordvpn.com.udp1194.ovpn /etc/openvpn/openvpn.conf; sudo /etc/init.d/openvpn start"
NOTE: it must be one single line for every alias in your .bashrc even if it looks like I pressed "enter" and broke it into 2 or 3 lines.

Those 2 lines above will add aliases to connect or reconnect to de100 and de101 servers.
And the list goes on -  just copy those lines change "de101" and "de100" to whatever you please from the server list to add more server-changing alieases for example:

alias nl11="sudo /etc/init.d/openvpn stop; sudo cp /etc/openvpn/nl11.nordvpn.com.udp1194.ovpn /etc/openvpn/openvpn.conf; sudo /etc/init.d/openvpn start"
Don't forget to control-O to save it. Changes will apply when you open a new tab in terminal.

After that you can just type de100 or nl11 (or whatever else you put in your .bashrc) in your shell and you will connect or reconnect to appropriate server.

If you're looking for more security and want to block any non-secured internet traffic, check this post.