LINUX.ORG.RU

Свой VPN-сервис с веб-интерфейсом

 , , , ,


0

1

Вступление

Всем привет. Я хочу поднять свой собственный vpn-сервис со своим веб-интерфейсом. Знаю, что на просторах интернета есть достаточно готовых реализаций данной затеи, но у меня есть большой интерес с этим разобраться лично. На себя я взял ответственность полностью разработаться с его backend частью, включая базу данных и api.

Cуть идеи

Данный vpn-сервис представляет из себя веб-интерфейс с разделением на личные кабинеты пользователей. Пользователи будут делиться на два типа: 1. Стандартный пользователь (имеет доступ только к созданию/удалению конфигов подключения с лимитом на их кол-во) 2. Пользователь с админ правами (может создавать, изменять и удалять пользователей, и их конфиги; может создавать/удалять собственные конфиги подключения в неограниченном кол-ве)

Техническая составляющая

Сам backend хочу писать на nodejs фреймворке (nestjs наиболее интересен для меня). Vpn будет поднят с использованием wireguard и, в дальнейшем, shadowsocks. Базу данных пользователей и конфигов шифрованных туннелей планирую реализовывать с помощью MongoDB (предполагаю, что данная структура nosql позволит проще подставлять данные для конфигов туннелей). Для api хочу использовать RESTful, но есть мысли использовать GraphQL. Однако, возможно, использование GraphQL будет излишним тут.

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

Проблема

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

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


Неплохие у меня хотелки получились, но по факту, основной проблемой является непонимание того, как это все должно работать)

То есть ты начал с докеров-херокеров, монги, рест и вуе, а главное, как из ноды поднимать vpn соединения не придумал. Где будет хостится этот впн, тоже. Про трафик, я так понимаю, ты тоже не подумал, как и про ограничения хостеров, которые впн тунели не очень любят. Про то как ты будешь получать/отмывать деньги и бороться с ркн, я вообще молчу. Зато nest/vue/mongo/rest/docker.

с чего начать разгребать данную идею

wireguard - это что? Линуксовый демон? Или там еще проще, достаточно выполнить из под рута небольшой скрипт? Как из ноды что-то запустить загуглить за тебя?

crutch_master ★★★★★
()

Хочу создать единую социальную сеть, без почт, captcha и телефонов просто логин написал и вошел, да самое главное чтобы было можно найти любого пользователя из facebook,telegram,instagram,x,ok,vk,почта любая и написать ему. Вверху два окошка первое для выбора соцсети, второе для логина ну и внизу большое для текста. Вот сижу думаю с чего начать..

anonymous
()