О программировании

Если честно, мне нравится программировать. Единственное что меня смущает — мне нравится программировать исключительно для себя, для своего личного удовлетворения, а не на заказ. Заказы на программинг я не беру по двум причинам: во первых стоят сроки, и я должен к ним успеть, и я боюсь подвести людей, потому и не берусь.
Программить за обычное, стандартное бабло мне просто не интересно. Гораздо интереснее помочь кому-нибудь в интернете сделать что-то за просто так.

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

Dklab_Realplexor настройка (часть 5)

Тестирование Java Script



Копируем каталог /opt/dklab_realplexor/ полностью!
в /var/www/localhost.com/

Если нет модуля Apache mod_pref то
Редактируем фаил /var/www/localhost.com/t/jstest/contrib/init.php
Меняем 16 строчку
<?=$_SERVER['HTTP_HOST']?> на localhost.com

Читать дальше

Архив доменов зоны .RU

wget http://pma.amanikin.ru/domain_statistic.sql.tar.zip
архив почемуто на самом деле tar.gz а не zip. В WinRAR под виндой открывается нормально, в линуксе надо переименовывать
mv domain_statistic.sql.tar.zip domain_statistic.sql.tar.gz


tar -xvzf domain_statistic.sql.tar.gz
из 2 гиг получилось 16 гиг



скорость в виртуалке: чтения от 10 до 15 /сек
запись от 40 до 120 иногда
iotop

появилась ошибка
Otar: domain_statistic.sql: Wrote only 512 of 10240 bytes
tar: Exiting with failure status due to previous errors
tar Wrote only 512 of 10240 bytes
оказалось в виртуалке кончилось место 15 гиг.

PS
создаем базу
create database domain_statistic;
создаем пользователя
CREATE USER 'user_u'@'%' IDENTIFIED BY 'user_pass';
добавляем пользователю права
GRANT ALL PRIVILEGES ON domain_statistic.* TO user@'%' IDENTIFIED BY 'user_pass'; 
FLUSH PRIVILEGES;

Просто залить в базу не удалось
поэтому продолжение тут blog.himic.ru/2017/10/14/kak-importirovat-bolshuyu-bazu-dannyh-mysql.html

Спасибо этим людям
habrahabr.ru/post/301894/

ISPmanager API PHP

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

Описание входящих данных
ROOT — root
ROOT_PASS — пароль рута
HID_USER — юзер хостинга
HID_PASS — пароль юзера хостинга
EMAIL — мыло пользователя
DB_NAME — имя базы данных
DB_USERNAME — логин пользователя БД
DB_UNAME_PASS — пароль пользователя БД
DOMAIN_WWW — WWW домен(сайт)
DOMAIN_DNS — запись DNS

# HID_USER HID_PASS
#show_databases("hid_user1", "hid_user1_pass");
function show_databases($hid_user, $hid_pass){

$url = "https://".$_SERVER['SERVER_ADDR']."/manager/ispmgr?authinfo=".$hid_user.":".$hid_pass."&out=xml&func=db";

# echo $url;
# exit();
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Get the response and close the channel.
$response = curl_exec($ch);
curl_close($ch);
echo $response;

}


Читать дальше

Proxmox добавить места на диске

примеры:
e2fsck -fy /dev/pve-store/vm-105-disk-2
resize2fs /dev/pve-store/vm-105-disk-2 2G
lvreduce -L 3G /dev/pve-store/vm-105-disk-2
resize2fs /dev/pve-store/vm-105-disk-2


Добавить места на диске (lvm-thin в данном случае)
lvresize --size +30G --resizefs /dev/mapper/pvessd250-vm--120--disk--0
Уменьшить диск если много добавили
lvresize --size -30G --resizefs /dev/mapper/pvessd250-vm--120--disk--0

Проверить размер
fdisk -l /dev/mapper/pvessd250-vm--120--disk--0

Поправить конфиг /etc/pve/lxc/120.conf на корректный размер диска
rootfs: pvessd250:vm-120-disk-0,size=190G

Ловушка (тарпит) для входящих SSH-соединений

Tarpit — это порт-ловушка, который используется для замедления входящих соединений. Если сторонняя система подключается к этому порту, то быстро закрыть соединение не получится. Ей придётся тратить свои системные ресурсы и ждать, пока соединение не прервётся по таймауту, или вручную разрывать его.

Чаще всего тарпиты применяют для защиты. Технику впервые разработали для защиты от компьютерных червей. А сейчас её можно использовать, чтобы испортить жизнь спамерам и исследователям, которые занимаются широким сканированием всех IP-адресов подряд (примеры на Хабре: Австрия, Украина).
Читать дальше

Proxmox LVM-thin

Понадобилось сделать VM на SSD для для сервера баз данных. Для быстрой работы.

Удостоверяемся в выбранном диске
root@pve:~# smartctl -a /dev/sdd

=== START OF INFORMATION SECTION ===
Model Family:     Samsung based SSDs
Device Model:     Samsung SSD 850 EVO 250GB
Создаем физический том (physical volume)

root@pve:~# pvcreate /dev/sdd
  Physical volume "/dev/sdd" successfully created.
создаём группу томов pvessd250
root@pve:~# vgcreate pvessd250 /dev/sdd
  Volume group "pvessd250" successfully created
Читать дальше

Установка mongodb

Debian 9 «Stretch»
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list
apt-get update

apt-get install -y mongodb-org

включаем как сервис чтобы включался после перезагрузки
systemctl enable mongod.service
Читать дальше

Proxmox примонтировать директорию внутрь контейнера

Переходим в директорию:
/etc/pve/nodes/pve/lxc/
Правим нужную виртуальную машину 110.conf

и добавляем строчку

для mongodb
выбираем самый большой диск 16TB или обьединенные в LVM и подключаем
lxc.mount.entry: /mnt/disk16/mnt/mongodb var/lib/mongodb none bind,create=dir,optional 0 0
путь внутри контейнера надо указывать без первого слеша var/lib/mongodb а не /var/lib/mongodb
Читать дальше

Как импортировать большую базу данных MySQL

Вот описание
http://kedar.nitty-witty.com/blog/mydumpsplitter-extract-tables-from-mysql-dump-shell-script

GitHub

git clone https://github.com/kedarvj/mysqldumpsplitter .
chmod +x mysqldumpsplitter.sh

./mysqldumpsplitter.sh --source domain_statistic.sql --extract ALLTABLES --decompression none  --compression none

и видим в папке out базу разделенную по таблицам. Она очень хорошо импортируется по частям



Загружаем медленно в базу, можно и удаленную.
mysql -h host -u root -p domain_statistic < a_count_statistic.sql
mysql -h host -u root -p domain_statistic < all_stat.sql
mysql -h host -u root -p domain_statistic < as_count_statistic.sql
mysql -h host -u root -p domain_statistic < as_list.sql
mysql -h host -u root -p domain_statistic < cname_count_statistic.sql
mysql -h host -u root -p domain_statistic < domain_count_statistic.sql
mysql -h host -u root -p domain_statistic < domain_history.sql
mysql -h host -u root -p domain_statistic < domain.sql
mysql -h host -u root -p domain_statistic < mx_count_statistic.sql
mysql -h host -u root -p domain_statistic < ns_count_statistic.sql
mysql -h host -u root -p domain_statistic < providers_like_statistic.sql
mysql -h host -u root -p domain_statistic < registrant_count_statistic.sql
mysql -h host -u root -p domain_statistic < regru_providers.sql
mysql -h host -u root -p domain_statistic < regru_stat_data.sql

Proxmox 4.4 обновление до 5.0

Новые какието обновления и т.п. и вышел из беты. Стоит попробовать.
Гдето читал что 5 версия может не открывать старые версии контейнеров и виртуалок. может исправили. посмотрим.

Proxmox 4.4

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

/etc/hosts
195.20.242.89 security.debian.org
212.224.123.70 download.proxmox.com
5.153.231.4 deb.debian.org
151.101.36.204 cdn-fastly.deb.debian.org
163.172.29.20 keys.gnupg.net
212.224.123.70 enterprise.proxmox.com
Читать дальше

Установка Realplexor C++ на Debian 9

Пришлось ставить Realplexor на C++ т.к. dklab_realplexor.pl запускался но работал с ошибкой
ERROR: Wide character in send at /usr/lib/x86_64-linux-gnu/perl/5.24/IO/Socket.pm line 270.
или
 ERROR: Wide character in send at /usr/lib/x86_64-linux-gnu/perl/5.24/IO/Socket.pm line 284.


Устанавливаем недостающие пакеты
# apt-get install gcc g++ libev4 libev-dev libmemcached-dev
# gcc --version
на свежем debian получаем gcc (Debian 6.3.0-18) 6.3.0 20170516

Читать дальше

Блогу 7 лет

Первая запись от 2010-07-08 13:01:19
прошло 7 лет


еще из статистики:

11 лет зарегистрирован домен himic.ru
#whois himic.ru |grep created
created:       2006-06-13T20:00:00Z

Webmoney
Персональный аттестат — выдан Центром Аттестации 26 Июля 2007 года скоро 10 лет
после первой регистрации прошло 11 лет

Мне 30 лет.

Вроде что-то добился, а вроде нет.
Если сомневаешься — значит «нет».
А может сомневаешься то «да»?

Альтруист



ncix 21 сентября 2012 в 11:46 #
Те самые «гениальные» тихо отрефакторят всё за ночь без вашего ведома на свой страх и риск, а на утро будут счастливые, как младенцы, спать перед монитором

everzet 21 сентября 2012 в 16:29 #
Говорю вам как программист повидавший виды в разных компаниях мира. Альтруизм — дело неблагодарное, неприбыльное, изматывающее и, наконец, несуществующее. Сегодня он «без вашего ведома на свой страх и риск» «отрефакторил все за ночь», а завтра пойдет искать другую контору, потому что на этой его не ценят и в нем не нуждаются.

ncix 21 сентября 2012 в 16:39 #
Совершенно верно, так и будет.

VolCh 21 сентября 2012 в 18:31 #
Но код останется отрефакторенным :) Но вообще говоря такой альтруист может очень долго менять компании. В вакансиях очень редко встречаешь рефакторинг в перечне основных обязанностей разработчика, что означает, что менджмент не считает его важным элементом процессов разработки и/или поддержки и с большой вероятностью рабочее время на это выделяться не будет. Увы :(

Flammar 21 сентября 2012 в 18:37 #
Думали, альтруист, а чувак скиллы прокачивал…

Уязвимость BadUSB для Phison 2251-03 (часть 4)

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

И так я купил полную копию флешки поступившей в продажу того же числа и почти той партии. Но контроллер оказался Phison PS2307, что нам совсем не подходит. Придется использовать её для других целей, жаль объём маленький.
Оставались еще 16GB флешки но рисковать небыло никакого желания, чтоб ошибиться с контроллером.


Продолжение:
BadUSB для Phison 2251-03 (часть 1)
BadUSB для Phison 2251-03 Payload (часть 2)
BadUSB для Phison 2251-03 ошибки (часть 3)
BadUSB для Phison 2251-03 восстановление (часть 4)
Читать дальше

Уязвимость BadUSB для Phison 2251-03 (часть 3)

Ошибка при создании оригинальной прошивки


Кажется это произошло из-за того что флешка долго находилась в boot-режиме и где-то отсоединилась что ли.

C:\Users\1>C:\fw\Psychson-master\tools\DriveCom.exe /drive=H /action=DumpFirmware /burner=C:\fw\fw_bn\BN03V114M.BIN /firmware=C:\fw\currentfw.bin
Action specified: DumpFirmware
FATAL: System.InvalidOperationException: DeviceIoControl failed: 0079
   в DriveCom.PhisonDevice._SendCommand(SafeFileHandle handle, Byte[] cmd, Byte[] data, Int32 bytesExpected) в c:\Users\1\Desktop\Psychson-master\DriveCom\DriveCom\Phis
   в DriveCom.PhisonDevice.SendCommand(Byte[] cmd, Int32 bytesExpected) в c:\Users\1\Desktop\Psychson-master\DriveCom\DriveCom\PhisonDevice.cs:строка 295
   в DriveCom.Startup._DumpFirmware(String fileName) в c:\Users\1\Desktop\Psychson-master\DriveCom\DriveCom\Startup.cs:строка 341
   в DriveCom.Startup.Main(String[] args) в c:\Users\1\Desktop\Psychson-master\DriveCom\DriveCom\Startup.cs:строка 99



Action specified: SendExecutable
FATAL: System.InvalidOperationException: DeviceIoControl failed: 048F



Ошибка при восстановлении оригинальной прошивки

Переводим флешку в boot-режим.
Прошивка не хочет востанавливаться из оригинала.
Как понял это не подходит для
Kingston Digital 8GB USB 3.0 DataTraveler (DT100G3/8GB)* — Using PS2251-03 (Программа DriveCom.exe не работает для этой флэшки, вам понадобится Phison MPALL Tools для прошивки.)

Action specified: SendFirmware
Gathering information...
FATAL: System.InvalidOperationException: DeviceIoControl failed: 048F
   в DriveCom.PhisonDevice._SendCommand(SafeFileHandle handle, Byte[] cmd, Byte[] data, Int32 bytesExpected) в c:\Users\1\Desktop\Psychson-master\DriveCom\DriveCom\Phis
   в DriveCom.PhisonDevice.SendCommand(Byte[] cmd, Int32 bytesExpected) в c:\Users\1\Desktop\Psychson-master\DriveCom\DriveCom\PhisonDevice.cs:строка 295
   в DriveCom.PhisonDevice.RequestVendorInfo() в c:\Users\1\Desktop\Psychson-master\DriveCom\DriveCom\PhisonDevice.cs:строка 140
   в DriveCom.PhisonDevice.GetChipType() в c:\Users\1\Desktop\Psychson-master\DriveCom\DriveCom\PhisonDevice.cs:строка 170
   в DriveCom.Startup._GetInfo() в c:\Users\1\Desktop\Psychson-master\DriveCom\DriveCom\Startup.cs:строка 384
   в DriveCom.Startup._SendFirmware() в c:\Users\1\Desktop\Psychson-master\DriveCom\DriveCom\Startup.cs:строка 365
   в DriveCom.Startup.Main(String[] args) в c:\Users\1\Desktop\Psychson-master\DriveCom\DriveCom\Startup.cs:строка 114



Продолжение:
BadUSB для Phison 2251-03 (часть 1)
BadUSB для Phison 2251-03 Payload (часть 2)
BadUSB для Phison 2251-03 ошибки (часть 3)
BadUSB для Phison 2251-03 восстановление (часть 4)
Читать дальше