Коммерческий VPN сервис в opensource

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

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

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


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

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

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

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

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

      –1
      Круто.
      Скажите мне как junior`у сколько лет в вэбдеве и на RoR?
      Сколько времени ушло от идеи до production?
        +2
        От идеи до продакшена где-то год прошел, но нужно понимать, что все это делалось в свободное от работы время, по выходным, по ночам и очень нерегулярно.
        +2
        Сколько, в среднем, активные клиенты у вас трафика выедают? Мне казалось, что для хостинга VPN нужен хороший канал, так что Low-end сервера тут не подходят.
          +1
          Как оказалось нет, редко кто выкачивал несколько гигабайт в день.
          В основном подключаются чтобы открыть несколько сайтов(судя по расходу траффика).
          +1
          интересна причина закрытия сервиса.
            +11
            Рынок очень насыщенный, конкурентов много, чтобы нормально зарабатывать на VPN сервисе, нужно иметь хороший опыт продаж в интернете и неплохие деньги для раскрутки.
            0
              +4
              Интересно, спасибо.
              Теперь помимо python есть реализация VPN сервиса и на ruby
              +4
              Почему нет ни одного VPN сервиса использующего ipsec ikev2?
              Плюсы его очевидны: не нужно ставить никакие сторонние клиенты, поддерживается большинством платформ, работает очень шустро и стабильно.
                +1
                Не слишком знаком с ipsec, но мне казалось он не так гибко конфигурируется, как openvpn
                  +2
                  Есть разные реализации. У strongSwan, например, куча плагинов wiki.strongswan.org/projects/strongswan/wiki/Pluginlist
                    0
                    Тот же strongSwan конфигурируется достаточно гибко для того, чтобы использовать его в коммерческих VPN-сервисах.
                    –5
                    ipsec дыряв как незнамо что.
                      +1
                      На основании чего такие утверждения?
                        –2
                        Хотя бы начать отсюда — xakep.ru/2015/05/13/ipsec-security-flaws, там вроде понятно описано.
                        www.opennet.ru/opennews/art.shtml?num=36854 — вот ещё из веселого.

                        Вообще mitm в ipsec был возможен издревле на этапе установления коннекта.
                          +4
                          По первой ссылке рассматривают исключительно IKEv1, хотя изначально zhovner указал IKEv2. По второй ccылке информация о уязвимости, которая касается иключительно бага в реализации обработки результата OpenSSL в конкретном приложении (strongSwan), а не в самом протоколе IPSec.
                            –9
                            Ну возможно. Но общее мнение в среде OSS об ipsec как о не очень надежном протоколе.
                            +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 уже отходят.
                            0
                            в общем вам уже ответили о том, что ваша информация несколько устарела.

                            IPsec — достаточно хорошо защищенный протокол, если не использовать всякие старые дырки или схемы трансформации, о чем в принципе сказано на каждом шагу.
                        –1
                        Насколько я понимаю, кроме OpenVPN ни один вариант не работает, когда несколько клиентов подключаются из-за NAT-а. Например у меня дома два компьютера, два телефона и один планшет и на всех хочется иметь возможность включать VPN. Домашняя сетка идёт через NAT-ящий роутер. Пробовал разные варианты, только OpenVPN работает без проблем.
                          +1
                          Вы точно пробовали ipsec ikev2? У меня за двойным натом (провайдер выдает маскарадный ip) работает три клиента подключенных к одному серверу без проблем.
                            0
                            Спасибо за информацию, попробую ещё раз. Пробовал разные, вроде и ikev2 пробовал.
                              0
                              ccc.ru/magazine/depot/01_03/read.html?web.htm собственно тут описывается, почему не будет работать. Чтобы работало — нужно, чтобы маршрутизатор поддерживал IPSec, обычные пользовательские маршрутизаторы, конечно, такого не умеют. Или инкапсулировать зашифрованные пакеты в UDP-пакеты, которые все умеют маршрутизировать, но это уже не ipsec.
                                +1
                                Или инкапсулировать зашифрованные пакеты в UDP-пакеты, которые все умеют маршрутизировать, но это уже не ipsec.


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

                                Вы меня пытаетесь убедить, что это работать не можеть, в то время как я предлагаю вам попробовать и на реальном примере убедиться. Я вышлю вам настройки для windows/macos и адрес сервера.
                                  0
                                  Да, ещё почитал и вроде разобрался, таки должно работать. Только называется это NAT-T. У меня свой сервер, я на нём пробую.
                              0
                              Скажите какие ОС на всех ваших клиентах, и если интересно, можем попробовать потестировать.
                              0
                              Например ipsec ikev2 на iOS только появился, а это очень популярная ОС.
                                0
                                Почти год назад. Кроме того давно поддерживается ikev1 через PSK.
                              0
                              Круто, что выложили наработки в open source, но жаль что без документации, хотя бы на базовом уровне. Зачастую легче с нуля написать свой велосипед, чем копаться в исходниках чужого, даже если эти исходники на рельсах.
                                +4
                                Посмотрим на фидбек, если реально кто-то будет копаться с этим, то возможно напишу документацию.
                                  0
                                  Да, не могли бы вы написать хоть какую-то документацию, пожалуйста!
                                    +1
                                    Постараюсь написать, а вы пока подписывайтесь на репозиторий.
                                0
                                Спасибо за open source!

                                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                Самое читаемое