LINUX.ORG.RU

CellFrame и всякое опенсорцное (и не очень) на ём: веб сервер и впн

 


1

2

Всем привет! Я тут немного вообще не сильно интересное широкой публике делаю, в частности блокчейн. Но так уж вышло, что блокчейн на чистом Си, возникло куча библиотек и мы понаписали всякое:

VPN

Вышел клиент, вышел сервис, подняли сайт ( divevpn.com ) и теперь вот тостим. 3 дня бесплатно, после регистрации на сайте, сам клиент лежит тут:

https://debian.pub.demlabs.net/ ./

apt-cache policy divevpn-full посмотреть доступные версии apt install divevpn-full установить последнюю

Сам клиент пока закрытый, но все его компоненты в паблике:

Есть библиотеки которми можно собрать в три щелчка схожий впн сервер.

https://github.com/kelvinblockchain/libdap https://github.com/kelvinblockchain/libdap-server-core https://github.com/kelvinblockchain/libdap-server https://github.com/kelvinblockchain/libdap-stream https://github.com/kelvinblockchain/libdap-stream-ch https://github.com/kelvinblockchain/libdap-stream-ch-vpn

Веб сервер

В качестве примера того как на наших libdap можно делать сервера мы решили полностью открытый daphttpd сделать:

«NGINX сасай» сказали мы и запилили: https://github.com/demlabsinc/daphttpd

Вот, может кого заинетересует, велкам на нашу новую серверную платформу, практически полностью все полностью своё, велосипедное.


#define SYSTEM_PREFIX "/opt/"DAP_APP_NAME
#define LOCAL_PREFIX "~/."DAP_APP_NAME

Вас ждет персональный котел за такие вещи.

hippi90 ★★★★★
()

Я, честно говоря, не верю в способности программистов, которые не осилили даже родной язык.

hateyoufeel ★★★★★
()

попавшиеся три строчки кода

    s_dap_events_sockets = malloc(sizeof(dap_events_socket_info_t *) * s_threads_count );
    for(int i = 0; i < s_threads_count; i++)
        s_dap_events_sockets[i] = NULL; // i == index == thread number


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

dimon555 ★★★★★
()

Школотроны-говнокодеры заполонили...

anonymous
()
Ответ на: комментарий от KivApple

Исполняемые файлы в git-репозитории, серьёзно?

Простите мне ламерский вопрос, но чем это так плохо?
Если тем, что они «не-текстовые» — так у гита ж вроде есть специальные атрибуты для бинарников и все такое.
Или плохо именно то, что исполняемые?

Borifed
()
Ответ на: комментарий от Borifed

1) Пересборка проекта другой версией компилятора или с иными опциями компиляции - изменения в репозитории. Легко нечаянно сделать коммит не имеющий смысла. И при этом много весящий.

2) Бинарник под Линукс может и не заработать на любой системе, если недостаточно статически собран. То есть под вопросом его практичность.

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 2)
Ответ на: комментарий от Borifed

Я ещё могу добавить, что на том же гитхабе совсем не зря предусмотрели отдельное место для хранения бинарников под названием releases. В том числе для того, чтобы всякие потные ручонки не сували их непосредственно в репу.

Хотя это не третий пункт, а, скорее, логическое следствие из двух названных. :)

hobbit ★★★★★
()
27 ноября 2019 г.

практически полностью все полностью своё, велосипедное.

анах вы 3rd парти (c-ares, linmagic, json-c…) компоненты прям в корень проекта? сабмодули не осилили?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.