Всем доброго времени суток!

Позвольте представиться.
Я CEO/CTO/CIO/итд VPN сервиса SmartVPN.biz.
Можно называть меня Виктор Иванов, так как таков был мой псевдоним в службе поддержки клиентов SmartVPN.biz.

Пару лет назад я решил создать свой первый стартап — VPN сервис.
Идея нагрянула после того как около 5 друзей попросили у меня VPN на моем личном сервачке.
Естественно, никакого анализа рынка, конкурентов и написания бизнес плана не было. Я просто сел и начал кодить.
Спустя какое-то время проектом стало можно пользоваться — и он увидел свет.


Расходов было немного — личное время на разработку да 20$ в месяц на low-end серверы.

Полтора года проект был в продакшене. За это время я многое произошло.
Правительство все больше закручивало гайки вокруг российского интернета. Жители Крыма не смогли пользоваться многими зарубежными сервисами. Заблокировано было множество честных, совсем не террористических сайтов.
Я рад, что помог людям пользоваться интернетом свободно, обходя глупые никому не нужные запреты.
Также наш сервис дважды испытал DDoS атаки, незабываемое чувство, когда понимаешь что кому-то твой проект мешает.

Но время идет, а в месте с ним меняются интересы и приоритеты. Поэтому я решил остановить SmartVPN.biz.
Чтобы мой труд не пропал даром, я решил отправить исходники сервиса в опенсорс, по MIT лицензии.
Если я понимаю ее правильно, то вы можете делать с кодом все что хотите, например изменять и запускать свои VPN сервисы.

Это не реклама, просто не хочется чтобы труд канул в лету, форкайте и пользуйтесь: github.com/smartvpnbiz

Комментарии (34)


  1. dimarikpro
    28.06.2015 08:29
    -1

    Круто.
    Скажите мне как junior`у сколько лет в вэбдеве и на RoR?
    Сколько времени ушло от идеи до production?


    1. Mexxis Автор
      28.06.2015 11:13
      +2

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


  1. musuk
    28.06.2015 09:36
    +2

    Сколько, в среднем, активные клиенты у вас трафика выедают? Мне казалось, что для хостинга VPN нужен хороший канал, так что Low-end сервера тут не подходят.


    1. Mexxis Автор
      28.06.2015 11:14
      +1

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


  1. mx2000
    28.06.2015 10:07
    +1

    интересна причина закрытия сервиса.


    1. Mexxis Автор
      28.06.2015 11:15
      +11

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


  1. ValdikSS
    28.06.2015 10:13

    1. Mexxis Автор
      28.06.2015 11:17
      +4

      Интересно, спасибо.
      Теперь помимо python есть реализация VPN сервиса и на ruby


  1. zhovner
    28.06.2015 11:25
    +4

    Почему нет ни одного VPN сервиса использующего ipsec ikev2?
    Плюсы его очевидны: не нужно ставить никакие сторонние клиенты, поддерживается большинством платформ, работает очень шустро и стабильно.


    1. Mexxis Автор
      28.06.2015 11:28
      +1

      Не слишком знаком с ipsec, но мне казалось он не так гибко конфигурируется, как openvpn


      1. zhovner
        28.06.2015 11:36
        +2

        Есть разные реализации. У strongSwan, например, куча плагинов wiki.strongswan.org/projects/strongswan/wiki/Pluginlist


      1. ValdikSS
        28.06.2015 15:36

        Тот же strongSwan конфигурируется достаточно гибко для того, чтобы использовать его в коммерческих VPN-сервисах.


    1. inkvizitor68sl
      28.06.2015 13:01
      -5

      ipsec дыряв как незнамо что.


      1. WarP
        28.06.2015 14:35
        +1

        На основании чего такие утверждения?


        1. inkvizitor68sl
          28.06.2015 14:43
          -2

          Хотя бы начать отсюда — xakep.ru/2015/05/13/ipsec-security-flaws, там вроде понятно описано.
          www.opennet.ru/opennews/art.shtml?num=36854 — вот ещё из веселого.

          Вообще mitm в ipsec был возможен издревле на этапе установления коннекта.


          1. dannyzubarev
            28.06.2015 14:55
            +4

            По первой ссылке рассматривают исключительно IKEv1, хотя изначально zhovner указал IKEv2. По второй ccылке информация о уязвимости, которая касается иключительно бага в реализации обработки результата OpenSSL в конкретном приложении (strongSwan), а не в самом протоколе IPSec.


            1. inkvizitor68sl
              28.06.2015 14:57
              -9

              Ну возможно. Но общее мнение в среде OSS об ipsec как о не очень надежном протоколе.


          1. ValdikSS
            28.06.2015 15:34
            +10

            Та статья не имеет ничего общего с IPsec, та статья про Cisco IPSec (S большая), который не представляет из себя ничего кроме технологический отсталости, и вообще мало совместим с IPsec. В IPsec уже почти не используют IKEv1, а если и используют, то уж точно не в aggressive mode. Например, в strongSwan aggressive mode включается вот так:

            charon.i_dont_care_about_security_and_use_aggressive_mode_psk=yes


            Да и от PSK уже отходят.


            1. inkvizitor68sl
              28.06.2015 15:34

              Ох ты ж =)
              Спасибо.


          1. WarP
            28.06.2015 16:06

            в общем вам уже ответили о том, что ваша информация несколько устарела.

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


    1. vsb
      28.06.2015 14:53
      -1

      Насколько я понимаю, кроме OpenVPN ни один вариант не работает, когда несколько клиентов подключаются из-за NAT-а. Например у меня дома два компьютера, два телефона и один планшет и на всех хочется иметь возможность включать VPN. Домашняя сетка идёт через NAT-ящий роутер. Пробовал разные варианты, только OpenVPN работает без проблем.


      1. zhovner
        28.06.2015 14:59
        +1

        Вы точно пробовали ipsec ikev2? У меня за двойным натом (провайдер выдает маскарадный ip) работает три клиента подключенных к одному серверу без проблем.


        1. vsb
          28.06.2015 16:38

          Спасибо за информацию, попробую ещё раз. Пробовал разные, вроде и ikev2 пробовал.


        1. vsb
          06.07.2015 17:55

          ccc.ru/magazine/depot/01_03/read.html?web.htm собственно тут описывается, почему не будет работать. Чтобы работало — нужно, чтобы маршрутизатор поддерживал IPSec, обычные пользовательские маршрутизаторы, конечно, такого не умеют. Или инкапсулировать зашифрованные пакеты в UDP-пакеты, которые все умеют маршрутизировать, но это уже не ipsec.


          1. zhovner
            06.07.2015 18:29
            +1

            Или инкапсулировать зашифрованные пакеты в UDP-пакеты, которые все умеют маршрутизировать, но это уже не ipsec.


            Вообще-то сейчас это так и работает: ESP инкапсулируется в UDP. И это все называется ikev2. Ваша статья давно устарела.

            Вы меня пытаетесь убедить, что это работать не можеть, в то время как я предлагаю вам попробовать и на реальном примере убедиться. Я вышлю вам настройки для windows/macos и адрес сервера.


            1. vsb
              07.07.2015 09:07

              Да, ещё почитал и вроде разобрался, таки должно работать. Только называется это NAT-T. У меня свой сервер, я на нём пробую.


      1. zhovner
        28.06.2015 15:01

        Скажите какие ОС на всех ваших клиентах, и если интересно, можем попробовать потестировать.


    1. egormerkushev
      30.06.2015 11:50

      Например ipsec ikev2 на iOS только появился, а это очень популярная ОС.


      1. zhovner
        01.07.2015 10:08

        Почти год назад. Кроме того давно поддерживается ikev1 через PSK.


  1. Kroid
    28.06.2015 16:43

    Круто, что выложили наработки в open source, но жаль что без документации, хотя бы на базовом уровне. Зачастую легче с нуля написать свой велосипед, чем копаться в исходниках чужого, даже если эти исходники на рельсах.


    1. Mexxis Автор
      28.06.2015 17:01
      +4

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


      1. celebrate
        29.06.2015 13:17

        Да, не могли бы вы написать хоть какую-то документацию, пожалуйста!


        1. Mexxis Автор
          29.06.2015 13:23
          +1

          Постараюсь написать, а вы пока подписывайтесь на репозиторий.


  1. L0NGMAN
    30.06.2015 01:56

    Спасибо за open source!