Pull to refresh
4
0
Дмитрий @Itachi261092

Веб-разработчик

Send message

Как держать 20 тысяч VPN клиентов на серверах за $5

Reading time24 min
Views81K
Месяц назад мы с друзьями сделали бесплатный сервис для обхода блокировок сайтов в Украине Zaborona.Help. За это время сервис стал довольно популярным, аудитория выросла до 20 000 пользователей. Число одновременных подключений в пиковые часы — ≈6 000 клиентов.

Главная особенность нашего сервиса в том, что через VPN маршрутизируется трафик только к заблокированным сетям, остальные сайты работают напрямую. Это не влияет на скорость интернета и не подменяет IP-адрес для остальных сайтов.

В статье описываются тонкости настройки OpenVPN для большого числа клиентов, на дешевых VPS.

  • Как выбрать подходящий хостинг. Отличительные черты плохого хостинга. История о том, как мы долго искали и нашли хостинг в России.
  • Почему IPv6 — хорошо. Правильная настройка IPv6-адресов для VPN-клиентов.
  • Изменение конфигурации OpenVPN на лету, без перезапуска сервера и отключения клиентов.
  • Балансировка нагрузки между серверами и процессами OpenVPN
  • Тонкая настройка Linux для большого числа подключений
  • Особенности кривых операционных систем и роутеров пользователей

Наш опыт будет полезен для тех, кто собирается развернуть VPN для личных нужд, и тех, кто хочет создать сервис с большим числом клиентов.
Читать дальше →
Total votes 79: ↑71 and ↓8+63
Comments139

Сделайте свой анонимайзер за 10 минут

Reading time4 min
Views64K
В этой статье я сначала расскажу историю не очень долгой жизни одного анонимайзера, а потом научу — как сделать анонимайзер из исходных кодов, даже не обладая особыми навыками программирования или администрирования. Выложить свой исходный код в открытый доступ было решено после того, как мой анонимайзер попал в список Роскомнадзора и был заблокирован… Но обо всем по порядку.
Читать дальше →
Total votes 63: ↑53 and ↓10+43
Comments150

Как я разбирал docx с помощью XSLT

Reading time16 min
Views62K

Задача обработки документов в формате docx, а также таблиц xlsx и презентаций pptx является весьма нетривиальной. В этой статье расскажу как научиться парсить, создавать и обрабатывать такие документы используя только XSLT и ZIP архиватор.

Читать дальше →
Total votes 45: ↑44 and ↓1+43
Comments15

Удаленная переустановка Linux по ssh без доступа к консоли

Reading time8 min
Views60K
Понадобилось мне переустановить сервер, который как бы хостился у знакомых знакомых. Там был сильно устаревший Debian, а, самое главное, система стояла на обычных разделах без lvm и пространство было распределено очень не оптимально. Физический доступ получить к нему было практически нереально, местного админа попросить что-то сделать было можно, но занять это могло неделю. Виртуальный KVM у сервера был, но извне на него попасть было нельзя; у как бы хостера не было лишних IP-адресов, а внутрь его сети попасть было невозможно. Надо было переустановить сервер из-под работающей системы по ssh. Ага, давайте поменяем ротор у турбины не выключая, потом её перезапустим и будет она с новым ротором работать!
Читать дальше →
Total votes 111: ↑110 and ↓1+109
Comments70

Фотографируем мюоны на рабочем столе. Инструкция по применению

Reading time5 min
Views28K
Привет geektimes.

При мысли о детекторах космического излучения, первое что приходит в голову, это счетчики Гейгера, сцинтилляторы, охлаждаемые детекторы и прочая дорогая и экзотичная аппаратура. Однако как оказалось, “поймать” частицы можно гораздо проще — при помощи обычной цифровой камеры.



Как это работает, подробности под катом.
Читать дальше →
Total votes 52: ↑52 and ↓0+52
Comments98

Как Skype уязвимости чинил

Reading time12 min
Views112K


Короткий ответ: никак, им пофиг.


В статье описываются мои безуспешные попытки убедить сотрудников Microsoft, что их сервис уязвим, а также унижения, которые приходится выносить пользователям Skype. Под катом невежество, боль и отчаяние.

UPD


Статья на английском hub.zhovner.com/geek/how-skype-fixes-security-vulnerabilities/

Пост на HackerNews news.ycombinator.com/item?id=13227480

TL;DR:

  • Любой может заблокировать ваш аккаунт навсегда так, что вы больше не сможете им пользоваться. Для этого достаточно знать только имя аккаунта. В большинстве случаев Skype откажет вам в восстановлении доступа. Microsoft знает об этой проблеме несколько лет.

  • Механизм генерации восьмизначных одноразовых кодов аутентификации (Microsoft Security Code), которые используются для восстановления пароля к аккаунту Microsoft, уязвим. Атакующий может угадать код.

  • Техподдержка Skype уязвима для атак социальной инженерии. Microsoft считает это нормальным.

  • Техподдержка Skype не знает, что на самом деле происходит с вашим аккаунтом, и почему он заблокирован. В любом случае вы получите стандартный ответ, что ваш аккаунт заблокирован за нарушение правил, даже если аккаунт был удален по вашему запросу.

  • Skype по-прежнему раскрывает ваш IP-адрес, в том числе и локальный (тот, что на сетевом интерфейсе). В некоторых случаях возможно раскрытие контактов, подключенных с того же внешнего IP-адреса, что и вы. Например, членов семьи, подключенных к домашнему роутеру.

  • Атакующий может скрыть активную сессию из списка авторизованных клиентов (команда /showplaces) используя старые версии SDK. Таким образом, зная пароль, можно незаметно просматривать переписку жертвы.

Читать дальше →
Total votes 376: ↑370 and ↓6+364
Comments391

Как правильно настроить Wi-Fi

Reading time11 min
Views446K


Введение


Думаю, не ошибусь сильно, если у большинства из нас подключение к интернету выглядит следующим образом: есть некоторый довольно скоростной проводной канал до квартиры (сейчас уже и гигабит не редкость), а в квартире его встречает роутер, который раздаёт этот интернет клиентам, выдавая им «чёрный» ip и осуществляя трансляцию адресов.

Довольно часто наблюдается странная ситуация: при скоростном проводе, с роутера раздаётся совсем узенький wifi-канал, не загружающий и половины провода. При этом, хотя формально Wi-Fi, особенно в его ac-версии поддерживает какие-то огромные скорости, при проверке оказывается, что либо Wi-Fi подключается на меньшей скорости, либо подключается, но не выдаёт скорости на практике, либо теряет пакеты, либо всё вместе.

В какой-то момент и я столкнулся с похожей проблемой, и решил настроить свой Wi-Fi по-человечески. На удивление, это заняло примерно в 40 раз дольше, чем я ожидал. Вдобавок, как-то так случилось, что все инструкции по настройке Wi-Fi, которые я находил, сходились к одному из двух видов: в первом предлагали поставить роутер повыше и выпрямить антенну, для чтения второго же мне не хватало честного понимания алгоритмов пространственного мультиплексирования.

Собственно, эта заметка — это попытка заполнить пробел в инструкциях. Я сразу скажу, что задача до конца не решена, несмотря на приличный прогресс, стабильность подключения всё ещё могла бы быть лучше, поэтому я был бы рад услышать комментарии коллег по описанной тематике.
Читать дальше →
Total votes 58: ↑56 and ↓2+54
Comments111

6 ссылок о том, что Google знает о вас

Reading time2 min
Views447K
Не желаете ли узнать о том, что Google знает о вас? Вот 6 ссылок, которые покажут вам некоторые данные, собранные гуглом.

1. Ваш профиль в Google

Google создаёт профиль с вашими основными данными – возраст, пол, интересы. Эти данные используются для показа релевантных объявлений. Вы можете просмотреть эту информацию здесь:

www.google.com/ads/preferences

(прим.перев. – в моём случае гугл не блещет информацией. Я не состою в Google+, а по посещённым мною сайтам гугл не смог определить мой пол, а возраст определил в 65+ лет).
Читать дальше →
Total votes 109: ↑102 and ↓7+95
Comments56

Блеск и нищета php. Эволюция языка от 4.x к 7.1

Reading time5 min
Views42K

image


По слухам, сегодня должен состояться релиз 7.1. Поэтому хотелось бы немного оглянуться назад и посмотреть, а как же php вырос из набора костылей и подпорок в полноценный язык для веба. Прямо по шагам, т.е. по версиям. А в конце хотелось бы немного поразжигать поразмыслить о роли php в современной экосистеме.


Давайте мысленно вернемся во времена php4, когда получили своё развитие wordpress, bitrix и миллионы других CMS и домашних страничек.

Читать дальше →
Total votes 71: ↑67 and ↓4+63
Comments286

Самая нужная программа на свете

Reading time20 min
Views166K
image
Какими программами постоянно пользуются люди? Если подумать над этим вопросом, то окажется, что список этот не такой уж большой. К постоянно используемым программам можно отнести: саму операционную систему, файловый менеджер, текстовый редактор, браузер, мессенджер. Это именно тот базовый набор, которым пользуется на компьютере практически каждый человек. Требования к таким программам должны быть высокими: безотказная работа, быстрое выполнение всех функций, понятный и удобный интерфейс.

Можно сказать, что вышеперечисленный набор программ — это самые нужные программы, которыми пользуется человек в цифровую эпоху. Этот список покрывает все базовые потребности человека-пользователя. Или не все? Есть ли еще одна базовая потребность, которая не учтена в вышеприведенном списке самых необходимых программ? Является ли эта потребность самой важной из тех, что должен автоматизировать компьютер? Для меня такая потребность есть, но в списке самых используемых программ ей места не нашлось. Что же это за потребность?
Ранее компьютер считался устройством для проведения вычислений...
Total votes 115: ↑111 and ↓4+107
Comments303

Как использовать кастомные шрифты в вебе и не сойти с ума

Reading time4 min
Views25K
Бывало ли так, что вы видите на веб-странице картинки и оформление, но не видите текста — он появляется на пару (десятков) секунд позже? Это загружаются кастомные веб-шрифты. Объясняем, почему это происходит и как этого избежать.

Классический вопрос на собеседовании ops-инженеров и программистов: вы написали в адресной строке браузера habr.com и нажали Enter. Что произойдет? (Ответ на 10 страницах)

Ок, мы указали для своего текста font-family: PFRegal, «Times New Roman». Что произойдет?


Браузер посмотрит, есть ли для PFRegal объявление font-face. Если оно есть, то начнется загрузка файла шрифта. Что будут видеть читатели те секунды (десятки секунд на 3G), пока происходит загрузка?
Читать дальше →
Total votes 91: ↑88 and ↓3+85
Comments28

Почта РФ доставляет – вы сейчас обсмеётесь, но она самая надёжная

Reading time5 min
Views171K

Пример пробитой коробки

Привет!

Мы недавно сводили статистику, и тут, внезапно, за последние 2 года у нас самый надёжный контрагент по доставкам — внезапно, Почта РФ. Как это ни странно, почта реально доставляет, и делает это хорошо. За несколько тысяч отправок косяков всего считанные единицы. Разумеется, это касается именно обычной почты, не EMS. Последние (хоть и тоже часть почты) почему-то отличаются куда большим процентом битых коробок. Может быть, выгружают в спешке.

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

UPD: Смотрите, кто пришёл в пост. Можно рассказать ему о своём конкретном случае.
Читать дальше →
Total votes 81: ↑77 and ↓4+73
Comments237

WebRTC: Делаем peer to peer игру на javascript

Reading time13 min
Views38K
Недавно мне довелось поработать над прототипом видеочата. Это был отличный повод поближе познакомиться с концепциями WebRTC и опробовать их на практике. Как правило, когда говорят про WebRTC, подразумевают организацию аудио- и видеосвязи, но эта технология может применяться и для других интересных вещей. Я решил попробовать сделать peer-to-peer игру и поделиться опытом ее создания. Видео того что получилось и подробности реализации под катом.


Читать дальше →
Total votes 94: ↑92 and ↓2+90
Comments52

Консоль разработчика Google Chrome: десять неочевидных полезностей

Reading time6 min
Views227K
Как с помощью консоли разработчика превратить Google Chrome в подобие текстового редактора? Какой смысл в ней приобретает знакомый многим по jQuery значок $? Как вывести в консоль набор значений, оформленный в виде вполне приличной таблицы? Если сходу ответы на эти вопросы в голову не приходят, значит вкладка Console из инструментов разработчика Chrome ещё не раскрылась перед вами во всей красе.

image

На первый взгляд, перед нами – вполне обычная JavaScript-консоль, которая годится только на то, чтобы выводить в неё логи ответов серверов или значения переменных. Я, кстати, так ей и пользовался, когда только начал программировать. Однако, со временем набрался опыта, подучился, и неожиданно для себя обнаружил, что консоль Chrome умеет много такого, о чём я и не догадывался. Хочу об этом сегодня рассказать. Да, если вы читаете сейчас не на мобильнике, можете тут же всё это и попробовать.
Читать дальше →
Total votes 88: ↑83 and ↓5+78
Comments62

Поддержка https совсем без настроек

Reading time2 min
Views24K
Написал программу для автоматического выписывания ssl-сертификатов налету (при первом запросе к домену). Для начала работы программы её достаточно просто запустить, настраивать не надо совсем (даже домены для сертификатов указывать не надо).

Подробности внутри.
Читать дальше →
Total votes 58: ↑50 and ↓8+42
Comments30

«Хардкор» и его технологии

Reading time10 min
Views36K
Главного героя реанимируют в помещениях научно-фантастической лаборатории. На экране дорогая аниматроника создаёт иллюзию того, что человека собирают по частям. Персонаж не помнит ничего, но приводящая его в чувство красотка представляется женой. За этим следуют её похищение, демонстрация отрицательных персонажей, постановка цели и череда кровавых сцен с большой долей насилия.

В принципе, подобное вполне могло быть боевиком конца восьмидесятых за авторством Пола Верховена. Киборги были в «Робокопе», потерянные воспоминания — в «Вспомнить всё». Разница с «Хардкором» лишь в том, что всё происходит с точки зрения главного героя. Все прыжки, удары и перестрелки выглядят на экране так, будто зритель смотрит глазами главного героя и действует его руками.

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


Total votes 45: ↑45 and ↓0+45
Comments35

Дешевые авиабилеты… Сеть мошеннических сайтов, ворующих деньги с карт. Второе расследование. При чём тут Промсвязьбанк?

Reading time41 min
Views55K


Около месяца назад я опубликовал на Geektimes статью «Дешевые авиабилеты… Или сеть мошеннических сайтов, ворующих деньги с карт. Мое расследование.» Публикация получила большой отклик и неожиданное продолжение…

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

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

И вот один из пользователей Geektimes связался со мной и прислал тот самый скрипт payp2p.php, который использовался в последнее время на большой части мошеннических сайтов по продаже авиабилетов. Скрипт этот использует сервис Промсвязьбанка для перевода с карты на карту. И на мой взгляд, Промсвязьбанк, предоставляя свой сервис, который было легко обмануть, способствовал росту количества интернет-мошенников.
Читать дальше →
Total votes 98: ↑96 and ↓2+94
Comments87

Теории заговора. Алкогольное лобби

Reading time8 min
Views106K

По данным ВОЗ, россияне мужского пола потребляют 23,9 литра чистого спирта в год (белорусы — 27,5 л) при среднемировом уровне потребления алкоголя 6,2 литра в год. Медики считают, что именно алкоголь является причиной многочисленных смертельных заболеваний. Повсеместная алкоголизация населения — главный фактор низкой продолжительности жизни в России. Говорят, что это единственная страна в мире, где смертность мужчин на свободе в три раза выше, чем в тюрьме (там алкоголь запрещён). Фактически, алкоголь унёс уже больше жизней, чем голод, эпидемии, теракты и все войны в истории, включая Вторую мировую войну. Сейчас от этого вещества умирает 3,3 млн человек в год.

Алкоголь вызывает привыкание, разрушает мозг, печень, пищеварительный тракт и желудок. Он приводит к циррозу печени, раку поджелудочной железы, ожирению, гипертонии, болезням сердца.
Читать дальше →
Total votes 166: ↑123 and ↓43+80
Comments996

Исповедь Битрикс хейтера

Reading time47 min
Views172K
Что-то много развелось в последнее время статей про минусы битрикса, и их опровержений. Раз уж пошла такая пьянка, то и я добавлю свои 5 копеек.
В комментариях к статьям писали, что не хватает конкретики, примеров, более глубокого обзора.

Данная статья — попытка этот обзор написать. Хотя нет, это скорее пост ненависти и боли (может даже немного нытья). Это такой расширенный вариант поста про минусы от pistol. Я постараюсь описать большинство тех вещей, которые раздражают именно меня и моих коллег в Битриксе. Постараюсь собрать в одном посте все те минусы, которые доставляют ежедневно очень много боли. Под конец я постараюсь сделать выводы.

Кто я такой? Да в общем-то, обычный разработчик. Работаю с битриксом с ноября 2010 года (5.5 лет). Работаю только с битриксом, не сделал ни одного коммерческого проекта на других CMS, не использовал фреймворки в создании сайтов. По роду деятельности я занимаюсь в основном интернет-магазинами, их созданием, поддержкой и развитием.
Читать дальше →
Total votes 122: ↑111 and ↓11+100
Comments180

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity