Как стать автором
Обновить
82
0

Программист-фрилансер

Отправить сообщение

Защищённый сервис обмена текстовыми сообщениями

Время на прочтение2 мин
Количество просмотров13K
Однажды, лежа на диване, попивая чай, я понял, что мне необходимо создать сервис для безопасного обмена текстовой информацией. Осознавая всю значимость этого дела, я подошел к нему основательно. Диван, осознав, всю важность данного действа решил мне в этом помочь. Вместе, сосредоточившись и превозмогая сон, мы создали чудесный сайт с открытым исходным кодом. Исходники можно посмотреть тут, и шоукейс тут (все на Github).

Основные фичи, которых я добился:

  • Высокая скорость загрузки
  • Если указать пароль, то информация шифруется прямо в браузере и на сервер сохраняется только ничего. Для просмотра данных нужно ввести пароль, чтобы расшифровать в браузере данные, полученные не с сервера.
  • Высокая загрузка центрального процессора
  • Поисковым системам не запрещено индексировать содержимое сайта, потому что нет сайта
  • HTTPS везде
Читать дальше →

У вас есть право на анонимность. Часть 1. Введение и мировая практика

Время на прочтение6 мин
Количество просмотров49K
image
Право на анонимность уже стало мировым стандартом для обеспечения фундаментальных прав человека и гражданина в цифровую эпоху, прежде всего – права на свободу выражения мнения и права на тайну частной жизни / прайваси.

Так что же такое «право на анонимность», если мы говорим про интернет-пространство:

✓ Право на анонимный сёрфинг (поиск информации в сети) и анонимную отправку личных сообщений (e-mail, мессенджеры)

Анонимное соединение — это главное субъективное право, необходимое любому пользователю Интернета. Анонимным соединением считается соединение с сервером назначения, когда этот сервер не имеет возможности ни установить происхождение (IP-адрес/местонахождение) этого соединения, ни присвоить ему какой-либо идентификатор.

Пользователи должны иметь право на анонимный поиск информации в интернете, в том числе скрывать свои IP-адреса и отправлять сообщения анонимно. Осенью 2016 года Европейский суд справедливости (European Court of Justice) рассмотрел запрос немецкого Федерального Суда, связанного с иском представителя немецкой Пиратской партии к федеральному правительству. Жалоба была подана немецким гражданином в отношении хранения на правительственных сайтах динамических IP адресов после того, как пользователь покидает сайт. Европейский суд в своем решении признал динамический адреса (как и ранее статические адреса) персональными данными и указал, что операторы не имеют права сохранять динамические IP-адреса, кроме как для защиты от кибератак.
Читать дальше →

Опасайтесь прозрачных пикселей

Время на прочтение6 мин
Количество просмотров45K
image

Если вы используете в своей игре спрайты с прозрачностью (а обычно так и бывает, как минимум для UI), то вам, вероятно, стоит уделить внимание к полностью прозрачным пикселям текстур (или «текселам»).

Даже если значение альфа-канала равно 0, с пикселем всё равно связано значение цвета. Этот цвет ни на что не влияет, так ведь? В конце концов, пиксель полностью прозрачен, кому есть дело до его цвета…

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

Создана первая технология для подделки любых голосов

Время на прочтение3 мин
Количество просмотров101K


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

Благодаря передовым разработкам в области ИИ теперь злоумышленники смогут пустить оперативников по ложному следу. 24 апреля 2017 года канадский стартап Lyrebird анонсировал первый в мире сервис, с помощью которого можно подделать голос любого человека. Для обучения системы достаточно минутного образца.
Читать дальше →

Гиперссылки в формате «ed2k://…» и их применение. Часть 1: описание формата файловых ed2k-гиперссылок

Время на прочтение7 мин
Количество просмотров11K
Более десяти лет назад (6 сентября 2000 года, как можно выяснить в Архиве Интернета) на свет появился первый выпуск программы eDonkey2000, представивший миру идею и реализацию гиперссылок в формате «ed2k://…» — удивительный для своего времени алхимический сплав трёх идей: во-первых, хэширования файлов, во-вторых, URI (единой формы идентификации ресурсов), и в-третьих, файлообмена.

Хотя через 6 лет (в сентябре 2006 года) юристам RIAA через суд удалось принудить производителя eDonkey2000 прекратить распространение программы (и даже подменить её сайт зловещим предупреждением о нелегальности файлообмена), формат гиперссылок «ed2k://…» был унаследован и широко используется по сей день во всех файлообменных программах и на всех сайтах, имеющих дело с файлообменными сетями ed2k или Kad. Более того, с тех пор этот формат успел слегка подразвиться по сравнению с вариантом 2006 года. Такова эпическая сила идей, в нём заложенных.

Популярность программ, реализующих формат гиперссылок «ed2k://…», также оказалась немалою. В зените своей славы программа eDonkey2000, название которой действительно происходит от английского слова «donkey» («осёл»), в умах российских пользователей на равных боролась за жаргонное название «ослика» с мега-популярным браузером IE, который обязан этой кличкою лишь случайному сходству транскрипции «иэ» и имени ослика Иа-Иа из историй о Винни-Пухе — а также, быть может, и своему ослиному упрямству в некорректной интерпретации некоторых веб-стандартов. (Приязнь к аниме и понимание «иэ» как японского отрицания «нет» в те годы, как видно, не было распространено.) А главный из идейных «наследников» eDonkey2000 — свободная программа eMule с открытым исходным кодом — до сих пор находится в вершине списка наиболее популярных (по числу закачек) продуктов на сайте SourceForge.

Хэширование файлов. URI. Файлообмен. Каким образом все три эти идеи сплелись воедино в формате гиперссылок «ed2k://…»?

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

Inkscape в действии: закат со звездами

Время на прочтение4 мин
Количество просмотров13K
Исполнив ранее другой проект с закатом, мы не проявляем страхов, вызванных возвращением к подобному проекту. В нем звезды добавляются отличным образом, так что не будем упускать время и займемся им. На обложке нашего журнала в этом месяце возможно наблюдать картинку, нарисованную соответствующим образом.
Читать дальше →

История одного толстого бинарника

Время на прочтение9 мин
Количество просмотров14K

enter image description here


Привет. Меня зовут Марко (я системный программист в Badoo). И я представляю вашему вниманию перевод поста по Go, который мне показался интересным. Go действительно ругают за толстые бинарники, но при этом хвалят за статическую линковку и за удобство выкладки единственного файла. Если на современных серверах толстые бинарники – не проблема, то на встраиваемых системах – еще как. Автор описывает свою историю борьбы с ними в Go.

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

Не доверяйте SUDO, она может вас подвести

Время на прочтение7 мин
Количество просмотров47K

Всем доброго времени суток, в этой статье постараюсь описать некоторые способы обхода ограничений на исполнение команд в ОС Linux, советы по использованию которых можно часто встретить на различных форумах. Демонстрация будет проведена на примере задания Restricted shells с сайта Root-Me. Итак, начнём.
Читать дальше →

Установка MLDonkey и DC++ плагина для него

Время на прочтение4 мин
Количество просмотров5.5K
Поставил я себе недавно задачу — создать в локальной сети бота, который был бы установлен на само́м серверном компьютере, и управлялся бы, в идеале, через web-интерфейс, но можно и по SSH. Задача бота — круглосуточно сидеть на раздаче. При попытке найти такой DC++ клиент, я с огорчением обнаружил, что продуктов отвечавших моим требованиям пока нет. Ncdc и MicroDC2 так и не удалось запустить как демон, да и работали они со скрипом. В сторону MLDonkey не смотрел т.к. рассматривал его скорее как альтернативу торрент-клиенту Transmission, чем как клиент сетей DC++. А зря!
Читать дальше →

Делаем скриншоты правильно: практические советы

Время на прочтение8 мин
Количество просмотров190K
Устройство для снимка экрана на первых компьютерах (Command-Shift-3)
Устройство для снимка экрана на первых компьютерах (Command-Shift-3)

Если вы когда-либо делали хелп или мануал для своего приложения, наверняка вы отметили, как неожиданно много времени и сил занимает создание скриншотов.

Ведь кажется, что скриншот — это “секунда работы, Alt+PrintScreen и Ctrl+V!”. Некоторые клиенты удивляются, когда слышат, что скриншот в мануале может стоить и $2 и даже $5.

В этой статье я расскажу, как правильно делать скриншоты, почему это не просто “два клика” и какие подводные камни встречаются на пути неопытного скриншотера. Рассматривайте ее как чеклист или список практических советов для тех, кто документирует ПО. Надеюсь, это поможет вам избежать разочарований и порадовать юзеров красочными понятными картинками.
Читать дальше →

Ищем и скачиваем непопулярные и старые файлы в интернете

Время на прочтение14 мин
Количество просмотров210K
Преимущественно медиафайлы. На полном серьезе, без шуток.

Введение

Бывает, случается так, что вы хотите скачать альбом 2007 года исполнителя, который кроме вас известен 3.5 людям, какой-нибудь испанский ска-панк или малопопулярный спидкор европейского происхождения. Находите BitTorrent-раздачу, ставите на закачку, быстро скачиваете 14.7%, и… все. Проходит день, неделя, месяц, а процент скачанного не увеличивается. Вы ищете этот альбом в поисковике, натыкаетесь на форумы, показывающие ссылки только после регистрации и 5 написанных сообщений, регистрируетесь, флудите в мертвых темах, вам открываются ссылки на файлообменники вроде rapidshare и megaupload, которые уже сто лет как умерли.

Попытка скачать хотя бы один файл
Увы, частая ситуация в попытке хоть что-то скачать

Такое случается. В последнее время, к сожалению, случается чаще: правообладатели и правоохранительные органы всерьез взялись за файлообмен; в прошлом году закрылись или были закрыты KickassTorrents, BlackCat Games, what.cd, btdigg, torrentz.eu, EX.ua, fs.to, torrents.net.ua, и еще куча других сайтов. И если поиск свежих рипов фильмов, сериалов, музыки, мультиков все еще не представляет большой проблемы, несмотря на многократно участившееся удаления со стороны правообладателей контента из поисковых систем, торрент-трекеров и файлообменников, то поиск и скачивание оригинала (DVD или Blu-Ray) фильмов и сериалов или просто ТВ-рипов 7-летней давности на не-английском и не-русском языке — не такая уж простая задача.
Читать дальше →

Stunnel на сервере и клиенте

Время на прочтение6 мин
Количество просмотров123K
Задача

Обеспечить доступ из «везде где есть интернет» к некоему ПО. Шифровать траффик между клиентской и серверной частью приложения, которое не умеет работать через SSL. Так же нужно иметь возможность ограничивать доступ некоторым пользователям при необходимости. По различным причинам основные реализации VPN отпали. В процессе поиска решения наткнулся на Stunnel, который идеально подошел. В данной статье постараюсь детально описать процесс настройки.
Читать дальше →

Javascript-паноптикум

Время на прочтение7 мин
Количество просмотров21K

За время, что мне довелось писать на Javascript, у меня сложился образ, что js и его спецификация это шкатулка с потайным дном. Иногда кажется, что ничего секретного в ней нет, как вдруг магия стучит в ваш дом: шкатулка раскрывается, оттуда выскакивают черти, по-домашнему исполняют блюз и резво скрываются обратно в шкатулке. Позднее вы узнаете причину: стол повело и шкатулку наклонило на 5 градусов, что вызвало чертей. С тех пор вы не знаете, это фича шкатулки, или лучше все-таки покрепче замотать её изолентой. И так до следующего раза, пока шкатулка не подарит новую историю.


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

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

Как достичь рейтинга А+ для SSL-сертификата на вашем сайте, и другие аспекты безопасности хостинга

Время на прочтение10 мин
Количество просмотров22K


В последние годы хостинг превратился в commodity — полноценный продукт, привлекательность которого во многом определяется сопутствующими услугами. А поскольку особое значение сегодня имеет информационная безопасность веб-сайтов, то одним из важнейших аспектов хостинга являются SSL-сертификаты. Вся электронная коммерция так или иначе проходит через хостинг, поэтому необходимо понимать, насколько безопасно, правильно и удобно выполняются все бизнес-операции. Подробнее об этом рассказал спикер компании Rusonyx на партнёрской конференции «1С-Битрикс».
Читать дальше →

Один пиксель вместо тысячи слов

Время на прочтение8 мин
Количество просмотров56K


Пару месяцев назад, отдыхая от реализации новых возможностей вроде q_auto и g_auto, я прикалывался в нашем командном чате по поводу того, как различные форматы хранения изображений будут сжимать однопиксельную картинку. В ответ Orly, редактор блога, попросила меня написать пост об этом. Я сказал: «Конечно, почему бы и нет. Но это будет очень короткий пост. Ведь что можно рассказать про один пиксель».

Похоже, я был сильно неправ.

Что можно сделать с одним пикселем?


В ранние годы веба однопиксельные картинки часто использовались как костыли для вещей, которые сейчас делаются через CSS. Создание отступов, линий, прямоугольников, полупрозрачных фонов – много чего можно сделать, просто масштабируя пиксель до нужных размеров. Ещё одно использование пикселей, дожившее до наших дней – маячки, средства для отслеживания и аналитики.

В отзывчивом веб-дизайне однопиксельные картинки используются как временные заглушки в ожидании загрузки страницы. Большинство браузеров не поддерживают HTTP Client Hints, поэтому некоторые варианты с отзывчивыми изображениями ждут полной загрузки страницы, чтобы подсчитать актуальный размер картинок, а затем заменяют однопиксельные картинки нужными изображениями при помощи JavaScript.


Сломанная картинка
Читать дальше →

Два по сто: самые читаемые статьи и авторы Хабра и ГТ

Время на прочтение10 мин
Количество просмотров66K
Если кто не знает, на Хабре, как и Гиктаймсе, всегда можно посмотреть все самые рейтинговые статьи за всё время. Но по просмотрам ни статьи, ни авторы никак не сортируются. Список ниже отражает почти полную правду о самых читаемых статьях «Хабра» и «Гиктаймса» за всё время. Почти — потому что, к сожалению, публичный счётчик был включён только 27 сентября 2012 года (примерная дата), поэтому если вам кажется, что какие-то ваши любимые тексты эпохи, когда Хабр был более торт, недосчитались просмотров — может, вы и правы. Впрочем, отчасти фактор неработавшего ранее счётчика нивелируется мощным хвостом в виде поискового траффика, так что действительно сильные тексты в любом случае должны были получить то, что им причитается — но об этом позже.

Итак, самые топ-100 самых читаемых постов за всё время на Хабре и ГТ в сумме. Megamozg included by default, т.к. данные собраны 21 мая, уже после обратного слияния с «Хабром»:

  1. «Скрытые смайлы в Skype», G0rDi — 1599K (2009)
  2. «Взломать Wi-Fi за… 3 секунды», ushanov90 — 1511K (2012)
  3. «Взломать Wi-Fi за 10 часов», gorl — 1181K (2012)
  4. «300 потрясающих бесплатных сервисов», shimapa23 — 1052K (2015)
  5. «Пишем своё первое приложение на Android», Hoorsh — 997K (2010)
  6. «Обновление с Windows 7/8.1 до Windows 10 TP через Windows Update», akibkalo — 840K (2015)
  7. «Простая стратегия игры 2048», WhatIsGTO — 820K (2014)
  8. «Откровенные фото Дженнифер Лоуренс и еще десятков знаменитостей утекли через iCloud», Akr0n — 795K (2014)
  9. «Подарок от Skype на новый год», gmikhail94 — 781K (2013)
  10. «Wi-Fi: неочевидные нюансы (на примере домашней сети)», apcsb — 757K (2012)

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

Tor выпустил обфусцированный прокси для маскировки трафика в Иране

Время на прочтение2 мин
Количество просмотров20K


Судя по сообщениям пользователей из Ирана, с четверга 9 января некоторые интернет-провайдеры страны начали фильтровать интернет-трафик по сигнатурам (deep packet inspection), блокируя почти все пакеты SSL/TLS. Таким образом, у пользователей перестали работать HTTPS-сервисы, включая Gmail, поиск Google и сайты других интернет-компаний. Туннелирование по SSH в иранском интернете заблокировано уже несколько месяцев назад.
Читать дальше →

Изучаем deep packet inspection у RETN

Время на прочтение4 мин
Количество просмотров42K
Новость: Магистральный провайдер RETN, не смотря на то, что он магистральный, осуществляет фильтрацию трафика посредством DPI. Поскольку оператор он магистральный, и, в частности, занимается доставкой зарубежного трафика, то на выходе мы имеем цензуру для многих провайдеров, в том числе и тех, кто чхать хотел на всякие «запретные списки», но имеют RETN в аплинках.

DPI — совокупное название технологий, при которых оборудование «залезает» во внутрь трафика, то есть реагирует не только на заголовки пакетов разного уровня, но и на содержимое.

Во избежание помех тест проводился из нескольких городов и с нескольких провайдеров, что позволило исключить фактор локальных провайдерских фильтраций (второй, косвенный тест основывался на использовании TTL-сканирования, который всегда указывал на район RETN'а).

Посмотрим, как именно RETN осуществляет DPI, ревностно исполняя законы о защите наркотиков от суицидальных порнографических детей, нарушающих авторские права.

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

Адрес этого поста внесён в список запрещённых к просмотру гражданами Российской Федерации. В связи с этим я осуществил необратимые манипуляции с доменным именем журнала таким образом, чтобы не существовало ни одного достоверного и однозначного алгоритма обращения получившейся хеш-функции.
debug log и выводы

JavaScript. Оптимизация: опыт, проверенный временем

Время на прочтение10 мин
Количество просмотров42K

Предисловие


Давно хотел написать. Мысли есть, желание есть, времени нету… Но вот нашлось, так что привет, Хабра.
Здесь я собрал все идеи, которые помогали и помогают в разработке веб-приложений. Для удобства я разбил их на группы:
  1. Память
  2. Оптимизация операций
  3. Выделение критических участков
  4. Циклы и объектные свойства
  5. Немножко о DOM
  6. DocumentFragment как промежуточный буфер
  7. О преобразованиях в объекты
  8. Разбитие кода
  9. События перетаскивания
  10. Другие советы

Сейчас речь не пойдёт ни о каких библиотеках. Я постараюсь передать знания о механизмах самого языка, а не их реализациях в библиотеках.

Память

Хоть это и не должно волновать клиентского программиста, но не забываем, что память всё-таки не бесконечна и когда-нибудь может закончиться, например, когда запущено несколько массивных программ: офис, графический редактор, компиляция большой программы и др. Несмотря на то, что приведенный пример тривиален, у меня действительно такое случилось, хоть и не из-за браузера, но он тоже сыграл свою роль: 1,3 Гб оперативы (отладчик, около 30 вкладок), начались тормоза по перегрузке страниц ОП в файл подкачки.
Чтобы уменьшить расход памяти, я предлагаю несколько способов:
Читать дальше →

Bitcoin. Как это работает

Время на прочтение10 мин
Количество просмотров757K
О Bitcoin я узнал относительно недавно, но он меня сразу подкупил своей идеей p2p. Чем глубже я зарывался в их Wiki, тем больше проникался этой идеей. Ее реализация красива и элегантна с технической точки зрения.

Поиск хабра по Bitcoin выдает два топика. Но это скорее новости. По комментариям заметно, что у многих людей, особенно не знакомых с Bitcoin напрямую, возникает много вопросов насчет принципов его работы. Также много догадок, зачастую неверных. Чтобы как-то прояснить ситуацию, было решено написать эту статью.
Читать дальше →

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность