Этот тред посвящен стеганографии и её месту на анонимных имиджбордах. А также обсуждению легенды о существовании тайной анонимной имиджборды которая: ... нигде и везде. Тебя в ней никто не заткнет. Её никто не остановит. Она уже твоя.
>>16817 >увеличил допустимый размер чтобы можно было бы запостить sha256 в тексте (теперь допускается до 64 символов [a-f0-9] подряд) Бля, а я sha512 использую. Там 128 символов, расширь фильтр позязя. А ещё я хочу постить шифровки через пгп, там ещё больше может быть, может лучше сразу до 65000 расширишь?
К слову, что за странное ограничение - пост может быть 65000 символов, а картинка только 32768 но зато два раза? Сделай и картинку тоже 65000 в самом деле.
>>16820 Скорей всего тот анон хочет видеть "классический тред на имиджборде". И я его в принципе поддерживаю. Я вот предложил бы следующие изменения внести:
Добавь в код разметки поддержку рефлинков вида >>e292b94f7193a25072c5b92130262338. Сам формат сообщения (первые символы - хеш мессаджа на который отвечаешь) оставь как есть.
Ответ в тред реализуй "как в куклоскрипте". То есть это не отдельная страница, а ответ можно пилить прямо в треде. Форму можно даже плавающей сделать. Добавь опять же поддержку попапов и вот эти ссылочки "ответы" в конце поста. Сам тред отображай линейно, без лесенки.
Технически при ответе в тред ты всегда будешь отвечать на ОП-пост. При этом сортировка остаётся такой же как и сейчас - какой пост пришёл раньше, тот в треде и выше (тут бы я добавил полей recived_at в базу где хранил бы время когда пост был тобой впервые получен).
А вот если в посте есть рефлинки (есть логическая связь не только с ОП-постом, но и ответами других анонов), то учитывать их при сортировке - пост будет помещён после всех постов на которые он отвечает. В итоге: открываем тред, берём все посты без рефлинков и расставляем их по порядку получения. Потом берём все посты с рефлинками, сортируем по порядку получения и начинаем впихивать в тред согласно рефлинкам (не раньше постов на которые отвечаешь, но всё ещё в порядке поступления).
Ещё одна фигня - храни в базе флажок was_read - которым помечай все посты из треда когда пользователь в него заходит. Посты у которых этого флага не было на момент открытия треда помечай особым css классом. Чтоб их было видно. И можно было бы добавить простенькую кнопочку под ОП-постом "показать только новые/показать все".
Сортировку реализуй в функции получения постов. То есть при получении нового поста для треда вызывается эта функция которая берёт все посты треда из базы (да, тебе таки придётся прикручивать sqlite) и весь тред пересортировывает заново. При этом в базу пишется порядковый номер поста в треде. Эту херню можно потом использовать для генерации нолевой - для каждого оп-поста заводишь поле last_bump, пишешь туда таймстемп когда в этот тред последний раз попадал пост. сортируешь оп-посты по этому полю. Берёшь первые десять. Для каждого из них берёшь 5 последних постов из треда, и вот тебе нолевая которую можно эфпячить. (и странички которые листать).
И да, если пришёл пост ответом не в тред а на другой пост, просто считаешь что у него такой рефлинк есть (ну и вот для таких случаев можно "лесенку" оставить).
>>16825 >Ты не сможешь рассылать посты которые попадают под твой спам-фильтр. Это не очень хорошо. Я бы так не делал. Разделяй базу постов которые видит пользователь, и базу из которой берутся посты для ретрансляции.
>>16833 ок сделаю картинки до 63Кб (правда не могу гарантировать что это будет работать во всех браузерах, как минимум в Internet Explorer и Microsoft Edge будут проблемы).
насчет спам-фильтра, согласен, пожалуй из релиза дефолтные правила уберу, пусть люди сами настраивают по желанию.
в остальном у тебя, я вижу много неплохих идей как лучше сделать клиент. может подключишься к разработке? кратко прокомментирую еще одну вещь: рефлинки уже сейчас можно автоматически начать показывать и сбить все посты в один уровень, без лесенки. могу позже включить это как еще одну опцию отображения треда. но даже без этого если возинкла трудность в понимании - на какой пост отвечает конкретный пост - нажми на ответы "конкретного" поста и на странице поста нажми "вверх" - ты увидишь этот самый пост на который отвечает "конкретный".
у меня времени не много, поэтому приоритеты сейчас такие: - серьезные баги делающие работу с нанобордой невозможной (таких пока, кажется, хвала Аллаху, нет) - повышение эффективности алгоритма упаковки в контейнер (тут понадобится хранить больше служебной инфы о каждом посте, и, возможно, тут и начну использовать sqlite чтобы окончательно не утонуть в текстовых файликах)
параллельно хочу выпустить отдельные тулзы для использования сторонними разработчиками: 1) скачиватель картинок с тредов, использующий 2 списка - "адреса тредов" и "уже скачанные url картинок", просто кладущий картинки в нужную папку и обновляющий второй список 2) распаковщик пнг-контейнера - принимает на вход путь к картинке и имя файла куда сохранить JSON объект с массивом нанопостов 3) упаковщик пнг-контейнера - принимает на вход путь к картинке-оригиналу и к JSON объекту с массивом нанопостов а также путь по которому сохранить контейнер. (соглашение тут предлагаю - не больше 256 (точное число можно обсудить) постов на контейнер (обычно редко даже 100 постов влазит) - ради борьбы с возможным засиранием). наличие этих трех программок позволит кому угодно пилить свои, независимые от основного, клиенты и совместимым образом использовать тот же транспорт что и у основного клиента - пнг-контейнеры в АИБ-тредах, а для базы, сортировки, показа и прочих фичей - свои собственные наработки.
>>16839 >Как все сложно. ОП, бампы, множественные ответы, две базы с видимыми постами и для рапространения. Я про внутренности же, про код. Снаружи оно как было так и останется, я ведь не предлагаю убрать древовидность вообще.
>>16840 И что делать с тредом на 300 постов который благодаря отступу "10 пикселей на ступеньку" уехал в право на 3000 пикселей?
>>16841 >как минимум в Internet Explore Это конечно печально, но я бы оставил это на совести создателя поста. Вообще это получается что-то типа этикета - не запиливай огромные посты, не "воруй трафик". Но возможность всё же должна быть.
> может подключишься к разработке? Я этот ваш сисярп не знаю и разбираться не хочется. А вот если бы ты отделил представление от логики, вот это было бы хорошо.
Во-первых: нагуглить какой-нибудь шаблонизатор по типу того же Handlebars чтоб весь имеющийся html лежал в отдельной папке в tpl файлах и его можно было бы спокойно править (и не пересобирать весь наноборд, а просто жать f5 в браузере).
Во-вторых: научиться сервить файлы из папки. Те же цсс, жс, картинки для оформлений. Только аккуратно, чтоб из этой папки было не выйти.
Вот тогда очень много можно было бы сделать чисто "на стороне клиента". И пуллреквесты проще оформлять.
>могу позже включить это как еще одну опцию отображения треда Вот это правильно. Пусть будет такая опция - кому лесенка, а кому плоский тред. По вкусу.
> упаковщик пнг-контейнера А вот это годно. Можно будет быстренько накидать генератор который берёт рандомные 256 постов из базы, генерит на них по одному короткому ответу "хуй" и собирает это всё в контейнер. Потом процедура повторяется только у сообщений уже новый таймстемп. Генеришь так по паре картниок для каждого треда из плейсес и заливаешь всё на борды.
Ну или можно не так примитивно, а скачать пару сотен json файлов из /b/, распарсить их и вместо "хуй" отправлять посты оттуда. Вообще от души будет - хер антиспам правило напишешь.
Вообще, по поводу контейнера: сделай шифрование опцией. То есть шифруй контейнер только когда пользователь это дело включит сам. А по дефолту пусть шифрования не будет совсем.
И ещё добавь такой вариант передачи как zipjpeg - любой джпег плюс зипак в котором уже файл с постами. Такой вариант можно использовать на дружественных к нанопостерам бордах передавая и сообщения большой длинны и ретранслируя посты по максимум.
Что нового: 1) Отныне поддерживаются картинки до 47.25 Кб (64512 символов base64). Это уже немало! Однако пользователи браузеров IE/Edge могут соснуть - хотя это и не проверялось. 2) Из папки с программой убраны дефолтные правила из спам-фильтра (читайте ридми если хотите вернуть правило которое игнорит посты целиком состоящие из 0123456789abcdef). 3) Добавлена встроенная поддержка ФРАКТАЛЬНОЙ МУЗЫКИ. То есть можно будет писать формулы из пикрелейтед и сочинять свои.
>>16859 Извиняй, кривые руки, формулу неправильно написал, все работает. Может укоротить до двух минут или полутора, чтобы качество получше было? вин10, хром
>>16861 Качество тут к сожалению никак не зависит от размера, в памяти генерируется WAV. Это 8-битный звук с частотой дискретизации 8000.
Новые версии: 1.6.1 - возможность добавлять несколько плееров фрактальной музыки в один пост (можно было и в 1.6.0 но теперь есть корректная обработка) 1.6.2 - запоминается стиль выбранный пользователем между выключениями/включениями сервера
>>16817 >можешь сам качнуть с jquery.com, jqueryui.com Ты не понел. Я указал именно на .min.js — они обфусцировнаные. Можно было закинуть обычные, развёрнутые, всё равно у них ничтожный размер по сравнению с остальным содержимым. >>16841 >из релиза дефолтные правила уберу, пусть люди сами настраивают по желанию Молодец. >>16852 >встроенная поддержка ФРАКТАЛЬНОЙ МУЗЫКИ Не молодец. Уже сейчас наноборда превратилась в децинаноборду и теперь потихоньку движется к килонаноборде. Если хочешь пилить васянства, пили их в виде плагинов.
>>16876 алсо треки могут быть оче красивыми и мелодичными и не монотонными то есть со сложной мелодией и сменой основы и при этом короткими и без хаков с тернарным оператором. надо только поискать. жаль я проебал свои формулы на другом компе.
>>16891 А ещё я тут написал свой пакер/анпакер твоих пнгешек и люто взбугуртил от формата.
Я считаю что лучше сделать так: перед каждым сообщением вставлять его длину в виде тех же 6 символов. У тебя получится тогда "потоковый" формат который ты сможешь читать по одному сообщению. И записывать тоже по одному.
Насколько я понял у тебя там есть такая фигня как потоковый гзип (про него чуть позже). То есть ты сможешь взять врайтер этого гзипа и запихивать в него по одному сообщению вычитывая с него запакованные данные. При этом ты можешь проверять что например до конца контейнера остался килобайт и тогда либо попытаться впихнуть туда ещё один килобайтный нанопост или закрыть стрим окончательно.
А то я тут смотрю что у тебя пнгшка с капасити 100к вмешает всего 60кб пожатых постов.
Про гзип: используй rawDeflate (надеюсь такой есть) заголовки гзипа тут не нужны.
И шифрование реально убери, пусть это будет опция которая врубается пользователем. А для всех остальных пусть её не будет вообще.
Ну и да, ещё было бы неплохо после размера контейнера внедрять два байта. Первый равен версии контейнера (типа 1). Второй для битовых флагов - пока можно COMPRESSED и ENCRYPTED.
Ещё у меня были мысли по самому формату нанопоста, я бы там парочку моментов бы чуть ужесточил, и кой чего чуть-чуть добавил (с сохранением совместимости конечно). Но это я наверное потом распишу как-нибудь. А то спать уже хочется.
>>16876 >целый трек может занимать 100 жалких байт формулы И что с того? Давай тогда ещё генератор графических фракталов въебём, там целая бесконечная картинка может занимать 100 жалких байт формулы. Какое это имеет отношение к нано-, подчёркиваю, наноборде?
>>16895 > шифрование реально убери, пусть это будет опция которая врубается пользователем. А для всех остальных пусть её не будет вообще. и какой профит тогда от нанобороды?
>>16898 наномузыка же. я бы еще проигрыватель трекерной музыки встроил. по-моему у таких вещей как раз больше отношения к наноборде чем недавно добавленная возможность встраивания вебмок и хайрезов с рыгоста.
>>16925 Оно с первых дней было. Твой пост-доска внизу, с остальными, не одобренными ОПом: аниме, бб+, обсуждение других бород и зафейлиная шрифтами японская культура.
>>16895 да тебе не надо париться я сегодня ближе к ночи залью пакер/анпакер если тебе ок использовать дотнет3.5/моно программу и там будет и на входе и на выходе просто json
>>16956 Ололо блять. > Оставь везде один LF Это я знаю как сделать - Enter. >допиши везде CR Как? >И сохрани файл два раза c BOM и без. Даже не представляю что это.
А тем временем появилась комманд-лайн тулза для разработчиков. Позволяет распаковать любой пнг контейнер в красивенький джейсон и упаковать схожий джейсон в пнг-контейнер. Хеши расчитывает сам, на вход можно подавать джейсон без полей hash. Да, я в курсе, что это развяжет руки вайперам, но, надеюсь что не только им, а еще и разработчикам альтернативных клиентов Наноборды. Тулза на моно, на винде от 7ки и выше будет работать нативно, на ХР - после установки дот-нет фреймворка 3.5, на Линукс/ФриБСД/Макось - после установки пакета mono-runtime. У кого все же возникнут проблемы с запуском - пишите, помогу
Залил новый релиз где в файлике категорий CRLF вместо LF. Но вообще не стоит так паниковать - достаточно было в том же блокноте поудалять лишние символы и проставить переносы врунчую, либо в Notepad++ не включать никакого показа спец-символов а добиться чтобы визуально все было ок - никаких пустых строчек, переносы и тд.
>>16976 И еще одна комманд-лайн тулза - скачивает пнг-шки из тредов указанных в places.txt и кладет их в папку download. downloaded.txt используется чтобы не качать по 2 раза одну и ту же пнг. Как и предыдущую можно скачать со страницы релиза, исходники и бинарник внутри. Теперь, уважаемые несуществующие разработчики сторонних клиентов, у вас есть все (и даже больше чем нужно - парсилку тредов написать на чем угодно очень легко) для старта разработки совместимого альтернативного клиента. Удачи!
Да и в вики про это дело написана вот такая мысль: > дальше можно отделяться в отдельные зашифрованные Наноборды (что нежелательно но иногда может быть необходимо) Это действительно не желательно - какой профит иметь пачку мелконаноборд запароленных, где скучает по два с половиной анона в каждой, вместо одной более-менее живой и нешифрованной наноборды?
Возникнуть необходимость может, и вот такие аноны себе спокойно в настройках укажут секретный пароль и шифрование включится. А вот для общей это смысла не имеет.
К тому же в будущем можно будет шифрование переделать. И это не сломает совместимости со старыми нанопостами (где шифрования нет) или с другими клиентами (которые шифруют по своему или воовсе не стали это реализовывать).
>>16983 Ты бы обратил внимание на то что я тут >>16895 написал про формат контейнера.
>>16989 профита может и нет но его наличие сейчас никому не мешает (алгоритм довольно шустрый)
>Ты бы обратил внимание на то что я тут >>16895 написал про формат контейнера. я обратил внимание и принял к сведению. потоковость - не вижу проблемы прочитать заголовок с размрми, он все равно маленький, а дальше читай потоково. гзип вообще убрал бы, от него пользы не очень много а алгоритмы усложняются. да, стоит внедрить номер версии, я даже придумал как это сделать с сохранением совместимости - первые 6 байт это utf-8 шестандцатиричного количества постов (000000 - ffffff), так вот там вначале гарантированно 00 потому что не влезет туда столько постов.
я бы сделал такой альтернативный формат: байт версии (в нём же и 2 бита флагов шифрования и сжатия) 3 байта длины блока данных блок данных: utf-8 байты строчки JSON с массивом постов (без индентации) и пользовал бы пока вариант без сжатия (так проще подобрать посты в контейнер)
>>16991 а нет не выйдет сохранить совместимость - там же пожато и зашифровано. придется искать заголовок нового формата и если нету - пытаться прочитать старый.
>>16991 >профита может и нет но его наличие сейчас никому не мешает Дело не в том что мешает или там тормозит. Дело в том что когда-нибудь придёт время и эта опция станет действительно актуальной. Оставь себе немного "места" где можно будет начать маневрировать если вдруг чё.
>гзип вообще убрал бы А вот это не надо. У тебя все данные в LSB и вместимость там фиксированная, с зипом в картинку будет влазить больше.
Я потому и предлагаю тебе избавиться от "заголовка" и сделать всё в поток. Так у тебя легче получится забивать контейнер под завязку в один проход. Если у тебя вдруг окажется ещё место на пару нанопостов, тебе не придётся откатывать всё заново чтоб пережать заголовок, ты просто дожмёшь эти два поста в контейнер и спокойно его закроешь.
>>16993 Этот кусок придётся переделывать. Лучше переделать сразу и так чтоб потом конкретно с этой опцией можно было бы спокойно играться не ломая в очередной раз совместимость всей борды для всех.
>>16989 Если кто-то создаст свою мелкобороду с помощью нанобороды, то это не проблема, потому что об этом никто и не узнает. Хочешь отменить шифрование? Зачем нам тогда по пикчам распылять, давай просто на харкаче сидеть?
>>17000 Опенсурус жи))) безапасна на виртуалке запускай >>17003 Стюардессы или не стюардессы, а я вчера немного оплошал, попытавшись настроить самостоятельно.
>>17004 Шифрование пикч и постинг пикч это разные вещи. То что сейчас постят пикчи шифрованные единым ключом который знают все это то же самое что и постить пикчи не шифрованные никаким ключом. От этого мало что меняется. Тот хуй предлагает выключить шифрование по умолчанию и позволять юзеру самостоятельно включать шифрование и задавать ключ когда ему это понадобится.
>>17008 В том и дело, что вообще ничего не изменится. Нахуя, спрашивается, жопой прыгать с пня на пень? Потеряем только 400 нанопостов, профитов никаких от этой идее, потому что сейчас и наноборода полностью открыта, а ключ можно менять в любой момент. То есть, блять, ну вообще ничего не меняется.
>>17005 в 1.6.7 добавлена форма быстрого ответа. только что потестировал - работает. не обновляет страницу после постинга (приходится вручную обновлять). цвет фона формы вырвиглазный. теги хотелось бы чтобы брало вокруг выделенный текст. а так очень даже норм.
текущая бд окончательно наебнется примерно на 100 тысячах постах (и уже примерно к 10 тысячам старт и завершение сервера будут занимать больше минуты). оттягивать конец может помочь регулярная чистка ненужных тредов.
новая бд уже запилена (сегодня последние правки вношу) и я ее пущу в 2.0 версию (которую уже начал пилить). на ней можно будет с приличной скоростью и минимальным потреблением оперативы работать с базой в пару миллионов постов. кроме того в 2.0 код будет чище, хтмл/жс/цсс отдельно в обычных файликах, сишарпного кода по минимуму. дату выпуска 2.0 пока назвать не могу, 1.6.* продолжу поддерживать по серьезным багам.
с формой быстрого ответа плохо вышло. на хроме не хочет драгаться и обновлять/скроллить страницу. с последним попытаюсь справиться.
>>17045 >с формой быстрого ответа плохо вышло. на хроме не хочет драгаться и обновлять/скроллить страницу. с последним попытаюсь справиться. 1.6.13 - всё починил
>>17074 Если это правда, то можно только уважать эту тян, потому что никакого вниманиеблядства и круг интересов не соответсвует быдлостандартам. Но это не тян.
Го поднимем наноборду на микроволновках. Все охуеют.
Мощность волн, которые используются в микроволновке, уже давно будоражит моё сознание. Её магнетрон (генератор СВЧ) выдаёт электромагнитные волны мощностью около 800 Вт и частотой 2450 МГц. Только представьте, одна микроволновка вырабатывает столько излучения, как 10 000 wi-fi роутеров, 5 000 мобильных телефонов или 30 базовых вышек мобильной связи! Для того, что бы эта мощь не вырвалась наружу в микроволновке используется двойной защитный экран из стали.
Эх, посоны. Можете скачать и скомпилировать проект Solidoak с гитхаба, залить в архиве на rghost? Их официальные бинарники с сайта не работают. Я бы разработал, несколько, наверное, полезных штук. медленно-интернет-кун
>>17086 В деревне построили вышку сотовой связи. Через месяц население подало жалобу, что дескать головные боли, ухудшение самочувствия, бла-бла-бла. Ответ от директора был простым: «Это все фигня. Вы только подумайте, что будет, когда мы ее включим!»
>>17135 не понял. всегда была возможность делать зип-жпеги, недавно допустимый размер зипджпега (и просто жпега) повышен до 47Кб. опиши детальней свою проблему.
>>17162 Так как наноборда считает размер в символах, а не байтах, то самый сок будет использовать base4096. Можно будет впихнуть 94кб данных в пост размером в 64к символов. http://kvanttt.github.io/BaseNcoding/
>>17162 что значит "вроде"? он может в некоторых случаях быть таким же как base64 но никак не меньше. base64 есть практически везде и отходить в сторону какой-то экзотики без реальной выгоды (да еще и с усложнением спецификации наноборды как последствие) это просто тупость uuencode - 60%-75% base64 - 75% ascii85 - 80%
>>17167 в версии 2.0 (которая не за горами) размер так же будет считаться по байтам, единственное изменение: лимит повысится до 65536 (округления ради).
>>17184 Чому он умрет раньше поста? Там максимальный срок-три месяца с последнего скачивания. Это же очень дохуя. Если пост никто не видел три месяца-масловероятно, что он еще кому-то понадобится.
>>17184 Я вот тоже не понимаю этого ограничения. Какое-то оно синтетическое. Ну приложишь ты картинку на 30кб, твой пост уже в ретрансляцию не попадёт потому что больше 16к. И какая тогда разница на 30кб была картинка или на 300кб?
При этом наноборда могла бы обрабатывая мессаджи палить что картинка очень большая, сохранять её на диск в особую папочку "./res/" под именем sha256(file)+extension и уже выводить её не как data url, а прямо так и подставлять типа:
>>17181 есть же поддержка раржпегов. пакуешь свою картинку в рар с разбиением на кусочки по 47кб и отправляешь по очереди. попроси ОПа увеличить размер постов до 640Кб (470Кб картинки будут). 640Кб уж точно хватит всем. хотя, по-моему это будет перебор и изнасилование наноборды.
>>17194 Этот процесс можно было бы облегчить, если бы после создания контейнера выскакивал диалог который по клику копировал бы в буфер обмена полный путь до созданного файла. Потом его можно просто вставить в любую форму - не фонтан конечно, но уже легче чем искать где там этот файл лежит (а их там уже сотня могла скопиться в этой папке, пойди ещё найди сразу какой тут новый).
>>17195 нет, это лишнее, достаточно вызвать стандартный диалог сохранения файла, это можно сделать во всех современных браузерах. в старом говне можно открыть картинку в новой вкладке чтобы пользователь сам щелкнул правой кнопкой мыши и выбрал "сохранить как"
>>17196 Ты не понял. Эта фича копирует путь до файла, типа "g:\nanobord\upload\14124152351241.png"
И вот ты идёшь на борду, жмёшь там кнопку "добавить файл", открывается диалог, ты жмёшь ctrl+v и enter. Всё, картинка добавлена к посту, можно отправлять.
Эту феньку можно сделать прямо сейчас, а не ждать пока наноборда научится постить сама.
>>17187 тогда уж надо сделать так, что когда хочешь запостить здоровый файл/картинку, то создаешь торрент раздачу и её магнет вставляешь в пост. Борда же у юеров по магнету подгружает фотку/файл
То ли кто-то обосрался с фрактальной музыкой, либо пытается вставлять код внутрь неё, либо она у меня сломалась Сервер nboard_1.6.24-dev // Время генерации: 58 ms // Постов в базе: 657
>>17238 если ты про треды в /б/ с текстом типа document.create то у тебя все ок, так и должно быть. там переносы строк в формуле поэтому не прошло. если бы прошло то опасные слова типа document, script, create повырезались бы
Введите нормальный Markdown и не ебитесь с этим аштимэлэм/бибикодами. И сделай эту фрактальную музыку, прочие свистоперделки в виде отдельных плагинов. Необходима философия unix.
Я вообще думал что в 2.0 можно было бы сделать что-то типа джавскриптовых плагинов из тиниборда. Захотел - включил всё подряд. Не захотел - оставил чистую борду.
Добавить бы ещё тег для аттача любых файлов, а не только картинок, и всё остальное можно на жс-е сделать.
>>17249 Нит. Ну, хотя бы оставь сделай версию полностью на html(посты можно выдавать с какого-то sqlite + diff-ы, наверное). И раздели на консольные программы: генератор картинок, упаковщик, сжиматор картинок и другое, и запускай это. Вот это философия Unix.
Сделай штуку типа объединения uucp и ftn-сетей или мейлер/подобную штуку Просто посоны с Марса интересуются нанобордой, и контейнеры слишком долго грузит. Ставили на ночь, не помогло, часты обрывы, может магистральное оптическую связь запилят и другое дело, но сейчас хуево, по радиосвязи.
>>17253 2.0 сейчас практически весь на html/js/css, даже сжималка картинок. серверная часть на шарпе занимается только предоставлением доступа к базе постов, к файлам (к этим самым html/js/css) и к хранилищу параметров. упаковщик/поисковик контейнеров пока не прикручивал. сейчас занимаюсь дописыванием html/js/css части, сервер/база/конфиг готовы. в общем не за горами релиз 2.0.
Из вики "нет единого сервера". Это как так? Тоесть методика подкачивания новых постов основана на UDP широковещательном адресе? и никто не знает найдут ли два дяди из разных деревень друг друга?
>>17307 Нет, никакого широковещания и других p2p технологий. Просто PNG контейнеры, в которых хранятся посты, связанные цепочкой со своим постом-родителем. Два дяди найдут друг друга, если у них список places одинаковый (места, что внизу страницы в борде)
>>17314 Айпишники здесь не при чём. Борда находит цепочки постов, участники не соединяются между собой, а только с бордами. Я не знаю как ещё объяснить, это как переписка на парте
>>17314 В принципе нет понятия о IPEndPoint-ах. Ничего не происходит. Ты просто проверяешь треды с постами, и видишь что пришел новый пост. Если на то пошло, то клиенты не занимаются отправкой вообще. Они просто упаковывают, а пост ты выкладываешь сам.
>>17319 надеялся на полную отвязку от вебов(программа как единое звено), полную автоматизацию и полную дцнтрлцю.
В основе который отлично ложится технология p2p(части торрентов) + широковещательные адреса.
Чтото типа для не запрещенных: всё публично аля торренты.
Для запрещенных есть шифрованная куча, куда все пишут свои байты и она перемешивается, и только зная аля пароль можно из этой кучи выдернуть цепочку байтов, но кто из N конечных адресов записал именно эти байты в кучу будет неизвестно.
>>17323 Что-то я потерял нить разговора. При методе ОПа у злоумышленников даже не будет IP, а посты и так шифрованы. Да и что ты там извлечёшь кроме JSON'а? А XSS сразу вырезаются из поста, и ты фактически не сможешь сделать подлянку на стороне клиента. Кстати ОП, насколько это правда, какой модуль глянуть?
>>17325 Ну, если предполагать, что цель-выследить, то можно сопоставлять время прохождения соединения к куче со временем появления постов. А вообще, если предполагать что это интересно спецслужбам, то фактически любые наши потуги, скорее всего, ни к чему не приведут. К тому-же, для кучи нужен центральный сервер, что ой-как не хорошо.
>>17327 >какой то IP залил какие то байты в кучу Вот кстати искал рабочие примеры DHT, да не нашёл ничего толкового. На вики одна общая инфа. Разве что только исходники Twister разбирать. Кстати кто-то пользуется?
>>17324 >А XSS сразу вырезаются из поста, и ты фактически не сможешь сделать подлянку на стороне клиента. Кстати ОП, насколько это правда, какой модуль глянуть? Не совсем правда. Пока ещё по кнопке "Сгенерировать" от фрактальной музыки код инжектится и выполняется. Хорошо что только по нажатию, а не как раньше при открытии страницы.
>>17325 >Расследования можно начать кто (какой IP) залил контейнер И всё таки, для этого потребуется доступ к серверу, спецслужбы смогут это. > Расследования невозможно начать, т.к. что можно выяснить это все IP кто заливал в кучу, не более. А при p2p это сможет сделать даже обычный хацкир. А спецслужбам неважно, они просто будут всех под одну гребёнку ловить.
>>17324 >XSS сразу вырезаются из поста >Кстати ОП, насколько это правда Лол. >>17339 Кстати, трипы иначе чем в виде цифровой подписи поста с приложением туда же публичного ключа, я не представляю. Нано-сть «нано»-борды: 25 нанобордиков, ваш диванный критик.
>>17340 Эти автозамены похожи на наши блокировки. Вроде бы заблокировали, а всё равно кому надо спокойно обходят.
Вместо шуточки про "всю твою базу" можно подтянуть эксплойт на каком-нибудь флеше/джаве, который тебе троянчика залил бы. Короче, возможен весь тот букет радости которую можно поиметь если кликать на всё подряд на подозрительных сайтах.
формулы всегда срабатывали только по клику. защита от xss сейчас только "не кликай на хуйню, юзер", все эти замены это так, припарки, еще многое надо позаменять и наверняка что-то будет упущено. изначально там была очень строгая регулярка не допускающая ничего кроме собственно мат.формул, дальше пошло послабление ради поддержки некоторых "хитов". в принципе есть смысл вернуться к строгой формуле потому что все равно на C эти хитрые формулы не сработают, то есть не "кросс-платформенно".
https://xakep.ru/2015/12/16/vuvuzela/ Может замутить аналогичное?Естественно,после добавления всяких мессенджеров.Алсо,Jabberx(?),делай в программаче тред,пускай кодят всякие плюшки и ништяки
>>17320 если тебя так напрягает javascript то с нанобордой можно работать и не из браузера. делаешь локальному серверу запросы: чтение постов, создание постов, а визуализируешь и пакуешь своими способами (можно, например, свой генератор статических html страниц с тредами без джаваскрипта запилить или вообще оконное приложение как было в версии 0.1). отдельный паковальщик есть. все это резко снижает удобство, поэтому всем не надо это советовать.
чем плохо p2p: - палевный трафик. то есть у тебя p2p трафик, он палится. его много, он жирный. если его запретят то тебе надают по шее. - плохой контроль трафика. через тебя идет чья-то информация. могут обвинить в распространении только на этом основании. (на Наноборде при использовании пнг-контейнеров чтение практически беспалевно - картинку могут скачать дохуя людей просто чтобы посмотреть и только некоторые будут ее распаковывать как пнг-контейнер, а запись в контейнер вызывается вручную когда ты скажешь и в контейнер попадут только те посты, которые ты не удалил) (постинг пнг-контейнера смежен с презумпцией невиновости - ты мог просто не знать что внутри контейнер, то есть тоже в принципе неплохая маскировка) (кто-то может скачать твой контейнер и репостнуть через, скажем, неделю в схожем треде не подозревая, что тред подложный, а картинка - с контейнером). - зависимость от того включены ли компы у других участников (на Наноборде ты оставляешь контейнер в одной из АИБ и его позже могут качать другие люди даже если ты умрешь и все другие участники наноборды умрут и появится новый участник - этот участник первый раз включит клиент и увидит ваши посты, потому что они по сути на реальных публичных серверах) - палево IP адресов участниками. то есть другие люди (майоры, кто угодно) видят твой IP. (с Нанобордой только админы/модераторы имиджборд видят твой IP) (под нужды Наноборды используются сразу несколько имиджборд и с учетом того что участники ретранслируют чужие посты - тем, кто захочет кого-то гарантированно вычислить придется контактировать сразу с несколькими админами и перелопачивать кучу контейнеров/IP адресов. а ведь ты мог просто запостить контейнер из под прокси/тора(не на всех бордах)/впн. если ты какой-то криминальный и не дебил то все равно будешь скрывать свой реальный IP)
однако не все так уж плохо с p2p. и Наноборда может паразитировать и на каком-нибудь p2p-мессенджере. главный момент тут - маскировочные действия, то есть ты качаешь клиент якобы для того чтобы початиться в какой-нибудь секьюрной комнате, а на самом деле ты используешь его для обмена нанопостами. в итоге получается что у твоего компа куча безобидного на первый взгляд трафика: АИБ, джаббер, токс (ну ок, не совсем безобидно но все же НА НАНОБОРДУ ПРЯМО НЕ УКАЗЫВАЕТ). пилить под Наноборду свой протокол - опять же, никто не запрещает, но с идеологией это уже расходится и как результат - со стороны уже явно видно что ты нанобордист. пусть ты не постишь запретную инфу но ее начнут постить другие и что тогда? ты будешь скачивателем, хранителем и распространителем запрещенной инфы. и по твоему трафику, который научатся детектировать сразу будет это видно. более того такой трафик будет некоторое время уязвимым (если программисты всего этого дерьма не будут Богами не допускающими ошибок)
Надо помнить, что Наноборда - это не "борда на пнг-контейнерах, которую создал некий ОП-хуй". ОП-хуй создал лишь один из возможных клиентов. Наноборда это открытый стандарт. Простой до безобразия формат нанопостов и ничего больше. (Ок, не совсем простой с тех пор как добавили БиБи коды для жирности, курсива и прочего и img тег с base64 изображения - но это не высшая математика, любой школьник справится). Все что нужно участникам для нанобордирования - наладить обмен этими нанопостами. Эта борда принадлежит каждому. Да, писать клиенты для просмотра и поддерживать способы обмена могут только могущие в программирование. Но им нет смысла НЕ делиться этими клиентами. Что касается протокола - у Наноборды намеренно его нет. И никто не мешает сразу несколько протоколов параллельно использовать. А пнг-контейнеры были выбраны потому что это легко (что может быть проще скачивалки картинок из списка тредов?), надежно (нанопосты по сути хостятся на реальных чужих серверах и могут лежать там месяцами если админ не зверюга который доебывается до каждой мелочи, а ретрансляция и диверсификация добавляют еще больше надежности) и достаточно хорошо маскирует (особенно если ты в рид-онли). То есть это такой быстрый старт, толчок, который дал Наноборде жизнь. И если сейчас кто-то продожает это развивать то писать "я буду это сагать" - как-то наивно. Те, кто пишут и будут писать клиенты - ты их не нанимал, поэтому бесполезно и невежливо просить их менять направление своих идей. Не нравятся их идеи, имеешь свои - делай свой клиент, не умеешь - уходи.
Главное для тебя и для всех кто будет делать клиенты - сохранять совместимость. Даже если разные клиенты будут свои мелкие фишки добавлять - у других просто будет непонятный текст (один такой пример - "фрактальная музыка"). Главное чтобы это не приобрело глобальный характер и не присутствовало в каждом втором посте, раздражая всех, у кого она не поддерживатся. Вот хороший пример - фича обновления списка тредов для постинга пнг-контейнеров, может работать в полуавтомате в клиенте nboard и в ручном режиме в чьем-то другом клиенте, потому что информация читается человеком, а программа лишь добавляет небольшие кнопки возле текста.
>>17352 Или вот взять эту статью. Статья дерьмо, пришлось читать пдфку чтобы понять как оно на самом деле. Но я о другом хочу сказать: по тенденциям видно, что просто захуярить себе P2P и не париться скоро будет сложно. Правительства (в том числе наши) потихоньку учатся это все дело вычислять и запрещать. И чем дальше, тем больше будет требоваться маскировка.
Снова о статье - чтобы такое сделать нужно организовать мощные сервера. Кто будет платить/хостить у себя? Где гарантия что их не отключат насильно/специально тем самым обрубив людям возможность защищенно общаться? И вообще там это все для обмена приватными сообщениями, то есть тет-а-тет. Вообще сейчас если 2 человека между собой где-то в отдельном месте договорятся о едином ключе и пропишут его в своих key.txt, то они смогут общаться на своей собственной Наноборде которую будет крайне сложно обнаружить и расшифровать. И чем больше таких ПАР участников будет появляться и чем чаще они будут менять ключи тем сложнее будет кого-то тут вообще вычислить. Учитывая сильную специфичность Наноборды и бордосферы в целом Наноборда может дать фору даже чатам в плейстейшн играх.
>>17358 ну, кто-то создал эту категорию (да еще и некрасиво - без тега жирности) не глянув, что такая уже есть. имеет право, свободное общение же, хули. категории полностью под контролем участников. ты можешь удалить эту категорию у себя а можешь наоборот добавить ее в свою шапку категорий чтобы иметь к ней доступ с любой страницы.
>>17353 >ты будешь скачивателем, хранителем и распространителем запрещенной инфы А сейчас это разве не так? Вот придут к тебе серьёзные дяди с погонами и паяльниками, а у тебя на диске Цэ лежит база наноборды в которой запрещённые стихи Айвазовского. И графические изображения ЦП-трапов в разрешении 320х240.
Даже хуже чем с фринетом выходит - там ещё хоть как-то можно придуриваться что ты не знал что тебя так используют и вообще у тебя нет ключей от тех ста гигов дерьма которые клиент фринета тебе в сторадж накачал.
>>17366 А они такие - Ололо, гражданин! А вот вы на форуме тусиэйч.эйчка 30 февраля в 23:50 разместили картинку в которой был наноконтейнер и первое сообщение в нём было тоже написано 30 февраля в 23:48. А ещё в том контейнере были стихи Айвазовского и запрещённые графические изображения. Распространяете, значицца, да? Пойдёмте в суд, будем вам тюрьму оформлять по статье.
Какая разница как это работает если тащмайор в курсе дела. Доступ к айпишникам у постов на бордах есть. Клиент наноборда можно поставить и собирать инфу кто что постит. Связывай это с айпишниками постов на бордах и вот тебе всё тоже самое. Даже не надо быть СверхСекретнымАгенством с бэкдорами в RSA и квантовыми компьютерами в недрах гор - лейтёха энтузиаст может этим заниматься сидя за офисным ПК где-нить в обшарпаном кабинетике в районом отделения милиции.
Вот только всем насрать. А сириус бизнесменов вон и через БитМессадж пропущенный через тор ловят. Причём тоже в одно рыло и на офисной пеке.
>>17370 Ты не забывай, что в источик должен иметь возможность постить любой человек и должна быть лента новостей. Иначе своим дропбоксом сможешь пользоваться только ты, и никто не увидит твоих обновлений и контейнеров без ленты
>>17371 Дропбокс можно зашарить, а наноборд должен уметь таскать файлы с папки на диске.
Было бы интересно посмотреть как например один чел собирает посты с одной борды и из общей папки и туда же свои контейнеры распихивает. И другой чел из этой же общей папки посты берёт и по двум другим бордам распихивает. Хэнд-мейд пыр-ту-пыр а-ля "сникернет".
>>17353 >не совсем простой с тех пор как добавили БиБи коды для жирности, курсива и прочего и img тег с base64 изображения - но это не высшая математика, любой школьник справится Ага, проблема в том, что эти свистоперделки даже не упомянуты в спецификации, да и вообще, «спецификация» далека от полного описания работы. Предположим, я захотел запилить свой клиент с блекджеком и шлюхами на няшном C++. Целевая аудитория не так уж и велика, поэтому я, очевидно, захочу сделать его совместимым с текущими постами и, как следствие, с твоей реализацией. И вот я сажусь, читаю https://github.com/nanoboard/nanoboard/wiki/Наноборда , думаю «О, как просто! Сейчас забабахаю». Потом читаю тред и такой — блядь, что за хуйня? Какие категории? Какие теги? Какая в пизду фрактальная музыка? В итоге я стою перед эскобаровским выбором: либо рыться в твоём коде, копируя все особенности реализации, либо отказаться от совместимости и получить абсолютно отдельную борду с тремя с половиной анонимусами.
добавил в сжималку для будущего 2.0 клиента спорную функциональность - формат картинок webp, из коробки доступный только в хром[иум]е. (шинкуфаг вроде бы знает как заставить все браузеры поддерживать этот формат, если это так - отзовись). в некоторых случаях при одинаковом с жпегом весе дает заметно лучшее качество фотографий. настроечка sharpness позволяет сохранить детали и иногда по весу это обходится даже дешевле чем повышение quality
>>17373 А, забыл третий вариант: реализовать всё «на отъебись» и выкатить продукт, в котором теги и музыка отображаются как есть, а категории — в виде обычных тредов или как они там представлены.
>>17373 ты совершенно прав стоит BB-коды и img теги с base64 добавить в спецификацию. стоит также добавить и хэш корневого поста для категорий чтобы от него все клиенты начинали показ борды. скоро добавлю
>>17376 Нет, нет, не >стоит BB-коды и img теги с base64 добавить в спецификацию а >абсолютно необходимо добавить исчерпывающее описание работы клиента в спецификацию или перестать называть её спецификацией и надеяться на альтернативные клиенты
Я бы советовал бы ужесточить формат сообщения. И отказаться от ббкодов в пользу маркдауна/вакабамарка. Заголовок поста тоже описал бы хардкорно. И описал бы всего три тега-расширения: [ img= ], [ file= ] и [ app= ]
И вот это обозвать минимумом. всё остальное уже дело каждого. Хочешь сделать фрактальную музыку? Вот тебе тег app - в него и записывай формулу.
>>17374 >шинкуфаг вроде бы знает как заставить все браузеры поддерживать этот формат, если это так - отзовись С чего ты вообще взял что я шинкуфаг?
ВебП и БПГ уже поддерживаются почти во всех браузерах скриптом. Даже некроопера их отображает, хотя и кряхтит при этом.
>>17379 нельзя делать один клиент эталоном всего. мы так будем зависеть от решений одного человека типа встроить фрактальную хуйню или шапку с категориями. нужно взять лишь то, что реально необходимо: базовую разметку текста и возможность вставки картинок в пост.
>>17381 маркдаун даунский в плане 1) попробуй его напиши нормально да так чтобы не тормозило, 2) люди будут проклинать твою звездочку которая вдруг пропадает и превращает кусок поста в курсив
>>17367 Вообще, да, считаю, главный приоритет-защита от мамкиных какиров, а не от спецслужб, те, если захотят, все равно скрутят. Паяльник, в конце концов, никто еще не отменял.
>>17380 Зачем ты мне объясняешь что-то? Ты подразумевешь, что любой разработчик должен читать весь тред, чтобы реализовать клиент? Иди в спецификацию выкатывай. >>17382 >нельзя делать один клиент эталоном всего Тогда не впиливай в него изменения, несовместимые со спецификацией, вот и всё. Иначе он будет эталоном, пусть не де-юре, но де-факто, потому что ни один нормальный™ человек не перейдёт с клиента A на клиент B, если A отображает посты красиво и полностью, а B — хуй пойми как.
>>17383 >люди будут проклинать твою звездочку которая вдруг пропадает и превращает кусок поста в курсив Зато маркдаун-разметкуя могу набирать очень быстро и не переключая раскладку из-за квадратных скобочек.
>>17387 Нахер ваш маркдаун, кто догадается, что в конце строки надо два пробела вставлять? Нет, рано или поздно к этому придут, но это так заёбно. Оставьте всё как есть.
>>17387 можно сделать так: выделил текст (шифтом, контролом, стрелками) и Ctrl+B - взялось в тег жирности. про раскладку аргумент сильный. тогда можно брать в звездочки или в круглые скобки тег вместо квадратных скобок. профит в том что это останется тегом который будет явно открываться и закрываться и не будет происходить неожиданной хуйни
>>17390 Ну вот и нафига это всё выдумывать, когда можно (u)просто(/u) использовать вакабамарк, а не какой-то там (b)ббкод только не ббкод(/b). Ну и текст с ним как-то не (i)особо(/i) выглядит. И с (i)разметкой точно(b) так же(/i) можно обосраться)\b).
>>17389 Поддерживаю, к черту все эти разметочки, где всякие подчеркивания, звездочки, и прочее. И вообще, там перечеркнутый шрифт ублюдский. Ничего, не надорвемся скобочки поставить.
>>17393 что ни говори а с марк дауном обосратсья легче. пример с отвернутой скобкой пиздецовый. вот например три звезды/пизды две жирность делатю одна - курсив. написал ты три, через пару строчек еще две написал. а через пару строчек еще две - что сделает маркдаун? а если бы ты перед этим не две писал а четыре? по-моему этот маркдаун придумал какой-то даун. с другой стороны ты не так часто используешь разметку. а когда используешь то ничего страшного если переключишься на английскую раскладку порасставляешь теги и переключишься обратно. или кнопочками воспользушься (сейчас очень удобные кнопочки в 1.6.х). или разработчик шорт-каты добавит как в микрософт ворде тогда вообще красота, марк даун отсасывает.
>>17407 Да почему же? Добавляешь в наноборд поддержку подписей на ed25519 - всего-то 96 байт добавляется (64 подпись, 32 - открытый ключ).
Берёшь хеш от открытого ключа, это топ-хеш ленты этого человека. И вот когда на этот тег приходит ответ подписанный правильным ключом, ты выпихиваешь его как пост на стенке. Можно добавлять друг-друга в друзяшки и ставить каменты с лайками и всё такое (борда ж сама внутри все ссылки обрабатывает и знает что куда прилепить). Домики набигают...
Остаётся добавить шифрование на основе этих ключей, и можно слать приватики.
И всё это анонимно и через тор с впн-ом в айтупи для токса. Короче весьма круто, а не фсбук какой-то.
Можно взять эту штуку и запускать генератор файлов в ней, а не в сандбоксе страницы. Как я понимаю там есть полный контроль над тем, куда код из этой либы может дотянуться. Если ему всё обрезать, то скритп либо сгенерирует вавку с музыкой либо обломается.
>webp >bpg и вот тут вы ступаете на тонкий лед. наноборда это либо открытый формат с общеизвестными и доступными алгоритмами либо экслюзивный хакерский софт с различными трюками. webp и тем более bpg как раз и превратят наноборду из открытого формата в просто конкретную хитрую программулину без которой наноборду не почитать.
>>17414 Невозможно спорить. Да, это так. Но это скучно.
А на самом деле лучше всего сделать спецовый тег для файлов. Типа [file=intel.zip;base64....] чтоб борда такие теги показывала как ссылку "скачать файл intel.zip".
А уже поверх этого договориться, что если там лежит файл fm.app, значит base64 надо распаковать, там будет json файл с формулой, длительностью, названием трека, автором и так далее.
поддерживает твой клиент фрактальную музыка - вместо ссылки будет интерфейс плеера. Не поддерживает - просто файл который можно скачать.
>>17415 >экслюзивный хакерский софт с различными трюками this
>>17361 Одну создавал я,как оказывается,которая без жирности.Удаляйте ее Пруфов не будетда и какие могут быть пруфы?
>>17367 Борда не p2p,можно меняться через чатики,IP можно получить,только если контролировать борды,на которые постятся контейнеры.Ну и стихи Айвазовскогокакие стихи,он же художник,не? с картинками удаляются,может даже прикрутят автоудаление по словам ака спамлист
А трипкоды можно навесить сверху на джаваскрипте довольно элементарно. Дописывать только в последнюю строчку что-то типа: sig:CvokSP3Cq0lDu5kL0zhE7bsZZFodvEOKNnt5z
>>17440 да что там толстого-то. ну "ссач не торт" ну "перекатываемся". этого достаточно для удаления. мудерок небось еще и бан прописал. удивляюсь как эти все треды не потерли. ну ничего скоро потрут вот тогда точно перекатитесь.
>>17446 Если у тебя не покоцанный баузер используется для наноборда, то можно опросить WebRTC чтобы узнать (попытаться хотя бы) твой реальный айпи, а не айпи прокси/ВПН. Слить эту инфу вместе с фингерпинтом браузера куда надо, в фоне запустить генератор спам-сообщений в наноборд и удаление всех остальных из базы. Подтянуть установщик трояна через какую-нибудь дырку в плагинах. После установки трояна - практически всё что угодно можно делать.
1.7.0 - вернулись и ужесточились строгие правила для фрактальной музыки. попердывающий клубнячок больше проигрываться не будет.
теперь допустимые символы: 0-9A-Fa-f()t-+|<>!%:^&./?=~ а также пробел звездочка и лимит на общую длину до 8192 символов если и с таким наобором можно запускать любой код то отключу фрактальную музыку полностью, если что - можно просто пользоваться программками на Си для генерации этой самой музыки
>>17457 >если и с таким наобором можно запускать любой код Ох, ну тут ничего обещать не могу, но я попробую. Без квадратных скобок очень туго. А имея только буквы "xabcdef" так вообще анрил кажется.
>>17456 >Какого же размера должен быть скрипт? 0. Возможно, когда-нибудь и остальные это поймут. >>17457 >если и с таким наобором можно запускать любой код А если можно, но ты об этом не узнаешь? Пиздец, у меня бомбит от твоего стиля разработки — сперва нахуярить говна не думая, а потом выискивать уязвимости и срочно убирать всё то, что нахуярил.
ОП, там опять ебота с контейнерами. Ты же говорил, что уже починил вроде. Я перекачал всё с нуля, никаких постов и контейнеров не удалял. Ну вставь ты контрольную сумму для проверки контейнера или поста, наконец, как у тебя там всё работает.
>>17511 какая ебота? приходит мусор? или ты создал контейнер а он мусорным стал? если приходит мусор это скорее всего какой-то человек не почистил у себя мусор один раз, теперь этот мусор у него скрылся но добавляется в контейнер.
>>17512 Но контрольную сумму, я бы всё равно вставил. Версия клиента в посте есть. Сейчас пилится версия 2.0, в самый раз такие архитектурные изменения делать. Можно сначала выпустить 1.99.0, протестировать и уже выдать 2.0
Вот эти ребята: http://slippery.email предостовляют readonly-почту. Ну, то есть, писать туда можно, а прикрыть аккаунт, или что-то такое-нет. Может быть очень удобно. Ведь чтобы писать, почта не нужна.
Будьте осторожны, за одно только упоминание наноборды, даже без создания треда, дают бан. Ошибка постинга: Постинг запрещён. Бан: 514585. Причина: [A] wipe. Истекает: Втр Фев 09 03:45:11 2016
Нано-ОП, ты вообще в курсе что рендж [A-z] это тоже самое что и [A-Z\[\]\\^_`a-z]? Да, вот ещё шесть символов среди которых квадратные скобки. Из-за этого ломаются идущие подряд теги типа [simg=url][svid=url].
>>17538 Это да, я бы на самом деле поменял приглашение к использованию. Я вроде не сильно глупый, но тоже не сразу догнал что к чему. Надо сразу рассказать, что это стенографическая борда, что постить надо самому, что надо заполнить контейнеры, хоть places уже заполнены.
>>17541 не факт. я тоже жаловался на мусор, потом обновился, а мусорные посты пропали, ничего не удалял (вернее удалял, но закрыл консоль, а не из вебинтерфейса). Раскрыл вообще всю доску, не нашел их.
>>17560 А какой смысл засовывать в контейнеры посты с левым родителем, если у правильного поста цепочка родителей всё равно тянется до корневого и родительский посты тоже дублируются в твоём контейнере. Удалять их надо программно, ящитаю.
НОВАЯ СЖИМАЛКА делюсь сжималкой которая будет в 2.0, но прекрасно работает и отдельно от клиента: http://jsfiddle.net/bqozjch6/ с ней можно выжать максимум по качеству в отличие от безумных/безжалостных пресетов
>>17573 Когда второй раз выбираю картинку и нажимаю "Отмена" (случайно нажал), то первая не сохраняется. Остаётся "Файл не выбран". Пускай уж лучше первая висит в памяти.
>>17576 Нет, для контейнера пикча должна быть PNG, а ты охуеешь от размера base64 для него. // Кстати говоря, ОП, можно ведь запрашивать картинки с ресурсов частями. И в начало файла вставить заголовок наноборды. Если заголовок найден => качаем весь файл, если нет, отбрасываем. Для медленно-интернет кунов такой вариант получше будет. http://stackoverflow.com/questions/13704615/partially-download-a-file-with-javascript
>>17580 Тут надо разобраться в спецификации. Теоретически сначала заголовок, потом палитру, потом первые, четыре пиксела. Ищем в этих четырёх пикселах стенограмму "nano".
>>17583 Пикча то? Стенограммой останется, с заголовком. Хотя наверное стоит заголовок тоже зашифровать стандартным ключом, а не оставлять на всеобщее обозрение. Поточный Salsa20 это позволяет. Но всё равно остаётся возможность детектирования по первым байтам. Хммм, ты заставил меня задуматься. В любом случае борду можно детектировать по первым стенографическим байтам {"posts":[{"hash":" Тогда даже заголовок не нужен.
>>17590 >Еще в соцсеть можно превратить Можно начать с простой подписи сообщений вместо трипкодов, а потом уже раскрутить шифрование на полную. Там и правда соц.сеть можно сделать.
>>17593 Надо просто добавить выкачку картинок с рыгхоста по тегу. Типа добавляешь в плейсес.тхт rghost:yuuppie и наноборда эпизодически проверяет этот тег и весь свежак оттуда выкачивает. Что-то подобное можно сделать для имгура и ещё какой-нибудь парочки помоек типа помф.ис (или что там ещё есть популярного?).
Это как-то очень странно - делать типа стегософт для потайного общения и при этом пеарить его, выкладывать на гитхаб и запиливать спецовые треды. Имхо ставку надо делать не на "у нас тут всё стенагрофически покрептована", а на то что "эта скотина выживет везде".
Пока вся коммуникация и "экосистема" базируется на бордах, будет происходит то, что ты описываешь. И при этом у наноборды есть неплохой шанс поиметь репутацию "конфосгнильства" среди среднестатистических анонов. Сам подумай - для людей которым чужды все эти гиковские криптопанки это всё выглядит как рак который вместо того чтоб создавать годные треды срёт везде своими распухшими пнгешками.
А если так хочется иметь спокойное место где можно постить и не хлебать из баночки, то тут только один совет - запилить специальную борду на осьмичане под это дело. И даже прикрутить в полкостылика автоматический постинг на неё (капча раз в сутки и по айпи, куки не нужны, форма простая).
И главное не увлекаться свистопредлками, а запиливать поддержку других способов раскидывания контейнеров. Не обязательно "тайных", главное чтоб их было достаточно и можно было в случае чего отказываться от одного и переходить на другой. (технически - нжна возможность быстро и просто прикручивать к наноборде новый транспорт).
>>17595 > запиливать поддержку других способов раскидывания контейнеров. Не обязательно "тайных", главное чтоб их было достаточно и можно было в случае чего отказываться от одного и переходить на другой.
>>17602 А может для кого-то несет. Раз люди там общаются значит им это интересно. Нехуй вмешиваться со своими суждениями. Впрочем админ о "свободном общении" не заикался вроде бы так что хуй с ним.
Оп, так получилось, что у меня сравнительно внезапно появилось большое количество свободного времени Ну ты понел. Могу я как-то принять более активное, чем это возможно сейчас, участие в разработке?
>>17610 Да, конечно, но сейчас все повисло в воздухе забавным образом. Оп где-то у себя тихо пилит вторую версию, которая вроде должна скоро выйти, но не ясно. Соответственно, перепиливать или лепить что-то еще к 1.X версии совершенно нерентабельно. Да и вообще, это весело, конечно, придумать задачу и решить её, но вот когда ты эту задачу решил, вылизываешь что-то там, и в новом релзе это уже решено, это немного печально.
>>17613 Я писал пост и неправильно разметку поставил [б] текст [/сп] из-за этого съехали все шрифты, время, версия были как бы текстом поста, а их самих не было, так же цитата ">" заменилась на <grn> или что-то вроде того. Вечером повторю и если такое будет, то скину ИТТ.
>>17603 Бороться с криптопостами любого вида - странная тенденция. Если там ЦП-наркотики-террористы, то админ ресурса не виноват и по требованию ркн удалит, зачем бороться с криптонами по своей инициативе не пойму, там тот же контент, просто зашифрован, тем более сейчас абсолютно все знают ключ и могут скачать клиент, все открыто. Ладно на харкаче, тут все абсолютно запрещено, кроме рулеток, засмеялся-проиграл и фаптредов, но чего мелкопораши не довольны, где за три года 20 постов? Зачем тогда вообще чан держать?
>>17614 Да мало ли что там ОП сказал. Может этой 2.0 никогда и не будет. Или она получится хуевой что все решат остаться на 1.х. И даже при наличии нормальной 2.0, 1.х все равно останется совместимой (иначе это было бы какое-то свинство). А тебе ничто не мешает запилить свой собственный клиент с нуля
>>17620 Не только в ней, один тред с мелкопораши потерт, на другом начались траблы капчей, перемещают треды, но тут просо опасения за безопасность, ладно. Вот не понимаю зачем держать бороду, если не даёшь постить на ней, пускай криптоконтейнеры, какая разница. Моча головного мозга. >>17619 Чому вы не координируетесь? Много желающих помочь, ОП, разрули.
>>17622 а что разруливать - гитхаб позволяет кому угодно взять и что-то дописать/переписать, сделать пулл-реквест и ОПу останется только нажать кнопкочку на сайте чтобы добавить изменения насчет документального оформления задач есть раздел issue куда можно добавлять свои задачи, обсуждать их или обсуждать имеющиеся задачи.
>>17670 Тогда надо сделать выбор пикч-контейнеров и категорий. А по поводу файлопомоек.. Может заюзать какой-то гейт в какой-нить ipfs? Хз, можно ли там ставить теги. Мимо
Вот шаблон для тредов в /b/. Вторую пикчу оставил чистой, если кому понадобится.
Суп, /б/, что думаешь о пикрелейтед? Правда это или фантазия? Реквестирую в этот тред анонов, которые во всем этом разбираются и пользуются. Существует ли вики по скрытым интернетам? Приподнимаем завесу тайны ITT.
1. Почему с#/mono а не java? 2. Фрактальная музыка это открытый remote code execution, который пытается санитизироваться regexp'ами? Убейте пожалуйста, это-ж полный пипец. Нельзя, чтобы rce случился от одной ошибки в санитайзере. Хотя концепт найс. 3. С первого взгляда не вижу хэдэра. Хорошо бы было с первых байтов уметь определять, есть тут стего или нет. Конечно, это позволяет проще фильтровать и удалять посты, но зато легче искать картинки, а соответственно можно хоститься в более широком диапазоне, чем пара трэдов на дваче. 4. Поясните кто-нибудь защиту от спама. Может стоит заюзать POW? Не убьет в принципе, но резко снизит желание.
1-Оп писал "Может этого оттого, что я плохо знаю Java, но мне кажется, что Java в сравнении с C# - откровенно слабый язык. Я там, конечно, все то же самое смогу сделать но с гораздо большей болью/объемом кода. И не понимаю ради чего - Java принадлежит Ораклу, Mono - сообществу. Почему Моно ставить зашкварно а JRE нет? Потому что к .NET приложил руку Мелкософт? Это все выебоны и срач на пустом месте. Справедливости ради упомяну что JVM в бенчмарках немного быстрее Моно (в среднем в 2 раза) (.NET в этом плане пошустрее). Python/Ruby - слишком медленные, у питона подводные камни типа GIL, в общем надо обмазываться всякими левыми библиотечками (да и с Ruby тоже). В C# у меня всё изкаробки." 2-Фрактальная музыка-действительно очень сомнительная функциональность. Но Оп-у очень нравится, похоже. 3-Вот тут обсуждали>>17581 4-Не уверен, что стоит. По крайней мере, пока. Регулярки, вроде, неплохо справляются. Встанет задача-надо будет вертеться.
>>17783 2. там сейчас финальная проверка не на регулярках уже. набор допустимых символов очень ограничен. 3. не хорошо. это почти то же самое что админу скинуть url всех контейнеров. а искать по всем тредам это тоже время займет. и если искать по быстрым доскам то многие будут "выпадать". лучше сидеть на медленных и не засорять одну борду кучей тредов. по одному треду на мелкоборду достаточно.
>>17802 для этого пришлось бы увеличить скорость твоего интернета и интернета который лежит между тобой и серверами борд. надеюсь ты не из тех кто регулярно выкачивает базу с нуля? даже если хочешь обновить клиент - можно кинуть файлы из архива поверх имеющихся.
пилю сейчас реализацию наноборды на чистом js. это позволит запилить сразу мобильный клиент(phonegap), нормальный десктоп(node-webkit) клиент и обрезанный браузерный клиент(без нормальной базы). проблема пока в совместимости с форматом наноборды, не могу раскодировать зип. наверное нужно что бы школьникин более подробно пояснил что происходит после гзип и сальсы, как это в файл пишется и всё такое такое. иначе получится новый несовместимый транспорт. но также я решил запилить повторение функционала наноборды на ноде, но с использованием nbpack.exe(но архетектуру по уму сделать). в перспективе нужно будет пилить гуи отдельно, транспорты отдельно, движек борды отдельно
я общем собирался пилить совершенно иную шнягу, но так вышло что с нанобордой она пересекается в плане клиента. т.е. точно так же есть хеши, ответы на них и всё это в виде тредов. поэтому сейчас у меня цель сделать js вариант наноборды, на основе ноды(для совместимости юзать пока транспорт nbpack.exe), но главная идея - это декомпозиция. т.е. можно добавлять новые транспорты, юзать разные сторы для хранения базы и использовать разные гуи на одном общем API
в моих планах было изначально юзать websockets(а так же webrtc) и некое подобие торентов. что бы распределённо качать браузером из других браузеров контент по некому хеш адрессу. для коннектов в перспективе юзать луковый(а может и часночный) роутинг, а для целостности контента - что то на подобии гита. и это всё не в аутичных маргинальных уголках инета, а как надстройка над существующим инетом. например: ты заходишь на харькач, в любой раздел. из урлы высчитывается хеш, происходит поиск по хешу в подобии DHT, и тебе на стрницу загружается скрытый контент связанный с ним. это как ход против маргинальности скрытонета - он либо имеет слабое место в доступе к к ресурсам внешнего интернета(тор) либо маргинален по определению(и2п). т.е. ты весь скрытый контент получаешь по постороним каналам.
>>17812 олсо optipng надо/можно жать. стандартный выход нихуя не оптимизирован, обычно после оптимизации даже меньше размер чем в оригинале(это с упакованным контейнером)
2.0 клиент ожил и успешно схавал все посты написанные из 1.х клиентов поиск/формирователь контейнеров пока не прикручен (не знаю еще стоит ли прикручивать или оставить отдельными прогами) я выкачал все контейнеры Aggregator-ом с использованием places.txt из репозитория (в котором, кажется, нет нескольких недавно добавленных борд) вышло больше 400Мб пнг-шек. затем nbpack1.1 положил в папку рядом с аггрегатором и (после запуска 2.0 сервера) запустил вот так: mono nbpack.exe -a http://127.0.0.1:7345 nano (линукс, на винде можно просто nbpack -a и так далее) подождал минут 10, nbpack один раз свалился (под конец, когда осталось только 22Мб картинок), пришлось запустить еще раз и всё, посты/треды появились, все работает. подгружается правда не так моментально но это из-за того что посты выборочно запрашиваются база постов - больше 5Мб формирователь пнгконтейнера пока не прикручен но есть возможность скачать все что на странице в виде json-а который хавается nbpack-ом1.1 чтобы создать контейнер. релиза пока нет можно скачать ветку feature/2.0 и сбилдить самостоятельно, попробовать если хочется. пока весь интерфейс борды в одном файлике pages/index.html
>>17927 в жипег алгоритм впихивания будет гораздо мудрёней. в анимированных гифах тоже. кроме того жпег может пережиматься серваком с потерей стегоданных. пнг пережимай не пережимай - стегоданные сохраняются.
>>17990 А как форсить? Боевые картинки - плохо. Скрытно треды в б эффективно ли? Нужны любители торов, десуталков, остальные же никогда не зайдут на нанобороду. Вот запилит анон выше перевод и буду форсить на британских/канадских чанах. раковыйпиарщик
Начну новую волну форса после того,как разрабы сделают автодобавление тредов для places.txt по ключевым словам и запилят плагины для всяких там миранд и квирок(api-то есть).А для иноязычных пользователей можно сделать другой ключ шифрования,например,не nano,а nanoeng
>>18036 >автодобавление тредов для places.txt по ключевым словам есть уже, только ты сам нажимаешь на одну кнопку, чтобы добавить или удалить. Это максимум, который нужен, потому что автоматика=спам. >для иноязычных пользователей можно сделать другой ключ шифрования,например,не nano,а nanoeng это верно, не стоит другие языки к нашему мешать.
>>18375 Вангую, что оп упомянул название борды и получил автобан + delall по доске. Как раз перед этим я запостил факт наличия сего и он, видимо, решил попробовать.
>>18395 Очень занятой анон который пилит клиент на джаваскрипте. Типа когда всё закончит можно будет мобильный клиент на Phonegap запилить в два клика. Он ещё обещал клиент на Node-Webkit. И что-то там ещё было, но тот тред удолился. Как сейчас хз, он только в треде расписывал как всё будет охуенно когда он сделает.
>>18397 С Phonegap клиент получится для кучи мобильников сразу (ведро, яблоки, винда, ещё там какие-то платформы есть), а не только для рутованного ондроеда. Хотя по хорошему конечно надо бы писать нативный клиент, а не долбиться в джаваскрипт. Хотя бы как Орбот - запустил его и браузером уже на локалхосте скроллишь борду да картинки стегаешь.
Как суперкостыль можно свой клиент на компе вывести в Тор и с мобилы через тор на него заходить. С постингом толкьо проблемы будут, картинку же он просто создаёт а не даёт скачать из интерфейса.
>>18400 >Надо-бы на доброчан перекатиться Можно попробовать, но не особо советую. Нас там за особую любовь к творчеству Юры Шевчука вытерли напрочь даже круче чем тут.
В саму борду укатываться надо, она ведь для этого и задумана.
>>18401 Почему все администраторы и модераторы не любят ДДТ? Ну, можно на мелкоборду тогда. К сожалению, на мой взгляд, наноборда чуть-чуть недостаточно юзабельна. Вот будет битмесседж, тогда вообще заебисьбудет.
Оп, я давно хотел спросить: почему у тебя в коде нет ни единого комментария? Ты для себя пишешь что ли? Предлагаешь вчитываться в код, чтобы понять, что делают процедуры с охуенно интуитивными названиями вроде HandleSafe или PostScript?
>>18402 >Почему все администраторы и модераторы не любят ДДТ? Потом что это (подобный стегософт) это рак убивающий нормальное анонимное общение?
>Вот будет битмесседж, тогда вообще заебисьбудет Проще тогда уже сам Битмессадж допилить до юзабельного вида. А вообще, мы пытались - есть пикрелейтед. Это такой микс Битмессаджа с тред-релейтедом. И работает только через тор. Но он сломан, а мне впадлу фиксить дыры в нём. Идея простетская, кто угодно может продолжить.
>>18404 >Потом что это (подобный стегософт) это рак убивающий нормальное анонимное общение? Собственичество какое-то. Какой-то мочух решает в каком именно формате будет это общение: вот вы открытым текстом общайтесь, а просто картинки нельзя(РАК). Весь бугурт наверно по той простой причине, что общение уже не отмочерировать.
>>18406 Их дохуя. И если брать руборды, то эта тема активно массажируется года примерно с 2008-го если не раньше. Но вот чтоб реально кто-то сделал решение которое прямо "Вау!" я не видел. БитМессадж с Токсом как-то поуспешнее будут.
Скорей всего эта фигня ещё долго будет вариться в таком вот виде пока действительно годный инструмент не завезут. Хз что это будет и когда.
>>18407 > Какой-то мочух решает в каком именно формате будет это общение Кто платит, тот музыку и заказывает. На том же форчонге где-то в правилах есть охуенные слова - "Доступ к сайту это не право, а привилегия. И мы можем вас её лишить по своему усмотрению без объяснений"
>>18380 Угадал, лол. >>18405 А никто и не говорит, что сложно. Просто в человеческих проектах название процедуры говорит само за себя или поясняется комментарием и ты читаешь код, зная, что он должен делать. В н-борде наоборот: читаешь код, чтобы понять, что делает процедура. Вот хороший пример того, как должно быть: https://github.com/bitcoin/bitcoin/blob/master/src/main.cpp
>>18410 Я лично ставлю комментарии, когда что-то непонятно. Но комментарии вида "//здесь мы добавляем единицу" какие-то не очень. Ну, можно типы выводить. мимо
>>18410 Хорошие комментарии конечно, но сдаётся мне что их написали уже после того, как софтина "повзрослела". То есть когда уже всё застабилизировали, о протоколах договорились и взялись вылизывать сам код. По крайней мере по истории видно что частично камменты были добавлены отдельным коммитом - кто-то сел и написал их потому что уже пиздец без них.
>>18413 >bitcoin >застабилизировали, о протоколах договорились Пиздос, с кем я на борде сижу. Отчасти ты прав, первая версия биткоина вообще была только под Шиндовс и имела автором человека, который хорош в крипте, но весьма посредственен в программировании. Впрочем, это не помешало ему прокомментировать неочевидные места, можешь взглянуть на этот код семилетней давности. https://github.com/bitcoin/bitcoin/blob/4405b78d6059e536c36974088a8ed4d9f0f29898/main.cpp
Возвращаясь к нашим баранам: не лучше ли делать всё сразу как положено?
>>18414 >Возвращаясь к нашим баранам: не лучше ли делать всё сразу как положено? Лучше. Но чёт сдаётся мне что ОП пока сам не знает как должно быть. Всё ещё похоже на пачку записок "не забыть" и это реально пишется для себя, а не "давайте всем криптачём запилим охуенчик! Го гитхаб, я создал".
Это конечно моё мнение, но версию 2.0 я бы лучше назвал 0.2 - так больше похоже на правду. Я таким же макаром наговнокодил кучу всякого мусора - это всё делается в одно рыло и исключительно в своё удовольствие, потому так неряшливо и выглядит.
>>18415 Да, удваиваю вот этого. Оп все пишет сам, и, по видимому, не считает нужным что-то менять. Да, ты прав. Честнее было бы все это именовать веткой 0.2.
йоу йоу наооп на связи. я смотрю тут много критиков собралось. ну вы молодцы, конечно, могёте.
>>18403 я пишу комментарии там, где они необходимы, а не над каждым пуком. код стараюсь писать понятный, я не бог, конечно, но стараюсь. в 2.0 дела обстоят лучше.
>>18406 не спроста мало кто использует существующее говно
>>18410 не так уж все плохо с моим кодом как ты говоришь. ну и потом никто тебе не мешает впрячься или написать своё. сидеть нихуя не делать и поливать говном и я умею.
>>18414 у меня как у человека, живущего обычной жизнью весьма ограничены временные ресурсы, я и так выкладываюсь на максимум. если "сразу делать все как положено" то ты состаришься раньше чем выйдет версия в которой все как положено. есть более жизнеспособный подход: я быстро выпускаю версию которая сырая - люди дают отзывы, находят баги, я подправляю, выпускаю следующую, собирается аудитория, участники, помощники. я получил наглядные доказательства, что такой подход работает, а вот рассуждения о том что надо бы хорошо написать сначала чтобы все с иголочки вылизано понятно с комментариями с тором и битмессаджом - нет, не работает, это лишь сказки и пуки в воздух.
>>18415 >Это конечно моё мнение, но версию 2.0 я бы лучше назвал 0.2 - так больше похоже на правду. Я таким же макаром наговнокодил кучу всякого мусора мусора? давай уже начинай какие-то аргументы приводить. комментариев тебе мало, что еще? я могу привести сравнение версий: 1.x • харкдод джаваскрипты • ин-мемори база совсем не расчитанная на серьезные размеры перезаписывающаяся полностью при каждом чихе ломающаяся при неудачном завершении • куча плюшек (фрактальная музыка, внешние картинки, управление сборщиком/создавалкой контейнеров, форма быстрого ответа) • куча файликов на каждый параметр конфигурации • транспорт (контейнеры) вшит в сервер • куча кода, огромные классы
2.0 • джаваскрипты по человечески лежат как файлы • дисковая база расчитанная на гигабайты постов, операции атомарные, ничего не ломается • единый конфигурационный файл редактируемый в веб-интерфейсе (ну и руками если хочется) • фрактальная музыка, внешних картинок, формы быстрого ответа и вызова сборщика/создавалки контейнера нет, но есть свои плюсы см ниже • поиск постов по словам • списки последних постов 10 50 100 500 - всегда доступны • возможность наворачивать борду этими и другими плюшками не пересобирая и не перезапуская сервер • отделение транспортов от сервера, старые операции (сборка/создание контейнера) снова доступны (пусть и не через кнопку на сайте но через скрипты) • минимум кода
я вижу здесь достаточно пунктов (некоторые вообще жизненно важные для N@N0борды), чтобы назвать версию 2.0 а не, с какого-то хуя, 0.2.
>>18426 под андроид есть моно (платно) и есть обходные пути как запустить там моно. в принципе реально сделать билд текущего клиента под андроид, потребуются минимальные правки, работать будет так же: сервер + браузер.
>>18429 >пишу комментарии там, где они необходимы Необходимы кому? Тебе они вообще не нужны, ты свой код наизусть знаешь. Другим они нужны чаще, пример качественного комментирования я привёл, хуярь давай.
И не пизди, что в 2.0 лучше, открыл сейчас десятка два файлов и что я там нашёл? Три комментария: >private const int DataLimit = 1024 1024 1024; // 1GB per chunk >private void UpdateDbRef(DbPostRef r) // reading diff >public Post GetPost(string hash) // cached Как господь прокомментировал просто!
Всё очень просто: либо ты делаешь проект дружественным для других разработчиков, либо сидишь и пилишь его один, потому что никому не впёрлось разбирать код без пояснений. Пока что у тебя в действии второй вариант: в репах пять коммитов от других разрабов, из которых три — исправление вёрстки.
>>18431 Ты же не пуллреквестишь, так что иди нахуй. С любым кодом надо разбираться, а комменты часто банальны. Ты же не будешь писать: // Get item by id Object void getItemById(int id) { Я сам не люблю недокументированный код, но в рабочем проекте не на всё нужны комменты.
>>18429 >чтобы назвать версию 2.0 а не, с какого-то хуя, 0.2 Я же сказал что это моё личное мнение. И всем может быть похуй на него даже мне.
На мой взгляд у тебя была версия 0.1.х, потом ты сел и допили её (вот как ты перечислил) и это уже стала 0.2.х
Сделать из этого 1.0.х можно было бы когда софтина полностью готова и делать в ней больше нечего. А перекидывать версию до 2.0.х когда её полностью перепишут, скажем, на Go.
Или тебе больше нравится как в гуглохроме делают? Так то да, у них к концу года небось версия 100.0.х выйдет такими темпами.
>>18416 >версию 2.0 я бы лучше назвал 0.2 >Честнее было бы все это именовать веткой 0.2 Отстаньте от версий, сейчас они правильно считаются. Если бордой пользуется хоть кто-то отличный от автора она уже 1.0.
>>18432 Естественно, я не пуллреквестю — во второй раз взялся читать твой код и во второй раз блеванул. Сложно с пакетом блевоты в руках код писать, знаешь ли.
1.7.9 – 1) теперь автоматически распознаются WebP картинки в Firefox/Opera, 2) главная страница теперь – Категории, 3) сделана попытка исправить периодические проблемы с соединением в Chrome.
я тот анон что ебался с пако и сальсой на js. в общем я проебланил поряток бит, где младший, где старший. сейчас подхватывает тестовые данные(два поста в json закодированные nbpack) но пикчи из тредов он распаковывает не полностью. инфлейт валится где-то на середине. может такое быть из-за того что я юзал inflate вместо inflateRaw?
так же один анон скидывал несколько файлов с разными этапами, картинка, данные до сальсы, до инфлейта и данные. так вот опять таки где то до середины наши данные после сальсы сопадают, а потом нет. как такое может быть? сальса же не может частично ксорить данные
>>18475 ты точно не читаешь лишних битова из картинки? там может быть половина полезной инфы а вторая - шум. вначале 4 байта не зашифрованных сообщают о количестве полезных байт
>>18477 нет, иначе бы вообще ничего не работало. 4 первых байта - длина, засальсованный контейнер - начиная с пятого байта и до байта по счёту длина+4.
>>18478 1.7.11 - более умное создание контейнеров, превью контейнера: после создания контейнера вы увидите каждый пост который ушел в контейнер по очереди во всплывающих окошках справа В 2.0 в nbpack исправлено создание контейнеров (был баг с дубликацией одного и того же поста вместо подбора рандомных).
>>18484 кроме того сняты лимиты по размеру на ретрансляцию (все посты теперь имеют шанс на ретрансляцию, но маленькие посты и недавние посты все равно в приоритете при "случайном" подборе)
>>18503 Хм, теперь появились, видимо я две вкладки сразу открыл. При попытке перехода на главную из свежих словил падение сервака. В логах вот: >Удаленный сервер возвратил ошибку: (403) Запрещено. Неправильный результат из-за исключения, возникшего во время операции. См. описание исключения в InnerException. Ты бы сделал временную метку для всех логов по принципу log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n %p - логлевел %c - файл %L - номер строки Все доки здесь https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html Уверен в шарпе тоже есть какой-нибудь логгер.
>>18488 в общем ситуация такая, на 18000+ каком-то там байте js сальса почему-то начинает выдавать одни нули, поэтому маленькие тестовые контейнеры обрабатовались без ошибок. возможно корявый сам код сальсы с гитхаба.
ты бы мне оче помог, если бы запилил nbpack, который кроме картинки генерил бы промежуточные результаты, тип сам контейнер до гзипа, после гзипа до сальсы и после сальсы
я тут ещё одну сальсу нашел, в npm node-salsa20, но ещё не пробовал её, возможно будет несовместима, т.к. автор пишет что его сальса несовместима с предыдущими версиями. хз про интерфейс он или про алгоритм.
с выходных, что я выкладывал в архиве - ничего не изменилось, не было времени пока пилить. когда более-мение будет повторят функционал - запилю что бы работало из папки c nanodb
>>18516 оно пока только может показывать категории, переходить по ссылкам разворачивая посты как треды. из плюшек - это хешбенг в адресе, так что кнопки браузера назад/вперёд работают, ну и ещё скролл к посту на который отвечают, вместо перепрыгивания на анкор
>>18520 Играюсь тут с Bitmessage-ом, хочу спросить советов. Как думаете, стоит ли предусматривать возможность использования нескольких чанов одновременно? Если да, то как, думаете, стоит выбирать чан для постинга? Постить на все сразу? Случайно? Как думаете, стоит пересылать туда-сюда только добавленные посты, или как сейчас с пнг? Если так, какое ограничение стоит выставить?
>>18526 Шифровать не нужно ничем. Шифрование с общеизвестым ключом не имеет абсолютно никакого смысла, поскольку не даёт плюсиков к конфиденциальности. То же относится и к png-контейнерам — там шифрование не даёт плюсиков не только к конфиденциальности, но ещё и стеганографии.
Оп, не напомнишь ли, зачем ты решил шифровать содержимое png-контейнеров?
>>18528 потому что я ret уже присвоил массив определённой длины, но если я на каждой итерации буду обращаться через точку, будет выполнятся поиск в объекте по имени поля. в случае когда это неизменяемый примитив(в нашем случае число) то его лучше присвоить в переменную, цикл будет работать быстрее.
>>18530 потому что это две разные функции, лол. я пока вдуплил с правильным порядком бит в октете, функция getBytesFromLoBits менялась много раз. функция getRGBBytesFromImage - не менялась вообще, я там даже не переписал китайкод с присваиваниями [i + n]. в разработке всегда лучше много маленьких простых функций, чем одна. декомпозиция, разделение ответственности, юнит тесты, вот это вот всё
>>18536 длину массива я беру на случай если байтов в аргументах пришло не кратное 8ми. правильнее было бы сначало вычеслить длину массива, потом создать его, а потом в цикле заюзать её значение
>Если формат пнг-шки не поменяется это да. логичнее было бы уже и первые четыре байта отдельно сальсовать и шум до конца картинки продолжать рандомом
>>18537 >длину массива я беру на случай если байтов в аргументах пришло не кратное 8ми. правильнее было бы сначало вычеслить длину массива, потом создать его, а потом в цикле заюзать её значение Ну окей. Тогда зачем ты переменную i на 8 увеличиваешь?
>>18535 Нда. Чтобы пересылать только новые посты, придется кой-чего дописать к коду сервера. Придется в разделить апи добавления для локально добавляемых(для них нужно будет вызывать программу транспортировки) и добавляемых снаружи постов. Это, конечно, легко, но вот хуй оп от кого пулл реквест примет, сдается мне.
>>18538 что бы замутить подцикл же, в котором из 8ми бит байт собирается. i увеличивается на 8 и сравнивается с длиной про которую ты спрашивал. логика прямолинейная - я беру кратное 8ми количество байт и извлекаю из них младшие биты, вместо того что бы работать со всеми пришедшими байтами и обрабатывать ситуации когда что-то не так
>>18540 >что бы замутить подцикл же, в котором из 8ми бит байт собирается Но ведь в таком случае у тебя не получится обработать все биты, часть останется за бортом.
>>18542 лолшто "за бортом" останутся количество бит < 8, как мне из них байт собрать? к тому же как я заметил что длина контейнера всегда менше на н-ое количество байт, потэтому на неполные байты можно забить
>>18545 >Math.floor(bytes.length / 8) >bytes.length / 8 >Math.floor >floor тут округление к меньшему целому. больше 7ми бит не может остаться "за бортом"
>>18553 к вопросу поясню как сейчас происходит добавление: ты добавил пост через /add, ты добавил чужие посты через /add или /addmany у тебя в базе новые посты зачем тебе знать где твои посты а где не твои?
>>18555 нет. я поделил количество младших бит на 8 что бы получить количество байт, но потом забыл про это и использовал это количество байт при проходе по битам. в итоге терял 7/8 данных и охуевал что 00000000000 нули короч кругом
>>18535 Впилил бы тогда это как опцинальную возможность. Просто сейчас хуй знает что получается: содержимое контейнеров зачем-то шифруется, хотя пользы от этого ровно никакой. Что-то вроде сторожа, который старательно каждый вечер «закрывает» ворота, вешая навесной замок на одну петлю.
>>18565 это палевно только для распухших простых узоров которые хорошо жмутся. на фотографии контейнер меньшего размера, но ты его не вычислишь по рандому
>>18565 ну можно реализовать алгоритм который сильно затруднит вычисление наличия стеганографии в картинке. естественно ценой уменьшения вместительности контейнера. вот только тогда все равно можно, заполучив копию распаковывающего софта, наладить вычисление "криптанов". и тут может выручить диверсификация мест постинга контейнеров. это позволит водить хуем по губам админам аиб до тех пор пока они не начнут очень сильно заморачиваться технологически, а также внедряться в "среду", чтобы держать свои "прицелы" обновлёнными, и возможно объединять свои усилия с другими админами.
вычисляем границы на изображении у краев границ делаем незаметные изменения чтобы зашифровать биты. но в одну картинку всё сообщение не кладем. распределяем его на 4 картинки.
возьмем для примера очень короткое (уже зашифрованное) сообщение из 8 бит: 01101101
картинка 1 получает первый и пятый бит: 01 картинка 2 получает второй и шестой бит: 11 картинка 3 получает третий и седьмой бит: 10 картинка 4 получает четвертый и восьмой бит: 01
картинки постим на разные ресурсы. пока ты не соберешь 4 картинки рядом в нужном порядке сообщения ты не получишь. для упрощения задачи распознавания все 4 картинки подбираются из схожей цветовой гаммы (а лучше вообще одинаковые, постить то все равно на разные ресурсы будем). принимающей стороне остается только сортировать собранные со всех источников картинки в группы по схожести и делать из них этих групп комбинации (не так уж и много возможных комбинаций выходит) пока не получится расшифровать валидное сообщение (определять успех можно по успешной распаковке архива (после дешифровки) или по наличию правильного формата сообщения: например 32 символа хэша, затем сообщение). плюс такого метода также в том что уменьшение вместительности отдельно взятого контейнера не очень мешает ведь в каждый контейнер кладем только 1/4 часть сообщения
>>18568 а еще можно прятать куски секретных посланий в тексты. только не методом подмены некоторых букв латинскими визуальными аналогами - это легко детектится автоматикой. в одном из предыдущих тредов была демка на jsfiddle где биты шифровались подбором длины каждого кусочка текста (разбивка по пробелам с пропуском очень маленьких кусочков). заявленная плотность: на то чтобы упрятать 8 бит (1 байт) надо примерно 60 символов текста. это потребует наполовину ручной работы (можно упростить с автоподбором синонимов слов или подчищением знаков препинания) зато практически невозможно обнаружить особенно если применить разделение на 4 ресурса (а слияние производить по ключевому слову (или другой вариант - по стартовому набору битов), наличествующему во всех 4х текстах на каждом из условленных ресурсов).
>>18554 Я слоу, но все равно: Мы пришли к выводу, что стоит по битмессаджу гонять по посту на сообщение, не включая старые посты. То есть: написал пост-он полетел в чан. Ретрансляцию старых постов будет выполнять сам битмессадж, с этим его ttl. Но вот только для такой схемы нужно иметь возможность разделять свои посты, и посты чужие, чтобы при обработке твоего поста, сразу отправлять его в чан.
>>18571 ну так вызывай "посыл" в чан из кода формочки-ответа. если это отложенно надо сделать то можно скидывать хэши своих постов в какой-нибудь параметр конфига типа my_outbox в виде строчки с json-массивом /api/paramget/my_outbox /api/paramset/my_outbox (post '["hash1","hash2",...]')
>>18567 Это так не работает. Рандом в LSB будет только если картинка сама по себе просто рандомный шум. Если это будет фотография или что-то типа того, никакого рандома в LSB не будет.
Если мне не будет лениво, то я может накидаю юзерскрипт который детектит в пнг-шках такой стег через хи-квадрат.
В этом случае проще взять и обнулить LSB в пнгешке движком борды. А ещё лучше все картинки просто немного ресайзить, пикселей на 5 по каждой стороне. Ну или просто всё под чистую пережимать в jpeg на 0.75 - тогда и стег накроется и трафик экономиться начнёт.
Это всё очень запарно. Стег это весело конечно но делать на него ставку особо не стоит. Как я уже говорил, должно быть много вариантов распространения и стег с пнг это просто одна из опций на случай если пригодится.
Идея сделать простецкий транспорт на Битмессадже - вот это действительно годно. Никакой привязки к бордам (или любым другим сайтам), сам БМ гоняется через тор. Что ещё нужно для любителей закрыться от внешнего мира в своём бункере?
>>18574 >Идея сделать простецкий транспорт на Битмессадже Я только не понимаю, что вы будете делать с тем, что сообщения удаляются через два дня? Вот не был человек неделю на борде, не запускал просто. За пять дней он же вообще сообщения не получит. Ну разве что родителей сообщений, за последние два дня.
>>18575 По этому это не должен быть единственный путь.
И о каких серверах ты говоришь? Бутстрап? Если они отвалятся можно будет просто раскидать по всяким пейстбинам и ргхостам НетДБ и он будет без бутстрапа работать.
>>18576 ТТЛ на 28 и всё будет ок. Алсо ретрансляцию таки можно сделать, всё ж месадж до 250кб может быть. К тому же должна быть возможность закинуть вообще всю базу на какой-нибудь ргхост - как в биткоинх - качаешь блокчейн торрентами (30 гигов всё же), а потом уже из самой сети докачиваешь самый свежак.
>>18572 Из яваскрипта? Ну это МАКСИМУМ костыль. Проще серверный код подправить. И изящнее. Но вообще, спасибо, вариант писать в параметр, а потом периодически оттуда читать-очень неплох. Вроде сделал какой-никакой транспорт. Написано по-ублюдски, конечно, но вроде работает.
>>18575 Кстаааати. В форке майлчука впилили поддержку тора (не как прокси, а именно битмессадж на онионах). И там уже поднят бутстрап в торе. И вроде была речь про запил i2p транспорта для Биттмессаджа.
Так что БМ может стать вполне себе надёжным транспортом.
>>18574 думаю все живо пошлют нахуй борду где пнг автоматически конвертируются в уродские жпеги. вообще я говорил не о LSB а о, например, уровнях контраста у границ в некоторых контрольных точках превышающих или не превышающих некий порог. но разумеется попортить можно и такое при желании
>>18581 >думаю все живо пошлют нахуй борду где пнг автоматически конвертируются в уродские жпеги. Да. Любители творчества Юры Шевчука видать уже покинули эту борду. Хотя их уродские жпеги конвертятся в вполне себе нормальные пнг-шки.
Можно пойти другим путём и взять матричное кодирование тогда в один изменённый бит картинки будет влезать байт сообщения. Вместимость только очень сильно упадёт, в обычный 720p скриншот будет влезать примерно 10кб данных. Но опять же - немного коряжим картинку и всё ломается.
А у НБ это наверное самый плюс что в одной картинке может быть ооочень много сообщений. Эта избыточность и делает её такой привлекательной.
>>18582 не понял как ты в один бит целый байт собрался запихивать.
НБ и пнг-контейнеры это разные вещи как бы. в пнг-контейнерах ретрансляция и избыточность существуют как защита от пропажи/удаления запощщщеных контейнеров
Про ретрансляцию: если подумать, то надо бы для каждого поста хранить время когда его в последний раз ретранслировали. А при сборке контейнера в приоритет ставить те, которые дольше всего не ретранслировались.
Таким образом за десяток неторопливых постов можно будет перепослать базу из тысячи сообщений.
>>18585 >не понял как ты в один бит целый байт собрался запихивать. В один изменённый бит, а не просто в бит. Я же дальше написал что очень сильно из-за этого упадёт вместимость.
8 бит сообщения будут храниться в 255 битах картинки. При этом для записи одного байта тебе потребуется поменять всего один бит из этих 255.
>в пнг-контейнерах ретрансляция и избыточность существуют как защита от пропажи/удаления запощщщеных контейнеров Так вот это и есть вкусный бонус. Если убрать эту фичу и постить в картинку только один твой мессадж, то уже получится скучная фигня. А так ты можешь собрать пару десятков картинок и получить практически всю базу сообщений.
>>18587 >в приоритет ставить те, которые дольше всего не ретранслировались. Хотя нет. Лучше не ретранслировать те, которые были получены за последние, скажем, 24 часа. Ну или чуть больше.
Собрал ты картинок, получил двадцать новых постов - зачем тебе сейчас их ретранслировать? Лучше в следующий раз.
>>18588 сейчас берется 50 последних постов и выбрасываются самые старые пока в сумме не будет 150кб или меньше. потом берется 50 рандомных постов но со свдигом в сторону свежих (index = Math.Pow(r.NextDouble(), 0.3) * count) и операция повторяется. итого до сжатия выходит не больше 300кб и в сумме не больше 100 постов. на практике выходит постов 10-30 сейчас (поскольку активно постят "хайрезы").
>>18591 >сейчас берется 50 последних постов Зачем?
Сам посмотри какой юзкейс-то - вот ты запустил клиент, нажал кнопочку поиска. Тебе насканили пять новых картинок из которых извлекли семь новых постов. Так как ты сканишь довольно часто, то все эти картиночки свежие и их скорей всего все успели скачать.
Вот ты написал пару ответов и жмёшь создать пнг. В этом случае тебе вот эти вот свежие 7 постов перетранслировать не нужно, пометь их как "сегодняшние" и 24 часа не трогай.
А про "старые в первую очередь": вот представь что есть посты с номерами от 1 до 100.
Ты делаешь пост и в контейнер уходит твой новый и ещё посты с 1 по 20. Чуваку, который насканит твою пикчу и решит ответить, ретранслировать (через час или два) твой пост и вот эти вот с 1 по 20 смысла нет. Ему лучше закинуть свой и с 21-го по 40-ой. И вот так вот через пару постов вся сотка окажется ретранслированной.
>>18592 Как было у тебя: страница, например, index.html, там кача js кода, возможно, css код, и ссылки на js и css файлы. Это несколько путано, но главное-если, вдруг, будет охота пилить плагины, которые можно будет ставить/убирать,будет совсем неудобно. Что сделал я: под каждую страницу заводим в папках scripts/ и styles/ по папке, в них кладем соответственно js и css файлы, в любом количестве. При загрузке страницы файлы из папок будут автоматически подгружаться на нее. Если нужно использовать один и тот же файл на нескольких страницах, скажем, библиотеки, или один общий стиль, то можно положить в директорию файл с расширением lnk, в нем написать путь к этому(этим) файлам. Можно даже ссылаться на другие lnk-файлы. Соответственно: изменения по-существу: Directory handler-если открыть путь, соответствующий папке-склеит все файлы внутри(кроме lnk, из них прочитает сфайлы по сылкам) в один и возвратит, если обратиться к файлу-возвратит его содержимое. Можно читаь подпапки. И два скрипта: cssloader и jsloader
>>18594 я не смотрел где у тебя там лнк, но это же дичайший костыль. если нужна модульность и переиспользование кода, то есть уже куча решений - requireJS, AMD, browserify, webpack. es6 modules в конце концов
ОП, что-то я проебал, где ты писал про формат постов в упаковоном гзипп контейнере. помню что-то вроде первое число - количество постов, потом длины постов по очереди и после них сами посты начинающиеся с хеша.
я сейчас смотрю в раскодированные данные, там длины количество в чём? похоже на хекс (НЕХ), будто по три байта(6 символов в хекс). я прав?
>>18601 >похоже на хекс (НЕХ), будто по три байта(6 символов в хекс). я прав? Да. Причём судя по описанию формата на вики это длина в символах, а не в байтах.
>>18669 да, в курсе. я клиент пока оставил, пилю бекенд
кстати, а в оригинале есть какая-то защита от потерявшихся постов? вот допустим кто-то пилит вручную контейнер, но меняет там хеши таким образом что они не ссылаются по цепочке на корневые, а значит их просто так не посмотреть. если такой защиты нет, они реально могут паразитировать на сабже. с другой стороны допустим у меня не выкачена вся база, а в контенерах есть ответы на треды которых нет у меня в базе. тогда они лежат мёртвым грузом в базе, пока я не найду посты по цепочке выше
>>18670 ну обычным способом наткнуться такие посты ты не можешь, потому что получается, что цепочка ведущая к оп-посту треда оборвана. их будет некоторое время после получения видно в [Last *], также они будут попадать в результаты выдачи [Search]. можно запилить эндпоинт /orphans который покажет все посты без наличия родителя в базе. либо можно самому (очень медленно) обращаясь к базе понаходить такие посты: пройтись /nget-ом от 0 до /count - 1, у каждого – get/' + p.replyTo – если 404 – это сирота. что с ним делать собираешься? удалять? а если завтра найдется родитель? (можно решить этот вопрос удалением только совсем уж престарелых сирот (от 0 до count/4)
сегодня родилась такая идея: что если сделать юзерскрипт, который позволит делать активный сбор картинок. представим что ты сидишь в треде, а юзерскрипт детектит пнг контейнеры и шлёт их список на агрегатор. так начнут распространятся даже кем-то сохранённые картинки. можно и самому в ракотредах постить йобу с контейнером и тогда другие аноны будут находить его сидя в подобных тредах. так сабж будет просачиваться всё дальше
>>18672 Я, например, думал об этом, но понял, что стоит один раз написать и это будет полный детект контейнеров. Их начнут сразу же прибивать модеры. Поэтому и не стал развивать эту идею.
>>18673 в режиме параноика я тоже так считаю, что если сделать готовые инструменты для детекта стего-контейнеров, то это сразу накроется пиздой получив хоть какое-то распространение
в режиме прагматика, мне кажется что существует определённый порог когда игра не стоит свеч и никто не станет заморачиваться в обрезке всех младших бит во всех контейнерах и баном мимокрокодилов которые их постят. здесь главное умерить апетиты(я про то что бы не плодить распухшие контейнеры на быстрых тредах) и повысить порог входа для мимокрокодилов, что бы количество таких постов не выглядело набегом
>>18674 хз, у меня как-то получалось сегодня. нода вытягивала html и парсила ссылки на png
Ну, вроде, запилил транспорт, и в прилепил его. Все максимум коряво сделано, но это временно, наверное. Тестировать теперь надо(на нескольких компьбтерах).
Имя события проблемы: CLR20r3 Сигнатура проблемы 01: nanodb.exe Сигнатура проблемы 02: 0.0.0.0 Сигнатура проблемы 03: 0 Сигнатура проблемы 04: mscorlib Сигнатура проблемы 05: 2.0.0.0 Сигнатура проблемы 06: 53a12268 Сигнатура проблемы 07: e2 Сигнатура проблемы 08: 16 Сигнатура проблемы 09: System.ArgumentOutOfRange Версия ОС: 6.1.7601.2.1.0.256.1 Код языка: 1049
Этот тред посвящен стеганографии и её месту на анонимных имиджбордах. А также обсуждению легенды о существовании тайной анонимной имиджборды которая:
... нигде и везде.
Тебя в ней никто не заткнет.
Её никто не остановит.
Она уже твоя.
http://www.youtube.com/watch?v=pSFWMdrF4sM