Всем привет! Некоторые из вас уже работали с нами по сервису системного администрирования. Там вы можете увидеть отзывы и ситуации, с которыми мы сталкивались в работе. Сейчас мы рады представить вам наши услуги по разработке и поддержке интернет-проектов.
Мы являемся full-stack разработчиками, поэтому можем написать как клиентскую, так и серверную части. Основными языками для разработки серверной части являются Python и PHP. Для клиентской - JavaScript. В веб-среде имеем опыт разработки API для проектов с использованием фреймворков Flask, Falcon, Bottle и Django Rest, а также полноценных веб-сайтов с помощью Django. Также без проблем разработаем одностраничный (single page) веб-сайт на связке Django + Angular с богатой клиентской частью. Пишем различные серверные скрипты для автоматизации каких-либо задач. Например, парсеры сайтов, эмуляция действий пользователя на сайте, скрипты для резервного копирования, автоматизация настройки серверов с помощью Fabric и прочее. Работаем с SQL базами данных MySQL/MariaDB, PostgreSQL, а также noSQL решениями Memcached, Redis, MongoDB. Понимаем что такое шардинг, репликация и зачем может быть нужно наследование таблиц, когда использовать jsonb в PostgreSQL. Опыт системного администрирования позволяет во время разработки ПО правильно выбрать архитектурное решение с учетом серверной инфраструктуры, а так же целиком выполнить настройку окружения.
Небольшой список задач, которые мы выполняли: 1. Создание Helpdesk-системы , полностью работающей по протоколу XMPP (Jabber), и интеграция её в уже использующийся веб-сервис поддержки клиентов. Создавалось с повышенными требованиями к надёжности работы - тест API при каждом запуске. Модульная система работающая отдельным процессом, при необходимости возможно создание отдельного веб-интерфейса или расширение функционала.
2. Получение информации об автономных сетях Internet (AS) и отбор по многочисленным параметрам (всего 8 проверок, использующих как парсинг веб-страниц, так и telnet-запросы). "Побочным" эффектом unit-тестирования функций было отслеживание развития сети Интернет в разных странах и наблюдение за ограничениями протокола IPv4.
3. Полуавтоматическая система рассылки почты (opt-in). Продукт включает в себя: 1) Настройку серверов под рассылку (по ТоС почтовых систем, прописывание корректных записей). 2) Тестирование доходимости (inbox и spam папки популярных систем) сообщений. 3) Автоматическая проверка доменов и адресов на Black Lists (c автоматическим извещением в icq/jabber/email). 4) Скрипт рассылки. (SMTP, рассылка по расписанию) 5) Настройка сбора почты в единую почтовую программу на удаленном рабочем столе. (windows rdc) 6) Live-time контроллирование рассылки ваших писем. (по запросу) 7) Шаблонизатор текстов писем.
4. Написание модулей для биллинг-систем. (WHMCS, AWBS) К нам периодически обращаются хостинг-компании с запросами по разработке дополнений и хуков для различных биллинг панелей. Несколько примеров выполненных работ: - Hook для уведомления о новых тикетах, новых ответах и назначениях тикетов по Jabber-у. - Серверный модуль для Leaseweb, Hetzner и ряда других ДЦ. - Серверный модуль для Proxmox - как KVM (qemu), так и OpenVZ. - Расширение для сокрытия значений настраиваемых опций у некоторых продуктов. Удобно, если у вас есть настраиваемая опция, например, HDD (250ГБ, 500ГБ, 1ТБ), которая есть у большинства продуктов. Отличие лишь в том, что для одних недоступно значение в 500ГБ, у некоторых невозможен апгрейд до 1ТБ. Вместо того, чтобы создавать на каждый такой продукт отдельную опцию HDD_250ГБ_500ГБ, HDD_250ГБ_1ТБ в админке WHMCS на странице расширения для конкретного продукта можно отметить ненужное значение - оно пропадет из списка во время конфигурации. - Расширение для создания описаний ДЦ. Удобно для реселлеров, которые продают серверы в разных ДЦ и им хочется дополнительно на странице группы продуктов выводить описание ДЦ, время установки серверов. - Модуль отзывов. Добавляет страницу с отзывами, пополняемые в админке WHM. Дает возможность собрать все отзыва о вашей фирме с разных мест на одной странице вашего сайта. Указывается текст, дата, имя пользователя и внешняя ссылка на отзыв.
5. Автоматический подсчет трафика. Задача в рамках которой было необходимо ежемесячно считать 95% статистику по трафику клиентов с целью реализации burstable billing. Такой подход позволяет при анализе утилизации вашего канала различными клиентами исключить редкие пики в скорости и смотреть на более актуальную картину. Статистика собирается по SNMP протоколу со свичей с задаваемой в настройках периодичностью. Были учтены различные нюансы. Например, возможный сброс SNMP счетчиков свитчах, вероятность того, что скрипт, может быть запущен не четко по заранее указанным временным промежуткам, в связи с чем статистику должны быть усреднена каким-либо алгоритмом исходя из предпочтений клиента. Скрипт позволяет выводить текущие значения счетчиков со свичей, показывать текущую 95% статистику, задавать для свичей номера стоек, а для портов человеко-читаемые псевдонимы (например, имена клиентов).
6. Скрипт для автоматизации работы с Amazon EC2 Скрипт производит создание и ротацию снэпшотов у запущенных инстансов, смену типа инстанса в зависимости от условий, указываемых клиентом.
7. API для работы с группой Cisco роутеров Сбор статистики по каждому из портов, хранение этих данных в MongoDB и вывод приложению статистики по заданным датам у заданных портов. Управление портами: оставка и включение, смена скорости, включение шейпинга и прочее.
Наши принципы. Всегда открыты для интересных и нестандартных задач. Оплату всегда согласовываем до начала сотрудничества. Выдерживаем разумные сроки.
Нами была разработана веб-панель для управления кластером из DNS серверов, фронтендов и бэкендов. В панель добавляются IP бэкендов, фронтендов и DNS серверов, после чего на любой из фронтендов в панели добавляются домены. В результате на DNS серверах, добавленных в панели, добавляются зоны для добавленных доменов, с соответствующими IP адресами фронтендов, а на фронтендах автоматически формируется список бэкендов, на которые проксируется трафик. Панель позволяет быстро менять список бэкендов, на которые проксируется трафик с фронтендов и прикреплять домены к фронтендам, создавая при этом SOA зоны на своих NS-серверах. Дополнительно реализованы функции работы по расписанию (смены доменов и бекендов), балансировка нагрузки между серверами, небольшая Traffic Direction System (TDS) для задания правил фильтации по странам, мониторинг доступности узлов с извещением по ICQ.
Часто приходят заказы на разработку различного рода парсеров и средств автоматизирующих какую-то определенную деятельность на сайтах.
Например, один наш клиент, являющийся реселлером выделенных серверов пришел с проблемой. В одном из дата-центров, в котором он берет серверы, уже который год не могут починить API для партнеров. При этом весь необходимый функционал доступен через их сайт. Для нормального реселлера, у которого уже не 5 серверов, это совершенно неудобно. Хочется, чтобы клиенты сами могли перезагрузить сервер, переставить ОС или загрузить rescue mode/livecd без обращения в тех. поддержку. И реселлеру самому удобнее, когда просроченные сервера автоматически отключаются, чтобы клиенты сильно не откладывали процесс оплаты.
О методе решения вы можете подробнее почитать в новой статье на нашем блоге - http://contactroot.com/testirovanie-koda-s-requests/
Наши контакты. jabber: slava@contactroot.com skype: contactroot icq: 657324100
При разработке различных порталов/сайтов зачастую необходимо исполнять какую-то часть бизнес-логики асинхронно от действий пользователя. К примеру, запустить почтовую рассылку, скачку и конвертацию файлов. Решить задачу можно собственноручно, написать прямую работу с какой-либо очередью сообщений, к примеру, RabbitMQ, либо даже Redis-ом, так как у него есть функционал подписывания и оповещения publish/subsrcibe.
Основная часть заказов по разработке веб-проектов мы проводим на Django, а в этом мире как самым типовым решением, покрывающим большинство задач, является Celery. Celery – планировщик задач, который является прослойкой между очередью сообщений, типа RabbitMQ, и вашим кодом.
Подробности вы можете прочитать в нашем блогпосте - http://contactroot.com/primeryi-rabotyi-s-celery/
Наши контакты. jabber: slava@contactroot.com skype: contactroot icq: 657324100
У нас в команде имеется разработчик на Perl, и мы берем задачи для реализации на данном языке. Среди прочих это приложения и утилиты с web- или консольным интерфейсом, парсинг любых данных, команды для различных проверок и фильтрации данных. Сетевые утилиты, работа с протоколами tcp и udp. Используемые технологии: - WEB-разработка: CGI, Dancer, Template-Toolkit, +JS(Webix), +css. Создание как самостоятельных web-приложений, так и интеграция с apache/nginx - регулярные выражения любой сложности, не только для Perl (с учетом особенностей языка, под которое создаётся регулярное выражение) - обмен данными между клиентом и сервером: CSV, XML, JSON, WebSockets - хранение данных: YAML, MySQL, SQLite, Memcached - многопоточные приложения: threads.
Примеры реализованных задач: 1. Сервер ретрансляции iptv по протоколу udp, прием сигнала с разных источников, раздача в различные направления (интерфейсы), резервирование, веб-интерфейс управления. 2. Контроль ошибок в iptv сигнале, передаваемому по udp и tcp, с веб-интерфейсом. 3. Обработчик snmp-трапов, конфиги в xml, настройка отдельно для каждого узла, шаблоны, по событиям вызов внешних скриптов (отправка на почту, смс, звонок через asterisk), веб-страница с историей трапов. 4. Плагины для хостинг-панели ISP Manager любой сложности. Автоматизация работы и унификация рутинных процессов (работа со списками доменов, хостинг аккаунтов, массовые операции, триггеры).
Наши контакты. jabber: slava@contactroot.com skype: contactroot icq: 657324100
Основная наша специализация - разработка софта для Linux систем, однако периодически мы берем в работу задачи по программированию под OS Windows. 1) Написание приложений на C# (обработчики информации, вычислительный софт, работа с изображениями и звуком). 2) Сетевые приложения (работа с RSS, парсеры, автоматизация работы с сетью). 3) Базы данных (создание БД по вашим требования и написание интерфейса для работы). 4) Анализ вашего кода на возможность доработки. 5) Профессиональная работа с Microsoft Excel и Microsoft Access (автоматизация процессов, графики и отчеты любой сложности, создание пользовательских форм и написание инструкций для сотрудников).
По данному направлению мы беремся за работу при общем объеме от 1 рабочего дня (8 часов). Пожалуйста, пишите подробности по вашей задаче на наш e-mail: glueon@contactroot.com
Наша команда достаточно часто работает по задачам парсинга веба, и сегодня кратко опишем, чем мы занимаемся по данному направлению.
1) Парсинг веб-сайтов. Автоматическое извлечение данных любой направленности и представление их в удобной для заказчика форме. 2) Парсинг поисковых машин. Автоматизация работы с поисковыми машинами, настройка сбора выборок по различным параметрам, ускорение рутинных процедур, фильтрация избыточной информации. 3) Написание прикладных БД для работы с полученной информацией. Написание ПО для веба и десктопа, облегчающего работу с полученной информацией. У нас имеется опыт как использования готовых платформ для написание БД (в разы удешевляет конечный результат), так и написания ПО по индивидуальным запросам заказчика.
Мы используем многопоточные решения, применяем полный комплект доступных средств (запросы с ipv4, ipv6, TOR, luminati.io), возможно подключение сторонних сервисов распознавания каптчи (Антигейт), чаще всего данные представляются в БД (sqlite, mssql, mysql), либо пишем импорты в различные CMS (Wordpress, Webasyst).
Нами реализован комплект скриптов по контролю и учету IP адресов для хостинг-компании. Основная цель системы заключается в оперативном извещении администратора о вредоностной деятельности клиента на конкретном адресе, превентивная её блокировка и последующая очистка адреса в один клик.
В кратком изложении система представляет собой следующее: владелец ip-адресов и подсетей забивает список, и софт периодически проверяет его по определенным критериям.
Параметры достаточно гибкие, могут включать в себя нахождение адреса в выдаче поисковика по определенному запросу, нахождение адреса в списке blacklist, нахождение упоминания адреса на конкретном сайте.
Отдельные параметры могут помечаться как "критические", например, при нахождении адреса в базе Spamhaus срабатывает триггер нульроута адреса с моментальным отключением его на сервере для предотвращения запрещенной деятельности клиента.
В случае появления менее значительных параметров у проверяемого адреса (нахождение в базе spamforum, etc) администратору системой высылается предупреждение на электронный адрес (ICQ, Jabber) с просьбой обратить внимание. Администратор в ответ на сообщение может одной командой в своем мессенджере заблокировать адрес (нами реализован небольшой бот с набором требуемых команд). При блокировке клиенту высылается стандартизированное по шаблону сообщение с описанием сути проблемы и времени на исправление.
В связи с большой загруженностью мы не берем большие проекты в разработку на данный момент времени. Мы не занимаемся вёрсткой и дизайном. Основная наша специализация - программирование на Python и PHP.
Отдельно прошу не обращаться с задачами, нарушающими законодательство РФ.
Всегда на связи: jabber: slava@contactroot.com skype: contactroot icq: 657324100 telegram: contactroot (https://telegram.me/contactroot)