• Распространение программ на Go. Часть 1

    Недавно прочел достаточно неплохую статью о инсталяции программ на Go. Где был показан простой пример того как можно реализовать установку бинарника под «любую» (unix friendly) операционную систему. Решил написать более подробный цикл статей на эту тему.

    image

    Читать дальше →
  • Новый MTProto-прокси сервер от Telegram

    • Tutorial
    Прокси-сервер является посредником между клиентом и сервером. Для обхода ограничений прокси-сервер должен быть установлен там, где нет ограничений доступа к требуемой информации, при этом не должно быть таковых ограничений и между клиентом и прокси-сервером.

    image

    Обновлённая поддержка прокси-серверов в клиентах Telegram


    • Новый MTProto-прокси. Работает с родным для Telegram протоколом MTProto
    • Открытый исходный код сервера на GitHub
    • Docker-образ на DockerHub
    • В мобильных клиентах появилась возможность добавлять несколько прокси-серверов каждого типа. Пользователь может выбрать наиболее подходящий
    Читать дальше →
  • Настройка BGP для обхода блокировок, версия 2, «не думать»

    • Tutorial

    Перечитал я трезвым взглядом свой предыдущий пост и понял, что новичкам через все эти нагромождения апдейтов и обсуждений в комментариях (которые местами были даже полезнее, чем сам пост) продираться будет затруднительно.


    Поэтому здесь я приведу сжатую пошаговую инструкцию, как обходить блокировки, если у вас есть:


    • линукс-машина (ubuntu) вне поля блокировок;
    • роутер Mikrotik, на который вы уже подняли VPN-туннель до этой линукс-машины;
    • настроенный NAT на этом туннеле, позволяющий вам работать через него;
    • желание.

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


    Те, кто уже всё сделал по мотивам предыдущего поста, в этом полезной информации не почерпнут.

    Читать дальше →
  • Кроссплатформенная утилита мониторинга SNMP-трафика без зависимостей и наличия GUI

    Здравствуй, Хабр!


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


    При этом всегда попадается такое оборудование, которое либо не заведено в систему мониторинга, либо требует просмотра статистики чаще, чем раз в минуту (как rrdtool).
    А в арсенале, зачастую, лишь консоль сервера на Windows или Debian.

    Читать дальше →
  • Использование libpam при настройке SOCKS сервера Dante

    • Tutorial
    Всем доброго дня. Столкнувшись с необходимостью настроить SOCKS5 я обнаружил, что в интернетах и в частности на Хабре при настройке авторизации для dante-server используется метод «username».

    Этот метод отнюдь не является безопасным. Об этом не раз писалось ( например ) и приводилось множество сравнений с 3proxy который для авторизации использует отдельный файл паролей. Кого интересует реализация данной возможности в Dante прошу под кат.
    Читать дальше →
  • Настройка BGP для обхода блокировок, или «Как я перестал бояться и полюбил РКН»

    Ну ладно, про «полюбил» — это преувеличение. Скорее «смог сосуществовать с».


    Как вы все знаете, с 16 апреля 2018 года Роскомнадзор крайне широкими мазками блокирует доступ к ресурсам в сети, добавляя в "Единый реестр доменных имен, указателей страниц сайтов в сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в сети «Интернет», содержащие информацию, распространение которой в Российской Федерации запрещено" (по тексту — просто реестр) по /10 иногда. В результате граждане Российской Федерации и бизнес страдают, потеряв доступ к необходимым им совершенно легальным ресурсам.


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

    Читать дальше →
  • Обзор сервера удаленных рабочих столов ThinLinc для Linux

      Решение Cendio ThinLinc в России пока не получило большой известности, хотя постепенно начинает привлекать к себе внимание. Мы решили опубликовать небольшой обзор, чтобы читатели смогли оценить удобство программного продукта под Linux.

      Читать дальше →
    • Explicit Proxy c авторизацией по AD Group + Interception Proxy с авторизацией по MAC


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

      Читать дальше →
    • Настройка Let's Encrypt wildcard-сертификатов в CentOS 7 с валидацией через CloudFlare API

      Как и многие, я давно ждал возможности получения wildcard-сертификатов от Let's Encrypt. И вот момент настал, а мануала на Хабре так и нет. Ну что ж, попробуем исправить это.
      Читать дальше →
    • Настраиваем Mozilla Thunderbird в корпоративной среде Windows

        Будем следовать принципу: Чем меньше надо настраивать пользователю, тем меньше вероятность того что он что то поломает. Думаю пользователь с вводом своего пароля справится.


        Необходимо настроить:


        1. Файл конфигурации для подключения к серверу.
        2. Справочник контактов из LDAP.
        3. Подпись сотрудника в письме в соответствии с корпоративными стандартами.

        Имеем на данный момент:


        1. Установленный почтовый клиент Thunderbird на рабочих станциях средствами групповой политики.
        2. Почта на biz.mail.ru (может быть и другой)
        3. Пользователи в AD с логином вида i.ivanov@domain.cn
        Читать дальше →
        • +12
        • 15.2k
        • 7
      • Blockchain на Go. Часть 4: Транзакции, часть 1

        Привет, Habr! Представляю вашему вниманию перевод статьи "Building Blockchain in Go. Part 4: Transactions 1".

        Содержание

        1. Blockchain на Go. Часть 1: Прототип
        2. Blockchain на Go. Часть 2: Proof-of-Work
        3. Blockchain на Go. Часть 3: Постоянная память и интерфейс командной строки
        4. Blockchain на Go. Часть 4: Транзакции, часть 1
        5. Blockchain на Go. Часть 5: Адреса
        6. Blockchain на Go. Часть 6: Транзакции, часть 2
        7. Blockchain на Go. Часть 7: Сеть

        Вступление


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

        • Tutorial


        Идея сделать независимый от корпораций P2P мессенджер не нова, однако разработка нового протокола и клиентских приложений для него достаточно дорогой и долгий процесс. А что, если использовать старый добрый XMPP, в котором уже все давно продумано и запилено?


        Но это же не настоящий peer-to-peer, скажете вы, для работы XMPP нужен собственный сервер и домен. Это так, но мы можем запустить сервер на локалхосте, а для связи с серверами других пользователей использовать скрытый сервис в виртуальной сети I2P. Использование I2P избавит нас от необходимости платить за домен с хостингом, а так же защитит наши коммуникации от преступной онлайн-слежки.


        Таким образом, получаем:


        • Гибридный P2P мессенджер, который можно запускать и на пользовательских устройствах, и на полноценном сервере.
        • Фичи, которых не хватает другим P2P мессенджерам: оффлайн сообщения, хранение контактов и истории "в облаке", работа нескольких клиентов с одним аккаунтом.
        • Готовые клиентские приложения на любой вкус.
        • За счет использования I2P, неуязвим для различных *надзоров (сори за мат).

        Приступим же к реализации...

        Читать дальше →
      • Начинающему веб-мастеру: делаем одностраничник на Bootstrap 4 за полчаса

        • Translation
        Фреймворк Bootstrap — это свободный набор инструментов для создания интерфейсов сайтов и веб-приложений. Его возможности ориентированы исключительно на фронтенд-разработку. Bootstrap — проект весьма популярный, о чём, например, говорит то, что он занимает (по состоянию на начало марта 2018-го года) второе место по количеству звёзд на GitHub.


        Если вы хотите освоить Bootstrap, в частности, его самую свежую, четвёртую версию, значит, этот материал подготовлен специально для вас. Здесь, на небольшом сквозном примере, который реально освоить за полчаса, будут продемонстрированы основы Bootstrap, разобравшись с которыми вы вполне сможете сделать что-то своё, использовав этот фреймворк.
        Читать дальше →
      • Blockchain на Go. Часть 2: Proof-of-Work

        Привет, Хабр! Представляю вашему вниманию перевод статьи "Building Blockchain in Go. Part 2: Proof-of-Work".

        Содержание
        1. Blockchain на Go. Часть 1: Прототип
        2. Blockchain на Go. Часть 2: Proof-of-Work
        3. Blockchain на Go. Часть 3: Постоянная память и интерфейс командной строки
        4. Blockchain на Go. Часть 4: Транзакции, часть 1
        5. Blockchain на Go. Часть 5: Адреса
        6. Blockchain на Go. Часть 6: Транзакции, часть 2
        7. Blockchain на Go. Часть 7: Сеть


        Вступление


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

        Одним из краеугольных камней Биткоина и блокчейна является то, что добавление новых блоков должно быть достаточно сложной работой. И сейчас мы собираемся исправить этот недостаток.
        Читать дальше →
      • Тонкий бездисковый клиент на базе Ubuntu, не требующий монтирования ФС по сети

          logo ubuntu and windows
          Изображение с сайта getwallpapers.com


          История


          В далёком 2013 году в одном банке использовались тонкие клиенты на основе DisklessUbuntu. С ними были некоторые проблемы, по-моему монтирование корневой ФС по сети в больших филиалах со слабой сетью работало не очень. Тогда мой хороший друг @deadroot сделал первую версию тонкого клиента, который грузился целиком в память, не требуя что-то монтировать по сети для работы.


          Потом этот клиент активно допиливал я, там было сделано много полезных штук, специфичных именно для нашего сценария использования. Потом банк закрылся (отозвали лицензию), остатки исходников клиента переехали на мой гитхаб: thunclient. Пару раз я его слегка допиливал на заказ.


          Недавно у меня дошли руки сделать из этой кучи страшных ненадёжных скриптов достаточно удобное для использования решение:


          • Vagrant поднимает виртуалку, которую можно настраивать как обычную рабочую станцию.
          • Одним скриптом из неё собирается готовые для загрузки по сети файлы, лишнее вырезается.
          • Vagrant поднимает виртуальный PXE сервер и сетевой клиент для проверки получившейся сборки.
          Читать дальше →
        • Blockchain на Go. Часть 1: Прототип

          • Translation
          • Tutorial

          Содержание


          1. Blockchain на Go. Часть 1: Прототип
          2. Blockchain на Go. Часть 2: Proof-of-Work
          3. Blockchain на Go. Часть 3: Постоянная память и интерфейс командной строки
          4. Blockchain на Go. Часть 4: Транзакции, часть 1
          5. Blockchain на Go. Часть 5: Адреса
          6. Blockchain на Go. Часть 6: Транзакции, часть 2
          7. Blockchain на Go. Часть 7: Сеть

          Блокчейн одна из самых революционных технологий 21 века, до сих пор не реализовавшая весь свой потенциал. По сути, блокчейн это просто распределенная база данных. Что же делает ее уникальной? Это база данных полностью открыта и хранится у каждого участника полной или частичной копией. Новая запись создается только с согласия всех кто хранит базу. Благодаря этому существуют такие вещи как криптовалюта и умные контракты.


          В этой серии уроков мы создадим, основанную на блокчейне, упрощенную криптовалюту. В качестве языка используем Go.

          Читать дальше →
          • +13
          • 18.9k
          • 5
        • Лабораторная работа: введение в Docker с нуля. Ваш первый микросервис

          • Tutorial
          Привет, хабрапользователь! Сегодня я попробую представить тебе очередную статью о докере. Зачем я это делаю, если таких статей уже множество? Ответов здесь несколько. Во-первых не все они описывают то, что мне самому бы очень пригодилось в самом начале моего пути изучения докера. Во-вторых хотелось бы дать людям к теории немного практики прямо по этой теории. Одна из немаловажных причин — уложить весь накопленный за этот недолгий период изучения докера опыт (я работаю с ним чуть более полугода) в какой-то сформированный формат, до конца разложив для себя все по-полочкам. Ну и в конце-концов излить душу, описывая некоторые грабли на которые я уже наступил (дать советы о них) и вилы, решение которых в докере просто не предусмотрено из коробки и о проблемах которых стоило бы задуматься на этапе когда вас распирает от острого желания перевести весь мир вокруг себя в контейнеры до осознавания что не для всех вещей эта технология годна.

          Что мы будем рассматривать в данной статье?

          В Части 0 (теоретической) я расскажу вам о контейнерах, что это и с чем едят
          В Частях 1-5 будет теория и практическое задание, где мы напишем микросервис на python, работающий с очередью rabbitmq.
          В Части 6 — послесловие
          Читать дальше →
        • Как удалить рекламу из Android приложений

          Привет, Хабр! Представляю вашему вниманию перевод статьи How to Remove Ads from Android Apps автора Owais Sultan.

          Обратите внимание: приложение, описываемое в этой статье, принадлежит сторонним разработчикам и требует наличие root-привилегий на вашем устройстве. Проверьте это перед его установкой.

          Если вы владелец Android устройства, вы наверняка устанавливаете на него множество приложений. Но такие приложения как MX Player, показывают слишком много раздражающей рекламы. Если у вас много таких приложений, и вы их часто используете, то подобная реклама сильно утомляет.

          Поэтому, если вы хотите узнать как от неё избавиться, то вы пришли по адресу.
          Читать дальше →
        • Тюнинг типовых ролей Windows. Часть вторая: терминальный сервер и дедупликация


            Продолжаем выжимать все соки из Windows-сервера. В этот раз я расскажу про настройку сервера удаленных рабочих столов, более известного как терминальный сервер. В качестве «вишенки на торте» остановимся еще на тюнинге системы дедупликации томов Windows.

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