Skip to content

My VPN client. get started electron (Electron + OpenVPN) ¯\_(ツ)_/¯

Notifications You must be signed in to change notification settings

maserg/JS.VPN-Client

Repository files navigation

JS.VPN-Client

Alt Text

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

Предыстория

Немного о том, почему и как появился этот проект.

По случайному совпадению я познакомился с такой замечательной технологией как Electron прямо перед началом репрессий и блокировок Telegram в России. Бессмысленный и беспощадный Роскомнадзор и Кровавая гэбня - кто все эти люди? Здесь, на Хабре, я видел многочисленные статьи о поднятии собственных VPN и прокси серверов на фоне всей этой битвы за сеть. Это не давало мне покоя: интернет -- часть моей жизни, и когда за интернетом пришли, я не мог бездействовать. Я должен был поучаствовать в сопротивлении за свободный интернет.

Не мог я смириться и с тем, что будет недоступен горячо любимый мной мессенджер, разработчикам которого я глубоко признателен - буквально каждому, кто причастен к разработке этого восхитительного IT продукта.

Поэтому и появился проект JS.VPN-Client. 04.05.2018 В прошлый раз история с Electron закончилась на разработке одного приложения, так что я остался знаком с этой технологией лишь немногим ближе, чем с написанием статей. Я не стал разбираться и углубляться в разработку десктопных приложений, а проблема в железе отягощала разработку, делая ее невыносимой. Впрочем, возможно у меня просто не было адекватного взгляда на Electron в тот момент. Одним словом, было не особенно интересно.

Постистория

В общем, с Electron я больше никак не имел и даже не собирался иметь дела. Однако 26 октября 2018 года я вспомнил про один из своих давних проектов, который периодически запускаю, с явную грустью вспоминая о том, как же беспорядочно организован код программы.

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

Спустя неделю или две я полностью переписал приложение, и даже пришел к очень интересному способу внутренней организации кода. Такие технологии как Electron и Puppetter обладают весьма специфичной архитектурой: на мой взгляд, в первый раз прикоснувшись к Electron не просто представить разработку даже небольшого приложения, не смотря на (не)множество обучающих материалов. Но я готов представить инструкцию по разработке Electron приложений, - пусть и нетщательно откатанную, но уже позволяющую создать такое приложение как JS.VPN-Client.

... Продолжение ...

Контакты

Мой Телегам: @JSusDev, канал https://t.me/Jsusdevs

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

logo

About

My VPN client. get started electron (Electron + OpenVPN) ¯\_(ツ)_/¯

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published