The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Опубликован исходный код системы совместной разработки и публикации кода huje

19.03.2021 08:04

Опубликован код проекта huje. Особенностью проекта является возможность публиковать исходный код с ограничением доступа к подробностям и истории для неразработчиков. Обычные посетители могут просматривать код всех веток проекта и скачивать архивы релизов. Huje написан на языке С и использует git.

Проект нетребователен к ресурсам и включает относительно небольшое число зависимостей, что позволяет собрать его для различных архитектур, в том числе и запуска на домашнем маршрутизаторе. Автор использует проект для предоставления доступа к коду и совместной работы в сети Tor на одноплатном компьютере, который всегда можно захватить с собой. Особое внимание уделено скорости работы именно клиентской части, выполняемой на стороне браузера. Для максимального ускорения не используется JavaScript и применяется минимум изображений.

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



  1. Главная ссылка к новости (https://codeberg.org/linuxenko...)
  2. OpenNews: Выпуск платформы для организации совместной работы Nextcloud Hub 21
  3. OpenNews: Первый публичный выпуск децентрализованной платформы совместной разработки Radicle
  4. OpenNews: Выпуск системы совместной разработки Gogs 0.12
  5. OpenNews: В платформе совместной разработки SourceHut появился хаб проектов
  6. OpenNews: Фонд СПО планирует запустить новую платформу совместной разработки и хостинга кода
Автор новости: Аноним
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/54784-huje
Ключевые слова: huje, git
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (70) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, kusb (?), 08:23, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +12 +/
    "Хуже"?
     
     
  • 2.2, Леголас (ok), 08:25, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    хуже не будет
     
     
  • 3.78, Аноним (-), 04:24, 22/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    (голосом оптимиста) Да будет, будет!
     
  • 2.4, пох. (?), 08:29, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • –7 +/
    В данном случае - идеальный "перевод".

    Хотя правильное название этой фигни, конечно - ненужное ненужно.
    Если "история нахрен не нужна" - зачем ты вообще выложил свой гит? Чтобы мы могли полюбоваться на твой единственно-совершенный код, не нуждающийся в истории? Не хотел бы огорчать, но он нах никому не нужен, любоваться.

    А для сборки другими васянами - просто выкладывай .tar.Z, как тридцать лет назад делали. И старые версии не забывай удалять, а то ж кто-то может сравнить, и восстановить, о ужас! историю.

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

     
     
  • 3.15, Аноним (15), 09:34, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >неумение в авторизацию изменений

    В гите вроде бы давно уже есть gpg-подписи.

     
     
  • 4.19, пох. (?), 10:08, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это идентификация. А нужна - авторизация.

    И вот она - только костылями к подпоркам.

     
     
  • 5.68, Аноним (-), 03:41, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Кому нужна? Зачем нужна? Всяким зондостроителям, чтобы цвет трусов трекать? А софтина выглядит прикольно :P
     
  • 3.55, Аноним (55), 17:28, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Да ты гений, перечитай новость, речь идет о контроле пермишенов на просмотр истории
     
  • 2.17, rvs2016 (ok), 09:40, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > "Хуже"?

    Может быть в следующих версиях оно достигнет уровня "лучше"? :о)

     

  • 1.3, Unit (??), 08:28, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    ху-е, хуже
    что так, что не так - звучит для русского уха непотребно :)
     
     
  • 2.5, пох. (?), 08:29, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    отражает суть прожекта.

     
  • 2.6, Леголас (ok), 08:35, 19/03/2021 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 3.71, Аноним (71), 09:02, 20/03/2021 Скрыто ботом-модератором     [к модератору]
  • –2 +/
     
  • 2.25, hefenud (ok), 10:41, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    В мире 7 тысяч языков
    Почти любое слово в каком-нибудь будет звучать «не так». Почему это должно волновать разработчиков?
     
     
  • 3.34, n00by (ok), 13:17, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Published under GNU GPLv2 by Svetlana Linuxenko
     
  • 2.59, Аноним (59), 17:57, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вы используете этот проект ушами?
     

  • 1.7, Твоя мамка (?), 08:42, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ну, huje уже не будет и бац бац бац-бац-бац.
     
  • 1.9, Аноним (-), 08:56, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    gitea сильно разжирела из-за джабаскриптов и в ней постоянно ломают уже работающие фичи, 'хуже' может стать лучшим выбором
     
  • 1.10, Аноним (10), 09:00, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Хьюджей, звучит хорошо.
     
     
  • 2.87, Аноним (87), 06:13, 05/04/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Тогда уж Хьюджи
     

  • 1.12, Аноним (15), 09:26, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >huje-0.0.1.tar.xz

    Неужели нельзя было выложить код нормально?

    >публиковать исходный код с ограничением доступа к подробностям и истории для неразработчиков

    Это чтобы никто из независимых разрабов не узнал, кто же встроил бэкдор и когда. FOSS проекты должны быть максимум прозрачны в том, какой пользователь сделал коммит и какие коммиты были.

    Без доступа к коммитам неинтересно.

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

     
     
  • 2.20, InuYasha (??), 10:08, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Самый дешёвый, быстрый, незатратный и не требующий никакого софта способ распространения исходников. Не надо лезть на жыдхаб и тыкать "скачать", не надо инсталлить гит и делать пулл. Просто скачал, открыл - и оно тут. Никаких блотов.
     
     
  • 3.23, пох. (?), 10:33, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Особенно исходников предназначенных для любования исходниками без доступа к истории.

     
     
  • 4.29, InuYasha (??), 12:26, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Зависит от величины/типа проекта.
    devops.git || foreveralone.tgz
     
  • 4.79, Аноним (-), 04:34, 22/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Прости пох, но я пару раз тоже так делал :). В внутренней версии может осесть много всякой странной фигни, не очень потребной для внешних ушей.

    Бывает так что штука делалась for internal use а потом вроде не так уж плохо получилось, чего только internal оставлять?

     
     
  • 5.84, пох. (?), 15:48, 25/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Прости пох, но я пару раз тоже так делал

    дык я бывалоча и код без исходников выкладывал (и пользовались, кстати, не белки-истерички, конечно, а те кому надо было - результат).

    Но тут все прекрасно и отвечает друг-другу - и обертка, и содержание.

    > Бывает так что штука делалась for internal use а потом вроде не так уж плохо получилось, чего
    > только internal оставлять?

    дык а git-то тогда зачем? В смысле - зачем давать возможность любования на исходники по отдельности, без возможности участия в разработке или изучения истории? Кому надо работать - скачивает tar.xz и работает. Может даже патч тебе прислать, без всякого гита.

     

  • 1.13, Аноним (15), 09:28, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Для максимального ускорения не используется JavaScript и применяется минимум изображений.

    А дурацская мода на иконочные шрифты соблюдается?

     
     
  • 2.32, Аноним (-), 12:53, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Конечно соблюдается, но вроде бы как в планах поддержка net-surf и возможно links я так понимаю. Видимо есть куда расти.
     
     
  • 3.33, Аноним (-), 12:54, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Если кто не понял - net-surf не умеет в эти самые шрифты. Ктсати никаких шрифтов не замечено.
     

  • 1.14, Аноним (15), 09:31, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –7 +/
    >Huje написан на языке С и использует git.

    Лучше бы на goвне написали. Или на любом другом memory-safe языке. Можно закапывать. Или оксидировать. Но ориг разраб видимо в этом не заинтересована.

     
     
  • 2.27, Аноним (27), 11:56, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Бинарник на го ни в один роутер не влезет
     
     
  • 3.31, Аноним (-), 12:52, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Памяти у роутера ни той что RAM ни той что ROM ни хватит чтоб шевелить этот самый го.
     
  • 2.35, n00by (ok), 13:26, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Стоило бы помимо фанбойских лозунгов привести хоть какие-то аргументы. Например, нижеследующий корректный код потенциально может (когда-нибудь потом) привести к порче стека:




      struct block_line lines[MAXLINES + 2];

    /// ...

      memset(&lines, 0, MAXLINES * sizeof(struct block_line));



     
     
  • 3.38, Аноним (-), 13:57, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Мимо. Б2 Е4 ?
     
     
  • 4.39, n00by (ok), 14:47, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Мимо.

    Если изменить объявление lines

    struct block_line lines[MAXLINES + 2];

    размер объекта может измениться, но код оттранслируется без ошибок.

    Вариант с

    memset(&lines, 0, sizeof(line));

    выглядит проще и потенциальной проблемы лишен.

    Я бы инициализировал сразу в определении.
    Правда, я не Си-разработчик, что бы на эту тему говорить всерьёз, не изучал код и не понял, зачем  там финт с +2. Но есть вариант и с MAXLINES * sizeof(*line)

    > Б2 Е4 ?

    Я не шахматист, видел лишь краем глаза FAQ про ТЛП. Насколько помню, он пошёл со Светочки.

     
     
  • 5.40, Аноним (-), 15:02, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вот смотри, у тебя есть память, стековая, куча, не важно. Ты ее заполняешь, допустим инты - int a[16] , размер памяти которые ты должен заолнить ровна 16 * размер инта (в большинстве случаев 2 байта, иногда 4). Структура содержит в себе элементы, т.е число этих элементов умножаем на размер всех элементов струткуры, пусть там будет int int - 8 т.е структура твоя 8 байт умноженая на MAXLINES . Понимаешь ? И вот у тебя int int которые ты не знаешь сколько весят ты коговоришь sizeof int, это не может быть предустановленной константой никак.
     
     
  • 6.51, n00by (ok), 16:56, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Там выше у меня ошибка в имени, Вы её для второго варианта (MAXLINES * sizeof(*lines)) разглядели, но замечание и первого касается. sizeof(lines) это размер всего массива.
     
     
  • 7.62, Аноним (-), 18:19, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > sizeof(lines) это размер всего массива

    Нет, это не размер масива. Рекомендую освежить знания по сям.

     
     
  • 8.69, n00by (ok), 08:33, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Давайте освежим 6 5 3 4 The sizeof and _Alignof operators 7 EXAMPLE 2 Another u... текст свёрнут, показать
     
     
  • 9.74, Аноним (15), 12:27, 21/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Там берётся не размер массива, а размер указателя на него Я даже не поленился п... текст свёрнут, показать
     
     
  • 10.76, n00by (ok), 15:28, 21/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Там -- это стандарт языка Си Со стандартом спорить не принято И там берётся ... текст свёрнут, показать
     
     
  • 11.77, Аноним (15), 19:13, 21/03/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Но в примере выше по треду берётся размер именно указателя ... текст свёрнут, показать
     
     
  • 12.81, n00by (ok), 09:51, 22/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Я надеюсь, что Вы Алзим, запойный алкоголик из Розалаб В ином случае Вам след... текст свёрнут, показать
     
  • 5.41, Аноним (-), 15:04, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Разве что не sizeof(line), а sizeof( * lines) и зачем утруждаться на заполнение заранее неиспользуемых + 2 ?  
     
     
  • 6.50, n00by (ok), 16:46, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Разве что не sizeof(line), а sizeof( * lines)

    Да, верно, я накосячил при копипасте. Такой вариант позволяет определить размер элемента в общем виде, не зная его тип.

    > и зачем утруждаться на
    > заполнение заранее неиспользуемых + 2 ?

    Вопрос в том, зачем вообще нужны неиспользуемые элементы.

    Что касается утруждений, как раз при занулении части массива будет лишняя работа. Там же рядом другие данные определяются и ициализируются нулями. Дешевле (и по объёму машинного кода, и по времени исполнения) занулить вообще все их скопом.

     
     
  • 7.56, Аноним (-), 17:28, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    На сколько я вижу - это какой-то парсер, наверняка на всякий случай да и правильно, на 8 байт не обеднеем и за границы ничего не полезет. Впринципе - вот теперь я точно одобряю этот вариант, хотя нулить можно по такой логике и все подряд. Но т.к это просто парсер на секунду - наверное эти 8 байт я щедро одолжу программе на пару наносекунд :D
     
  • 7.58, Аноним (58), 17:53, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Вопрос в том, зачем вообще нужны неиспользуемые элементы.

    В Сишном мире так принято из соображений безопасности. Явно, четко, выразительно.
    Если Вы это заметили - значит цель 100% достигнута.

     
     
  • 8.70, n00by (ok), 08:42, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Будьте так любезны, разверните мысль Эти два лишних судя по MAX перед LINES э... текст свёрнут, показать
     
  • 5.42, Аноним (-), 15:05, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Правда, я не Си-разработчик, что бы на эту тему говорить всерьёз,

    Та я тоже , это так из керигана и ричи что-то помню

     
     
  • 6.52, n00by (ok), 17:01, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Я вот помнил, что про sizeof(*lines) должно быть у Ален И. Голуб, но почему то там не нашёл.
     
  • 2.80, Аноним (-), 04:38, 22/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Лучше бы на goвне написали. Или на любом другом memory-safe языке.

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

    А если кому сыкотно, sanitize=address еще не отменяли. Тормознется, конечно, малость, но вы настолько охренеть нагруженые? :)

    >  Но ориг разраб видимо в этом не заинтересована.

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

     
  • 2.86, Аноним (86), 21:38, 28/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    на javascript, не на С :)
     

  • 1.16, Аноним (16), 09:35, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    прям ностальгия от скринов
     
     
     
    Часть нити удалена модератором

  • 3.26, kai3341 (ok), 10:45, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > А нагрузку на клиента и задержки на стороне клиента увеличивает в десятки раз

    Вот тут время для пруфов.

     

  • 1.24, Аноним (24), 10:35, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Для максимального ускорения не используется JavaScript и применяется минимум изображений.

    если запилит поддержку Gemini будет вообще конфетка

     
     
  • 2.75, Аноним (15), 12:29, 21/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Gemini нужно переименовать в Guano
     

  • 1.28, Аноним (28), 12:16, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чем оно huje pijul
     
     
  • 2.30, Аноним (-), 12:40, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сравнил зеленое с теплым
     

  • 1.36, Урри (ok), 13:48, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Пипец бездельники анонимы налетели как коршуны. Особенно доставляют феноменально безграмотные комментарии.

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

     
     
  • 2.37, КО (?), 13:50, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А я зашёл чисто петросянов почитать - не разочарован
     

  • 1.49, Аноним (49), 15:51, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Коментаторам по нозванию как-то должно быть стыдно от не понимания обычной игры слов. При этом довольно мастерской.

    Как вы на английском общаетесь - не представляю. С такими то скудными знаниями.

     
  • 1.53, Онаним (?), 17:06, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вы на чём исходники держите?
    На huje'ях.
     
     
  • 2.54, Онаним (?), 17:06, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Простите, вертите, а не держите.
     
  • 2.60, Аноним (-), 17:57, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вот это вот хорошая шутка :D
     

  • 1.61, Аноним (-), 18:05, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кто помнит цитату про зайца из фильма "такси" ? Там где Даниель немцев трольнул
     
  • 1.67, Аноним (67), 22:11, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    huje-huje и в продакшн
     
  • 1.72, Аноним (72), 07:51, 21/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Будет пользоваться спросом в этих ваших торах
     
  • 1.73, Аноним (15), 12:09, 21/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Опустились до поставки всякого говна в дереве исходников Вот тут вы ошиблись W... большой текст свёрнут, показать
     
  • 1.83, Аноним (83), 05:09, 25/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    это гитхаб?
     
  • 1.85, Аноним (86), 21:37, 28/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Будем честны, сервер работает на JavaScript, точнее его подмножестве. Судя по версиям библиотек и изменениям с upstream, там довольно старые версии. Исходя из этого и самопальной реализации http наверняка можно легко найти дырки.

    postjs, который там — это MuJS. Как и во всех включенных библиотеках, можно найти авторство,  но с трудом. На стороне клиента действительно мало js, потому что рендеринг на стороне сервера. Это и хорошо и плохо.

    Единственно, что заслуживает внимания из всего кода — каталог js, который с лёгкостью переносится на другие языки, которые обслуживаются по крайней мере.

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

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру