Это копия, сохраненная 21 сентября 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Этот тред посвящен стеганографии и её месту на анонимных имиджбордах. А также обсуждению легенды о существовании тайной анонимной имиджборды которая:
... нигде и везде.
Тебя в ней никто не заткнет.
Её никто не остановит.
Она уже твоя.
http://www.youtube.com/watch?v=pSFWMdrF4sM
http://8ч.net.prx.zazor.org/politach/
Пытался создать фракталов тред,куда-то хочет переслать с незащищённым сертификатом.Добавляй поддержку прокси и тора
>увеличил допустимый размер чтобы можно было бы запостить sha256 в тексте (теперь допускается до 64 символов [a-f0-9] подряд)
Бля, а я sha512 использую. Там 128 символов, расширь фильтр позязя. А ещё я хочу постить шифровки через пгп, там ещё больше может быть, может лучше сразу до 65000 расширишь?
К слову, что за странное ограничение - пост может быть 65000 символов, а картинка только 32768 но зато два раза? Сделай и картинку тоже 65000 в самом деле.
>>16820
Скорей всего тот анон хочет видеть "классический тред на имиджборде". И я его в принципе поддерживаю. Я вот предложил бы следующие изменения внести:
Добавь в код разметки поддержку рефлинков вида >>e292b94f7193a25072c5b92130262338. Сам формат сообщения (первые символы - хеш мессаджа на который отвечаешь) оставь как есть.
Ответ в тред реализуй "как в куклоскрипте". То есть это не отдельная страница, а ответ можно пилить прямо в треде. Форму можно даже плавающей сделать. Добавь опять же поддержку попапов и вот эти ссылочки "ответы" в конце поста. Сам тред отображай линейно, без лесенки.
Технически при ответе в тред ты всегда будешь отвечать на ОП-пост. При этом сортировка остаётся такой же как и сейчас - какой пост пришёл раньше, тот в треде и выше (тут бы я добавил полей recived_at в базу где хранил бы время когда пост был тобой впервые получен).
А вот если в посте есть рефлинки (есть логическая связь не только с ОП-постом, но и ответами других анонов), то учитывать их при сортировке - пост будет помещён после всех постов на которые он отвечает. В итоге: открываем тред, берём все посты без рефлинков и расставляем их по порядку получения. Потом берём все посты с рефлинками, сортируем по порядку получения и начинаем впихивать в тред согласно рефлинкам (не раньше постов на которые отвечаешь, но всё ещё в порядке поступления).
Ещё одна фигня - храни в базе флажок was_read - которым помечай все посты из треда когда пользователь в него заходит. Посты у которых этого флага не было на момент открытия треда помечай особым css классом. Чтоб их было видно. И можно было бы добавить простенькую кнопочку под ОП-постом "показать только новые/показать все".
Сортировку реализуй в функции получения постов. То есть при получении нового поста для треда вызывается эта функция которая берёт все посты треда из базы (да, тебе таки придётся прикручивать sqlite) и весь тред пересортировывает заново. При этом в базу пишется порядковый номер поста в треде. Эту херню можно потом использовать для генерации нолевой - для каждого оп-поста заводишь поле last_bump, пишешь туда таймстемп когда в этот тред последний раз попадал пост. сортируешь оп-посты по этому полю. Берёшь первые десять. Для каждого из них берёшь 5 последних постов из треда, и вот тебе нолевая которую можно эфпячить. (и странички которые листать).
И да, если пришёл пост ответом не в тред а на другой пост, просто считаешь что у него такой рефлинк есть (ну и вот для таких случаев можно "лесенку" оставить).
>>16825
>Ты не сможешь рассылать посты которые попадают под твой спам-фильтр.
Это не очень хорошо. Я бы так не делал. Разделяй базу постов которые видит пользователь, и базу из которой берутся посты для ретрансляции.
>увеличил допустимый размер чтобы можно было бы запостить sha256 в тексте (теперь допускается до 64 символов [a-f0-9] подряд)
Бля, а я sha512 использую. Там 128 символов, расширь фильтр позязя. А ещё я хочу постить шифровки через пгп, там ещё больше может быть, может лучше сразу до 65000 расширишь?
К слову, что за странное ограничение - пост может быть 65000 символов, а картинка только 32768 но зато два раза? Сделай и картинку тоже 65000 в самом деле.
>>16820
Скорей всего тот анон хочет видеть "классический тред на имиджборде". И я его в принципе поддерживаю. Я вот предложил бы следующие изменения внести:
Добавь в код разметки поддержку рефлинков вида >>e292b94f7193a25072c5b92130262338. Сам формат сообщения (первые символы - хеш мессаджа на который отвечаешь) оставь как есть.
Ответ в тред реализуй "как в куклоскрипте". То есть это не отдельная страница, а ответ можно пилить прямо в треде. Форму можно даже плавающей сделать. Добавь опять же поддержку попапов и вот эти ссылочки "ответы" в конце поста. Сам тред отображай линейно, без лесенки.
Технически при ответе в тред ты всегда будешь отвечать на ОП-пост. При этом сортировка остаётся такой же как и сейчас - какой пост пришёл раньше, тот в треде и выше (тут бы я добавил полей recived_at в базу где хранил бы время когда пост был тобой впервые получен).
А вот если в посте есть рефлинки (есть логическая связь не только с ОП-постом, но и ответами других анонов), то учитывать их при сортировке - пост будет помещён после всех постов на которые он отвечает. В итоге: открываем тред, берём все посты без рефлинков и расставляем их по порядку получения. Потом берём все посты с рефлинками, сортируем по порядку получения и начинаем впихивать в тред согласно рефлинкам (не раньше постов на которые отвечаешь, но всё ещё в порядке поступления).
Ещё одна фигня - храни в базе флажок was_read - которым помечай все посты из треда когда пользователь в него заходит. Посты у которых этого флага не было на момент открытия треда помечай особым css классом. Чтоб их было видно. И можно было бы добавить простенькую кнопочку под ОП-постом "показать только новые/показать все".
Сортировку реализуй в функции получения постов. То есть при получении нового поста для треда вызывается эта функция которая берёт все посты треда из базы (да, тебе таки придётся прикручивать sqlite) и весь тред пересортировывает заново. При этом в базу пишется порядковый номер поста в треде. Эту херню можно потом использовать для генерации нолевой - для каждого оп-поста заводишь поле last_bump, пишешь туда таймстемп когда в этот тред последний раз попадал пост. сортируешь оп-посты по этому полю. Берёшь первые десять. Для каждого из них берёшь 5 последних постов из треда, и вот тебе нолевая которую можно эфпячить. (и странички которые листать).
И да, если пришёл пост ответом не в тред а на другой пост, просто считаешь что у него такой рефлинк есть (ну и вот для таких случаев можно "лесенку" оставить).
>>16825
>Ты не сможешь рассылать посты которые попадают под твой спам-фильтр.
Это не очень хорошо. Я бы так не делал. Разделяй базу постов которые видит пользователь, и базу из которой берутся посты для ретрансляции.
ок сделаю картинки до 63Кб (правда не могу гарантировать что это будет работать во всех браузерах, как минимум в Internet Explorer и Microsoft Edge будут проблемы).
насчет спам-фильтра, согласен, пожалуй из релиза дефолтные правила уберу, пусть люди сами настраивают по желанию.
в остальном у тебя, я вижу много неплохих идей как лучше сделать клиент. может подключишься к разработке?
кратко прокомментирую еще одну вещь: рефлинки уже сейчас можно автоматически начать показывать и сбить все посты в один уровень, без лесенки. могу позже включить это как еще одну опцию отображения треда. но даже без этого если возинкла трудность в понимании - на какой пост отвечает конкретный пост - нажми на ответы "конкретного" поста и на странице поста нажми "вверх" - ты увидишь этот самый пост на который отвечает "конкретный".
у меня времени не много, поэтому приоритеты сейчас такие:
- серьезные баги делающие работу с нанобордой невозможной (таких пока, кажется, хвала Аллаху, нет)
- повышение эффективности алгоритма упаковки в контейнер (тут понадобится хранить больше служебной инфы о каждом посте, и, возможно, тут и начну использовать sqlite чтобы окончательно не утонуть в текстовых файликах)
параллельно хочу выпустить отдельные тулзы для использования сторонними разработчиками:
1) скачиватель картинок с тредов, использующий 2 списка - "адреса тредов" и "уже скачанные url картинок", просто кладущий картинки в нужную папку и обновляющий второй список
2) распаковщик пнг-контейнера - принимает на вход путь к картинке и имя файла куда сохранить JSON объект с массивом нанопостов
3) упаковщик пнг-контейнера - принимает на вход путь к картинке-оригиналу и к JSON объекту с массивом нанопостов а также путь по которому сохранить контейнер. (соглашение тут предлагаю - не больше 256 (точное число можно обсудить) постов на контейнер (обычно редко даже 100 постов влазит) - ради борьбы с возможным засиранием).
наличие этих трех программок позволит кому угодно пилить свои, независимые от основного, клиенты и совместимым образом использовать тот же транспорт что и у основного клиента - пнг-контейнеры в АИБ-тредах, а для базы, сортировки, показа и прочих фичей - свои собственные наработки.
ок сделаю картинки до 63Кб (правда не могу гарантировать что это будет работать во всех браузерах, как минимум в Internet Explorer и Microsoft Edge будут проблемы).
насчет спам-фильтра, согласен, пожалуй из релиза дефолтные правила уберу, пусть люди сами настраивают по желанию.
в остальном у тебя, я вижу много неплохих идей как лучше сделать клиент. может подключишься к разработке?
кратко прокомментирую еще одну вещь: рефлинки уже сейчас можно автоматически начать показывать и сбить все посты в один уровень, без лесенки. могу позже включить это как еще одну опцию отображения треда. но даже без этого если возинкла трудность в понимании - на какой пост отвечает конкретный пост - нажми на ответы "конкретного" поста и на странице поста нажми "вверх" - ты увидишь этот самый пост на который отвечает "конкретный".
у меня времени не много, поэтому приоритеты сейчас такие:
- серьезные баги делающие работу с нанобордой невозможной (таких пока, кажется, хвала Аллаху, нет)
- повышение эффективности алгоритма упаковки в контейнер (тут понадобится хранить больше служебной инфы о каждом посте, и, возможно, тут и начну использовать sqlite чтобы окончательно не утонуть в текстовых файликах)
параллельно хочу выпустить отдельные тулзы для использования сторонними разработчиками:
1) скачиватель картинок с тредов, использующий 2 списка - "адреса тредов" и "уже скачанные url картинок", просто кладущий картинки в нужную папку и обновляющий второй список
2) распаковщик пнг-контейнера - принимает на вход путь к картинке и имя файла куда сохранить JSON объект с массивом нанопостов
3) упаковщик пнг-контейнера - принимает на вход путь к картинке-оригиналу и к JSON объекту с массивом нанопостов а также путь по которому сохранить контейнер. (соглашение тут предлагаю - не больше 256 (точное число можно обсудить) постов на контейнер (обычно редко даже 100 постов влазит) - ради борьбы с возможным засиранием).
наличие этих трех программок позволит кому угодно пилить свои, независимые от основного, клиенты и совместимым образом использовать тот же транспорт что и у основного клиента - пнг-контейнеры в АИБ-тредах, а для базы, сортировки, показа и прочих фичей - свои собственные наработки.
>Как все сложно. ОП, бампы, множественные ответы, две базы с видимыми постами и для рапространения.
Я про внутренности же, про код. Снаружи оно как было так и останется, я ведь не предлагаю убрать древовидность вообще.
>>16840
И что делать с тредом на 300 постов который благодаря отступу "10 пикселей на ступеньку" уехал в право на 3000 пикселей?
>>16841
>как минимум в Internet Explore
Это конечно печально, но я бы оставил это на совести создателя поста. Вообще это получается что-то типа этикета - не запиливай огромные посты, не "воруй трафик". Но возможность всё же должна быть.
> может подключишься к разработке?
Я этот ваш сисярп не знаю и разбираться не хочется. А вот если бы ты отделил представление от логики, вот это было бы хорошо.
Во-первых: нагуглить какой-нибудь шаблонизатор по типу того же Handlebars чтоб весь имеющийся html лежал в отдельной папке в tpl файлах и его можно было бы спокойно править (и не пересобирать весь наноборд, а просто жать f5 в браузере).
Во-вторых: научиться сервить файлы из папки. Те же цсс, жс, картинки для оформлений. Только аккуратно, чтоб из этой папки было не выйти.
Вот тогда очень много можно было бы сделать чисто "на стороне клиента". И пуллреквесты проще оформлять.
>могу позже включить это как еще одну опцию отображения треда
Вот это правильно. Пусть будет такая опция - кому лесенка, а кому плоский тред. По вкусу.
> упаковщик пнг-контейнера
А вот это годно. Можно будет быстренько накидать генератор который берёт рандомные 256 постов из базы, генерит на них по одному короткому ответу "хуй" и собирает это всё в контейнер. Потом процедура повторяется только у сообщений уже новый таймстемп. Генеришь так по паре картниок для каждого треда из плейсес и заливаешь всё на борды.
Ну или можно не так примитивно, а скачать пару сотен json файлов из /b/, распарсить их и вместо "хуй" отправлять посты оттуда. Вообще от души будет - хер антиспам правило напишешь.
Вообще, по поводу контейнера: сделай шифрование опцией. То есть шифруй контейнер только когда пользователь это дело включит сам. А по дефолту пусть шифрования не будет совсем.
И ещё добавь такой вариант передачи как zipjpeg - любой джпег плюс зипак в котором уже файл с постами. Такой вариант можно использовать на дружественных к нанопостерам бордах передавая и сообщения большой длинны и ретранслируя посты по максимум.
>Как все сложно. ОП, бампы, множественные ответы, две базы с видимыми постами и для рапространения.
Я про внутренности же, про код. Снаружи оно как было так и останется, я ведь не предлагаю убрать древовидность вообще.
>>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) Добавлена встроенная поддержка ФРАКТАЛЬНОЙ МУЗЫКИ. То есть можно будет писать формулы из пикрелейтед и сочинять свои.
кто хочет поиграть с созданием фрактальной музыки, вот тут удобно это сделать:
https://jsfiddle.net/jyb2ndzu/6/
Извиняй, кривые руки, формулу неправильно написал, все работает. Может укоротить до двух минут или полутора, чтобы качество получше было?
вин10, хром
Качество тут к сожалению никак не зависит от размера, в памяти генерируется WAV. Это 8-битный звук с частотой дискретизации 8000.
Новые версии:
1.6.1 - возможность добавлять несколько плееров фрактальной музыки в один пост (можно было и в 1.6.0 но теперь есть корректная обработка)
1.6.2 - запоминается стиль выбранный пользователем между выключениями/включениями сервера
https://jsfiddle.net/jyb2ndzu/1/
формула редактируется в 62-й строчке.
длительность в 61-й.
на наноборде (и в большинстве подобных проигрывателей) разрешены символы ()t0-9a-fxA-F|><!%:^&.\-+/?=~]+ и звездочка
Самая легко-редактируемая формула.
>можешь сам качнуть с jquery.com, jqueryui.com
Ты не понел. Я указал именно на .min.js — они обфусцировнаные. Можно было закинуть обычные, развёрнутые, всё равно у них ничтожный размер по сравнению с остальным содержимым.
>>16841
>из релиза дефолтные правила уберу, пусть люди сами настраивают по желанию
Молодец.
>>16852
>встроенная поддержка ФРАКТАЛЬНОЙ МУЗЫКИ
Не молодец. Уже сейчас наноборда превратилась в децинаноборду и теперь потихоньку движется к килонаноборде.
Если хочешь пилить васянства, пили их в виде плагинов.
Ты не вкурил что такое фрактальная музыка. Там целый трек может занимать 100 жалких байт формулы.
алсо треки могут быть оче красивыми и мелодичными и не монотонными то есть со сложной мелодией и сменой основы и при этом короткими и без хаков с тернарным оператором. надо только поискать. жаль я проебал свои формулы на другом компе.
Не разделяй двоеточием, лучше возьми первые 9 символов. И поставь рефлинк под заголовок, так естественнее выглядит.
А ещё я тут написал свой пакер/анпакер твоих пнгешек и люто взбугуртил от формата.
Я считаю что лучше сделать так: перед каждым сообщением вставлять его длину в виде тех же 6 символов. У тебя получится тогда "потоковый" формат который ты сможешь читать по одному сообщению. И записывать тоже по одному.
Насколько я понял у тебя там есть такая фигня как потоковый гзип (про него чуть позже). То есть ты сможешь взять врайтер этого гзипа и запихивать в него по одному сообщению вычитывая с него запакованные данные. При этом ты можешь проверять что например до конца контейнера остался килобайт и тогда либо попытаться впихнуть туда ещё один килобайтный нанопост или закрыть стрим окончательно.
А то я тут смотрю что у тебя пнгшка с капасити 100к вмешает всего 60кб пожатых постов.
Про гзип: используй rawDeflate (надеюсь такой есть) заголовки гзипа тут не нужны.
И шифрование реально убери, пусть это будет опция которая врубается пользователем. А для всех остальных пусть её не будет вообще.
Ну и да, ещё было бы неплохо после размера контейнера внедрять два байта. Первый равен версии контейнера (типа 1). Второй для битовых флагов - пока можно COMPRESSED и ENCRYPTED.
Ещё у меня были мысли по самому формату нанопоста, я бы там парочку моментов бы чуть ужесточил, и кой чего чуть-чуть добавил (с сохранением совместимости конечно). Но это я наверное потом распишу как-нибудь. А то спать уже хочется.
>целый трек может занимать 100 жалких байт формулы
И что с того? Давай тогда ещё генератор графических фракталов въебём, там целая бесконечная картинка может занимать 100 жалких байт формулы. Какое это имеет отношение к нано-, подчёркиваю, наноборде?
> шифрование реально убери, пусть это будет опция которая врубается пользователем. А для всех остальных пусть её не будет вообще.
и какой профит тогда от нанобороды?
Пускай будет музыка, анон хоть самодеятельностью займётся.
наномузыка же. я бы еще проигрыватель трекерной музыки встроил. по-моему у таких вещей как раз больше отношения к наноборде чем недавно добавленная возможность встраивания вебмок и хайрезов с рыгоста.
и встроенный генератор фракталов - тоже идея заебись, только коротенький seed передавать в теге надо
>больше отношения к наноборде чем недавно добавленная возможность встраивания вебмок и хайрезов с рыгоста
Ошибаешься, ровно столько же: ноль.
Что за теги,зачем?
Как будто тебя заставляют её сочинять. С фрактальной музыкой хоть привлечём любителей давить прыщи мокрых писек.
Мимо создал категорию 'Выживание'.Позавчера.Уже в верхнем списке у всех,или только у меня?
Оно с первых дней было. Твой пост-доска внизу, с остальными, не одобренными ОПом: аниме, бб+, обсуждение других бород и зафейлиная шрифтами японская культура.
Все по чуть-чуть, лучше помоги.
на кучу файлов уже открыт issue:
https://github.com/nanoboard/nanoboard/issues/8
категории можно и в обычном блокноте поправить просто вручную расставить переносы.
>>16946
сработает
микс тоже должен сработать
только вот пустых строк быть не должно
Ох, заебись. Но все равно интересно, как поставить "CR" в блокноте++?
Ололо блять.
> Оставь везде один LF
Это я знаю как сделать - Enter.
>допиши везде CR
Как?
>И сохрани файл два раза c BOM и без.
Даже не представляю что это.
Первый способ не помог.
Они не выделяются.
Отчасти помогло, хоть все ссылки заработали, но что-то со шрифтами.
Потому что после каждой строчки CR LF.
Это относится к notepad++, я угадал?
Я делал пикрилейтед. Спасибо большое за помощь, все заработало!
Да, я в курсе, что это развяжет руки вайперам, но, надеюсь что не только им, а еще и разработчикам альтернативных клиентов Наноборды.
Тулза на моно, на винде от 7ки и выше будет работать нативно, на ХР - после установки дот-нет фреймворка 3.5, на Линукс/ФриБСД/Макось - после установки пакета mono-runtime. У кого все же возникнут проблемы с запуском - пишите, помогу
Но вообще не стоит так паниковать - достаточно было в том же блокноте поудалять лишние символы и проставить переносы врунчую, либо в Notepad++ не включать никакого показа спец-символов а добиться чтобы визуально все было ок - никаких пустых строчек, переносы и тд.
И еще одна комманд-лайн тулза - скачивает пнг-шки из тредов указанных в places.txt и кладет их в папку download. downloaded.txt используется чтобы не качать по 2 раза одну и ту же пнг.
Как и предыдущую можно скачать со страницы релиза, исходники и бинарник внутри.
Теперь, уважаемые несуществующие разработчики сторонних клиентов, у вас есть все (и даже больше чем нужно - парсилку тредов написать на чем угодно очень легко) для старта разработки совместимого альтернативного клиента.
Удачи!
да нет, я пока в деле
А какой профит от шифрования которое сделано вот так:
https://github.com/nanoboard/nanoboard/blob/master/Misc/ByteEncryptionUtil.cs#L34-L38
А "ключ" от контейнера лежит вообще вот тут:
https://github.com/nanoboard/nanoboard/blob/master/Png/PngStegoUtil.cs#L20
Да и в вики про это дело написана вот такая мысль:
> дальше можно отделяться в отдельные зашифрованные Наноборды (что нежелательно но иногда может быть необходимо)
Это действительно не желательно - какой профит иметь пачку мелконаноборд запароленных, где скучает по два с половиной анона в каждой, вместо одной более-менее живой и нешифрованной наноборды?
Возникнуть необходимость может, и вот такие аноны себе спокойно в настройках укажут секретный пароль и шифрование включится. А вот для общей это смысла не имеет.
К тому же в будущем можно будет шифрование переделать. И это не сломает совместимости со старыми нанопостами (где шифрования нет) или с другими клиентами (которые шифруют по своему или воовсе не стали это реализовывать).
>>16983
Ты бы обратил внимание на то что я тут >>16895 написал про формат контейнера.
профита может и нет но его наличие сейчас никому не мешает (алгоритм довольно шустрый)
>Ты бы обратил внимание на то что я тут >>16895 написал про формат контейнера.
я обратил внимание и принял к сведению. потоковость - не вижу проблемы прочитать заголовок с размрми, он все равно маленький, а дальше читай потоково.
гзип вообще убрал бы, от него пользы не очень много а алгоритмы усложняются.
да, стоит внедрить номер версии, я даже придумал как это сделать с сохранением совместимости - первые 6 байт это utf-8 шестандцатиричного количества постов (000000 - ffffff), так вот там вначале гарантированно 00 потому что не влезет туда столько постов.
я бы сделал такой альтернативный формат:
байт версии (в нём же и 2 бита флагов шифрования и сжатия)
3 байта длины блока данных
блок данных:
utf-8 байты строчки JSON с массивом постов (без индентации)
и пользовал бы пока вариант без сжатия (так проще подобрать посты в контейнер)
а нет не выйдет сохранить совместимость - там же пожато и зашифровано. придется искать заголовок нового формата и если нету - пытаться прочитать старый.
>профита может и нет но его наличие сейчас никому не мешает
Дело не в том что мешает или там тормозит. Дело в том что когда-нибудь придёт время и эта опция станет действительно актуальной. Оставь себе немного "места" где можно будет начать маневрировать если вдруг чё.
>гзип вообще убрал бы
А вот это не надо. У тебя все данные в LSB и вместимость там фиксированная, с зипом в картинку будет влазить больше.
Я потому и предлагаю тебе избавиться от "заголовка" и сделать всё в поток. Так у тебя легче получится забивать контейнер под завязку в один проход. Если у тебя вдруг окажется ещё место на пару нанопостов, тебе не придётся откатывать всё заново чтоб пережать заголовок, ты просто дожмёшь эти два поста в контейнер и спокойно его закроешь.
>>16993
Этот кусок придётся переделывать. Лучше переделать сразу и так чтоб потом конкретно с этой опцией можно было бы спокойно играться не ломая в очередной раз совместимость всей борды для всех.
Я не могу.
Если кто-то создаст свою мелкобороду с помощью нанобороды, то это не проблема, потому что об этом никто и не узнает. Хочешь отменить шифрование? Зачем нам тогда по пикчам распылять, давай просто на харкаче сидеть?
Опенсурус жи))) безапасна на виртуалке запускай
>>17003
Стюардессы или не стюардессы, а я вчера немного оплошал, попытавшись настроить самостоятельно.
Шифрование пикч и постинг пикч это разные вещи. То что сейчас постят пикчи шифрованные единым ключом который знают все это то же самое что и постить пикчи не шифрованные никаким ключом. От этого мало что меняется. Тот хуй предлагает выключить шифрование по умолчанию и позволять юзеру самостоятельно включать шифрование и задавать ключ когда ему это понадобится.
В том и дело, что вообще ничего не изменится. Нахуя, спрашивается, жопой прыгать с пня на пень? Потеряем только 400 нанопостов, профитов никаких от этой идее, потому что сейчас и наноборода полностью открыта, а ключ можно менять в любой момент. То есть, блять, ну вообще ничего не меняется.
Ты слишком глубоко воспринимаешь.
в 1.6.7 добавлена форма быстрого ответа. только что потестировал - работает. не обновляет страницу после постинга (приходится вручную обновлять). цвет фона формы вырвиглазный. теги хотелось бы чтобы брало вокруг выделенный текст. а так очень даже норм.
Просто почти все ридонли.
ФМ забыл.
1.6.10 - починено
Инвайт как достать?
после улучшения кнопок форматирования ресайз стал бешеным пришлось отключить
Я думал самоочищение работает обычным образом. Доска, на ней 10 страниц, на каждой странице по 10 тредов. 101 тред удаляется.
Впрочем предлагаю решать проблемы по мере их поступления.
Сейчас у меня 627 постов и переполнение не планируется в ближайшем будущем.
как разработчик сообщаю:
текущая бд окончательно наебнется примерно на 100 тысячах постах (и уже примерно к 10 тысячам старт и завершение сервера будут занимать больше минуты). оттягивать конец может помочь регулярная чистка ненужных тредов.
новая бд уже запилена (сегодня последние правки вношу) и я ее пущу в 2.0 версию (которую уже начал пилить). на ней можно будет с приличной скоростью и минимальным потреблением оперативы работать с базой в пару миллионов постов. кроме того в 2.0 код будет чище, хтмл/жс/цсс отдельно в обычных файликах, сишарпного кода по минимуму. дату выпуска 2.0 пока назвать не могу, 1.6.* продолжу поддерживать по серьезным багам.
с формой быстрого ответа плохо вышло. на хроме не хочет драгаться и обновлять/скроллить страницу. с последним попытаюсь справиться.
>с формой быстрого ответа плохо вышло. на хроме не хочет драгаться и обновлять/скроллить страницу. с последним попытаюсь справиться.
1.6.13 - всё починил
хз где ты там 1.3.4 видишь ее уже давно нельзя скачать. качай dev версию просто и все
по этой ссылке можешь проверить какая версия сейчас выложена:
https://raw.githubusercontent.com/nanoboard/nanoboard/master/App.cs
пруфы?
Сервер nboard_1.5.9-dev // Время генерации: 0 ms // Постов в базе: 380
Где вы берёте 1.6.13 и далее?
Он просто намекает на Кристен Стюарт
Если это правда, то можно только уважать эту тян, потому что никакого вниманиеблядства и круг интересов не соответсвует быдлостандартам. Но это не тян.
Мощность волн, которые
используются в микроволновке, уже
давно будоражит моё сознание. Её
магнетрон (генератор СВЧ) выдаёт
электромагнитные волны мощностью около 800 Вт и частотой 2450 МГц. Только представьте, одна
микроволновка вырабатывает столько излучения, как 10 000 wi-fi роутеров, 5 000 мобильных телефонов или 30 базовых вышек мобильной связи! Для
того, что бы эта мощь не вырвалась
наружу в микроволновке используется двойной защитный экран из стали.
https://habrahabr.ru/post/239321/
А потом уже реально будут жаловаться соседи,как в анекдоте про невключенную вышку не отмажешься
Почему черный квадрат на выходе получается? Загрузил в папку containers изображение жпег
Но ведь он дохуя весить будет
медленно-интернет-кун
В деревне построили вышку сотовой связи. Через месяц население подало жалобу, что дескать головные боли, ухудшение самочувствия, бла-бла-бла.
Ответ от директора был простым: «Это все фигня. Вы только подумайте, что будет, когда мы ее включим!»
Чтоб ломать тебя полностью.
Я про пнг, вот у меня есть двух-трёх метровые, можно же больше в них инфы засунуть, чем в те, которые по 700кб.
Два чаю
Таки годно, больше безумия!
ну завтра могу попробовать под 32х битный дебиан8 сбилдить.
это ты просто так сказал, от нехуй делать, да? uuencode жирнее и уродливей. и потом все равно для браузера в base64 переводить придется.
Так как наноборда считает размер в символах, а не байтах, то самый сок будет использовать base4096. Можно будет впихнуть 94кб данных в пост размером в 64к символов.
http://kvanttt.github.io/BaseNcoding/
что значит "вроде"? он может в некоторых случаях быть таким же как base64 но никак не меньше. base64 есть практически везде и отходить в сторону какой-то экзотики без реальной выгоды (да еще и с усложнением спецификации наноборды как последствие) это просто тупость
uuencode - 60%-75%
base64 - 75%
ascii85 - 80%
в версии 2.0 (которая не за горами) размер так же будет считаться по байтам, единственное изменение: лимит повысится до 65536 (округления ради).
да
так и было же 65000, подумаешь на 536 байт больше стало.
в среднем контейнере 2 таких поста спокойно можно передать.
Я вот тоже не понимаю этого ограничения. Какое-то оно синтетическое. Ну приложишь ты картинку на 30кб, твой пост уже в ретрансляцию не попадёт потому что больше 16к. И какая тогда разница на 30кб была картинка или на 300кб?
При этом наноборда могла бы обрабатывая мессаджи палить что картинка очень большая, сохранять её на диск в особую папочку "./res/" под именем sha256(file)+extension и уже выводить её не как data url, а прямо так и подставлять типа:
<img src="/res/9c6144640691b0dbf9f8ace3d424dd4e.jpeg">
и тогда уже пофиг на сколько там картинка, на 5кб или на 5мб.
есть же поддержка раржпегов. пакуешь свою картинку в рар с разбиением на кусочки по 47кб и отправляешь по очереди.
попроси ОПа увеличить размер постов до 640Кб (470Кб картинки будут). 640Кб уж точно хватит всем. хотя, по-моему это будет перебор и изнасилование наноборды.
стоит взять за правило отправлять превьюшку в виде 47кб картинки вдобавок к ссылке на хайрез
в 2.0 это будет разруливаться сервером
Этот процесс можно было бы облегчить, если бы после создания контейнера выскакивал диалог который по клику копировал бы в буфер обмена полный путь до созданного файла. Потом его можно просто вставить в любую форму - не фонтан конечно, но уже легче чем искать где там этот файл лежит (а их там уже сотня могла скопиться в этой папке, пойди ещё найди сразу какой тут новый).
нет, это лишнее, достаточно вызвать стандартный диалог сохранения файла, это можно сделать во всех современных браузерах. в старом говне можно открыть картинку в новой вкладке чтобы пользователь сам щелкнул правой кнопкой мыши и выбрал "сохранить как"
Ты не понял. Эта фича копирует путь до файла, типа "g:\nanobord\upload\14124152351241.png"
И вот ты идёшь на борду, жмёшь там кнопку "добавить файл", открывается диалог, ты жмёшь ctrl+v и enter. Всё, картинка добавлена к посту, можно отправлять.
Эту феньку можно сделать прямо сейчас, а не ждать пока наноборда научится постить сама.
1.6.х уже вполне можно пользоваться, а в 2.0 можно будет продолжить постинг в те же треды
тогда уж надо сделать так, что когда хочешь запостить здоровый файл/картинку, то создаешь торрент раздачу и её магнет вставляешь в пост. Борда же у юеров по магнету подгружает фотку/файл
торрент-клиент на гитхабе есть консольный на c#
раздающих, а не только раздающего...
6,4 мб.
Наноборда есть паразитом.
Не надо торренты привязывать к нанобороде. Все таки она нацелена на анонимность. Лучше ргхосты используй.
чего? постинг и сжатие пикч реализовано бери да пость, а рядом - ссылку
Сервер nboard_1.6.24-dev // Время генерации: 58 ms // Постов в базе: 657
это какой-то мамкин хакер пытался вставить код но обосрался
если ты про треды в /б/ с текстом типа document.create то у тебя все ок, так и должно быть. там переносы строк в формуле поэтому не прошло. если бы прошло то опасные слова типа document, script, create повырезались бы
Вот этого удвою.
Я вообще думал что в 2.0 можно было бы сделать что-то типа джавскриптовых плагинов из тиниборда. Захотел - включил всё подряд. Не захотел - оставил чистую борду.
Добавить бы ещё тег для аттача любых файлов, а не только картинок, и всё остальное можно на жс-е сделать.
Нит. Ну, хотя бы оставь сделай версию полностью на html(посты можно выдавать с какого-то sqlite + diff-ы, наверное). И раздели на консольные программы: генератор картинок, упаковщик, сжиматор картинок и другое, и запускай это. Вот это философия Unix.
Just for lulz.
Ты бы nbpack сделал отдельным репом у себя в профиле, а то не сразу нашёл его у тебя
А во вторых: он не работает
> {"posts":[]}
Пробовал exe запускать из zip'а, билдить сам - результат один.
Проверял пикрелейтед
А нет, надо не файл с ключом пихать в него, а сам ключ. Теперь всё ОК.
Я там запуллреквестил тебе поддержку *.jpg контейнеров, отревьюй.
Иди почитай уже.
2.0 сейчас практически весь на html/js/css, даже сжималка картинок. серверная часть на шарпе занимается только предоставлением доступа к базе постов, к файлам (к этим самым html/js/css) и к хранилищу параметров. упаковщик/поисковик контейнеров пока не прикручивал.
сейчас занимаюсь дописыванием html/js/css части, сервер/база/конфиг готовы. в общем не за горами релиз 2.0.
наноборда не зависит от пнг-контейнеров, посты можно передавать и в другом виде.
Чтото не увидел нигде описания принципов работы.
Есть ли они где(кроме иди читай сорцы)?
А какие тебе нужны принципы?
Скачиваешь новые посты, отвечаешь, генеришь PNG, постишь в один из зарегистрированных тредов.
Остальное вот здесь:
https://github.com/nanoboard/nanoboard/wiki
https://github.com/nanoboard/nanoboard/wiki/Наноборда
https://github.com/nanoboard/nanoboard/wiki/JSON-Api
Из вики "нет единого сервера". Это как так?
Тоесть методика подкачивания новых постов основана на UDP широковещательном адресе? и никто не знает найдут ли два дяди из разных деревень друг друга?
Нет, никакого широковещания и других p2p технологий.
Просто PNG контейнеры, в которых хранятся посты, связанные цепочкой со своим постом-родителем.
Два дяди найдут друг друга, если у них список places одинаковый (места, что внизу страницы в борде)
тоесть в place хранятся IP всех участников этого треда? и этот список раздается всем участникам треда?
да заебал мозга ебать.
Тебя спрашивают как дяди находят друг друга.
Дядя делает новый пост. ЧТо происходит у каждого из участников если нету сервера?
newpost.SendToAllIPNewPostEvent(MYIP);
у них checknewpost.CheckNewPost()
или
newpost.SendToAllIPNewPost(PostWithMyIp);
КАК БЛЯТЬ И ГДЕ ХРАНЯТСЯ IPEndPoint 'ы
Айпишники здесь не при чём. Борда находит цепочки постов, участники не соединяются между собой, а только с бордами.
Я не знаю как ещё объяснить, это как переписка на парте
>17316
Ясно, так и надо было написать, что методика ничем не отличается от юзкейса
1) Зашифровал в своейпроге
2) принес на диски | выложил на файлопомойку | переслал другу
3) расшифровал в своейпроге
надеялся на полную отвязку от вебов(программа как единое звено), полную автоматизацию и полную дцнтрлцю.
В основе который отлично ложится технология p2p(части торрентов) + широковещательные адреса.
Чтото типа для не запрещенных: всё публично аля торренты.
Для запрещенных есть шифрованная куча, куда все пишут свои байты и она перемешивается, и только зная аля пароль можно из этой кучи выдернуть цепочку байтов, но кто из N конечных адресов записал именно эти байты в кучу будет неизвестно.
Оо чувак про кучу ты гений.
Ты прогер? Надо докрутить идею, и собрать группу. Это же возможно будущее ?
>>17321
Бро если подумать то то у тебя палевней технология.
Смотри он говорит об:
Даже если как то заснифить канал загрузки в кучу, то информация есть только о:
этот IP залил какие то байты в кучу. ВСЁ.
У тебя:
после расшифровки PNG, поняв что это алерт! можно выследить кто же залил этот PNG на борду.
У него:
ты слил из кучи нужный кусок и он не равняется тем байтам которые заливали.
То есть если срочно в космос, то всех кто заливал в кучу.
Что-то я потерял нить разговора. При методе ОПа у злоумышленников даже не будет IP, а посты и так шифрованы. Да и что ты там извлечёшь кроме JSON'а?
А XSS сразу вырезаются из поста, и ты фактически не сможешь сделать подлянку на стороне клиента. Кстати ОП, насколько это правда, какой модуль глянуть?
Я гагарин приказали срочно в космос.
ОП:
Расследования можно начать кто (какой IP) залил контейнер.
Пацан с кучей:
Расследования невозможно начать, т.к. что можно выяснить это все IP кто заливал в кучу, не более.
1) сопоставив время ты узнаешь что какой то IP залил какие то байты в кучу. Невозможно что этот контент соответствует этому посту.
2) пацан говорил о p2p и широковещании
>какой то IP залил какие то байты в кучу
Вот кстати искал рабочие примеры DHT, да не нашёл ничего толкового. На вики одна общая инфа. Разве что только исходники Twister разбирать. Кстати кто-то пользуется?
>А XSS сразу вырезаются из поста, и ты фактически не сможешь сделать подлянку на стороне клиента. Кстати ОП, насколько это правда, какой модуль глянуть?
Не совсем правда. Пока ещё по кнопке "Сгенерировать" от фрактальной музыки код инжектится и выполняется. Хорошо что только по нажатию, а не как раньше при открытии страницы.
Смотреть тут: https://github.com/nanoboard/nanoboard/blob/master/Server/Handlers/ThreadViewHandler.cs#L262-L285
Есть такое дело. Лучше бы Sonant прикрутил вместо этого. Ну или просто любой плеер трекерной музыки, их вроде несколько есть.
Можно ещё DND кубики, чтоб модулять.
после того как скрипт покоцан этими заменами он уже никакой злоумышленнической пользы не несет, разве нет?
>Расследования можно начать кто (какой IP) залил контейнер
И всё таки, для этого потребуется доступ к серверу, спецслужбы смогут это.
> Расследования невозможно начать, т.к. что можно выяснить это все IP кто заливал в кучу, не более.
А при p2p это сможет сделать даже обычный хацкир. А спецслужбам неважно, они просто будут всех под одну гребёнку ловить.
Эти автозамены похожи на наши блокировки. Вроде бы заблокировали, а всё равно кому надо спокойно обходят.
Вместо шуточки про "всю твою базу" можно подтянуть эксплойт на каком-нибудь флеше/джаве, который тебе троянчика залил бы. Короче, возможен весь тот букет радости которую можно поиметь если кликать на всё подряд на подозрительных сайтах.
изначально там была очень строгая регулярка не допускающая ничего кроме собственно мат.формул, дальше пошло послабление ради поддержки некоторых "хитов".
в принципе есть смысл вернуться к строгой формуле потому что все равно на C эти хитрые формулы не сработают, то есть не "кросс-платформенно".
Может замутить аналогичное?Естественно,после добавления всяких мессенджеров.Алсо,Jabberx(?),делай в программаче тред,пускай кодят всякие плюшки и ништяки
а как ты думал, нам догадываться нужно?
>>17320
если тебя так напрягает javascript то с нанобордой можно работать и не из браузера. делаешь локальному серверу запросы: чтение постов, создание постов, а визуализируешь и пакуешь своими способами (можно, например, свой генератор статических html страниц с тредами без джаваскрипта запилить или вообще оконное приложение как было в версии 0.1). отдельный паковальщик есть. все это резко снижает удобство, поэтому всем не надо это советовать.
чем плохо p2p:
- палевный трафик. то есть у тебя p2p трафик, он палится. его много, он жирный. если его запретят то тебе надают по шее.
- плохой контроль трафика. через тебя идет чья-то информация. могут обвинить в распространении только на этом основании.
(на Наноборде при использовании пнг-контейнеров чтение практически беспалевно - картинку могут скачать дохуя людей просто чтобы посмотреть и только некоторые будут ее распаковывать как пнг-контейнер, а запись в контейнер вызывается вручную когда ты скажешь и в контейнер попадут только те посты, которые ты не удалил)
(постинг пнг-контейнера смежен с презумпцией невиновости - ты мог просто не знать что внутри контейнер, то есть тоже в принципе неплохая маскировка)
(кто-то может скачать твой контейнер и репостнуть через, скажем, неделю в схожем треде не подозревая, что тред подложный, а картинка - с контейнером).
- зависимость от того включены ли компы у других участников
(на Наноборде ты оставляешь контейнер в одной из АИБ и его позже могут качать другие люди даже если ты умрешь и все другие участники наноборды умрут и появится новый участник - этот участник первый раз включит клиент и увидит ваши посты, потому что они по сути на реальных публичных серверах)
- палево IP адресов участниками. то есть другие люди (майоры, кто угодно) видят твой IP.
(с Нанобордой только админы/модераторы имиджборд видят твой IP)
(под нужды Наноборды используются сразу несколько имиджборд и с учетом того что участники ретранслируют чужие посты - тем, кто захочет кого-то гарантированно вычислить придется контактировать сразу с несколькими админами и перелопачивать кучу контейнеров/IP адресов. а ведь ты мог просто запостить контейнер из под прокси/тора(не на всех бордах)/впн. если ты какой-то криминальный и не дебил то все равно будешь скрывать свой реальный IP)
однако не все так уж плохо с p2p. и Наноборда может паразитировать и на каком-нибудь p2p-мессенджере. главный момент тут - маскировочные действия, то есть ты качаешь клиент якобы для того чтобы початиться в какой-нибудь секьюрной комнате, а на самом деле ты используешь его для обмена нанопостами.
в итоге получается что у твоего компа куча безобидного на первый взгляд трафика: АИБ, джаббер, токс (ну ок, не совсем безобидно но все же НА НАНОБОРДУ ПРЯМО НЕ УКАЗЫВАЕТ).
пилить под Наноборду свой протокол - опять же, никто не запрещает, но с идеологией это уже расходится и как результат - со стороны уже явно видно что ты нанобордист. пусть ты не постишь запретную инфу но ее начнут постить другие и что тогда? ты будешь скачивателем, хранителем и распространителем запрещенной инфы. и по твоему трафику, который научатся детектировать сразу будет это видно. более того такой трафик будет некоторое время уязвимым (если программисты всего этого дерьма не будут Богами не допускающими ошибок)
Надо помнить, что Наноборда - это не "борда на пнг-контейнерах, которую создал некий ОП-хуй". ОП-хуй создал лишь один из возможных клиентов. Наноборда это открытый стандарт. Простой до безобразия формат нанопостов и ничего больше. (Ок, не совсем простой с тех пор как добавили БиБи коды для жирности, курсива и прочего и img тег с base64 изображения - но это не высшая математика, любой школьник справится). Все что нужно участникам для нанобордирования - наладить обмен этими нанопостами. Эта борда принадлежит каждому. Да, писать клиенты для просмотра и поддерживать способы обмена могут только могущие в программирование. Но им нет смысла НЕ делиться этими клиентами. Что касается протокола - у Наноборды намеренно его нет. И никто не мешает сразу несколько протоколов параллельно использовать. А пнг-контейнеры были выбраны потому что это легко (что может быть проще скачивалки картинок из списка тредов?), надежно (нанопосты по сути хостятся на реальных чужих серверах и могут лежать там месяцами если админ не зверюга который доебывается до каждой мелочи, а ретрансляция и диверсификация добавляют еще больше надежности) и достаточно хорошо маскирует (особенно если ты в рид-онли). То есть это такой быстрый старт, толчок, который дал Наноборде жизнь. И если сейчас кто-то продожает это развивать то писать "я буду это сагать" - как-то наивно. Те, кто пишут и будут писать клиенты - ты их не нанимал, поэтому бесполезно и невежливо просить их менять направление своих идей. Не нравятся их идеи, имеешь свои - делай свой клиент, не умеешь - уходи.
Главное для тебя и для всех кто будет делать клиенты - сохранять совместимость. Даже если разные клиенты будут свои мелкие фишки добавлять - у других просто будет непонятный текст (один такой пример - "фрактальная музыка"). Главное чтобы это не приобрело глобальный характер и не присутствовало в каждом втором посте, раздражая всех, у кого она не поддерживатся.
Вот хороший пример - фича обновления списка тредов для постинга пнг-контейнеров, может работать в полуавтомате в клиенте nboard и в ручном режиме в чьем-то другом клиенте, потому что информация читается человеком, а программа лишь добавляет небольшие кнопки возле текста.
а как ты думал, нам догадываться нужно?
>>17320
если тебя так напрягает javascript то с нанобордой можно работать и не из браузера. делаешь локальному серверу запросы: чтение постов, создание постов, а визуализируешь и пакуешь своими способами (можно, например, свой генератор статических html страниц с тредами без джаваскрипта запилить или вообще оконное приложение как было в версии 0.1). отдельный паковальщик есть. все это резко снижает удобство, поэтому всем не надо это советовать.
чем плохо p2p:
- палевный трафик. то есть у тебя p2p трафик, он палится. его много, он жирный. если его запретят то тебе надают по шее.
- плохой контроль трафика. через тебя идет чья-то информация. могут обвинить в распространении только на этом основании.
(на Наноборде при использовании пнг-контейнеров чтение практически беспалевно - картинку могут скачать дохуя людей просто чтобы посмотреть и только некоторые будут ее распаковывать как пнг-контейнер, а запись в контейнер вызывается вручную когда ты скажешь и в контейнер попадут только те посты, которые ты не удалил)
(постинг пнг-контейнера смежен с презумпцией невиновости - ты мог просто не знать что внутри контейнер, то есть тоже в принципе неплохая маскировка)
(кто-то может скачать твой контейнер и репостнуть через, скажем, неделю в схожем треде не подозревая, что тред подложный, а картинка - с контейнером).
- зависимость от того включены ли компы у других участников
(на Наноборде ты оставляешь контейнер в одной из АИБ и его позже могут качать другие люди даже если ты умрешь и все другие участники наноборды умрут и появится новый участник - этот участник первый раз включит клиент и увидит ваши посты, потому что они по сути на реальных публичных серверах)
- палево IP адресов участниками. то есть другие люди (майоры, кто угодно) видят твой IP.
(с Нанобордой только админы/модераторы имиджборд видят твой IP)
(под нужды Наноборды используются сразу несколько имиджборд и с учетом того что участники ретранслируют чужие посты - тем, кто захочет кого-то гарантированно вычислить придется контактировать сразу с несколькими админами и перелопачивать кучу контейнеров/IP адресов. а ведь ты мог просто запостить контейнер из под прокси/тора(не на всех бордах)/впн. если ты какой-то криминальный и не дебил то все равно будешь скрывать свой реальный IP)
однако не все так уж плохо с p2p. и Наноборда может паразитировать и на каком-нибудь p2p-мессенджере. главный момент тут - маскировочные действия, то есть ты качаешь клиент якобы для того чтобы початиться в какой-нибудь секьюрной комнате, а на самом деле ты используешь его для обмена нанопостами.
в итоге получается что у твоего компа куча безобидного на первый взгляд трафика: АИБ, джаббер, токс (ну ок, не совсем безобидно но все же НА НАНОБОРДУ ПРЯМО НЕ УКАЗЫВАЕТ).
пилить под Наноборду свой протокол - опять же, никто не запрещает, но с идеологией это уже расходится и как результат - со стороны уже явно видно что ты нанобордист. пусть ты не постишь запретную инфу но ее начнут постить другие и что тогда? ты будешь скачивателем, хранителем и распространителем запрещенной инфы. и по твоему трафику, который научатся детектировать сразу будет это видно. более того такой трафик будет некоторое время уязвимым (если программисты всего этого дерьма не будут Богами не допускающими ошибок)
Надо помнить, что Наноборда - это не "борда на пнг-контейнерах, которую создал некий ОП-хуй". ОП-хуй создал лишь один из возможных клиентов. Наноборда это открытый стандарт. Простой до безобразия формат нанопостов и ничего больше. (Ок, не совсем простой с тех пор как добавили БиБи коды для жирности, курсива и прочего и img тег с base64 изображения - но это не высшая математика, любой школьник справится). Все что нужно участникам для нанобордирования - наладить обмен этими нанопостами. Эта борда принадлежит каждому. Да, писать клиенты для просмотра и поддерживать способы обмена могут только могущие в программирование. Но им нет смысла НЕ делиться этими клиентами. Что касается протокола - у Наноборды намеренно его нет. И никто не мешает сразу несколько протоколов параллельно использовать. А пнг-контейнеры были выбраны потому что это легко (что может быть проще скачивалки картинок из списка тредов?), надежно (нанопосты по сути хостятся на реальных чужих серверах и могут лежать там месяцами если админ не зверюга который доебывается до каждой мелочи, а ретрансляция и диверсификация добавляют еще больше надежности) и достаточно хорошо маскирует (особенно если ты в рид-онли). То есть это такой быстрый старт, толчок, который дал Наноборде жизнь. И если сейчас кто-то продожает это развивать то писать "я буду это сагать" - как-то наивно. Те, кто пишут и будут писать клиенты - ты их не нанимал, поэтому бесполезно и невежливо просить их менять направление своих идей. Не нравятся их идеи, имеешь свои - делай свой клиент, не умеешь - уходи.
Главное для тебя и для всех кто будет делать клиенты - сохранять совместимость. Даже если разные клиенты будут свои мелкие фишки добавлять - у других просто будет непонятный текст (один такой пример - "фрактальная музыка"). Главное чтобы это не приобрело глобальный характер и не присутствовало в каждом втором посте, раздражая всех, у кого она не поддерживатся.
Вот хороший пример - фича обновления списка тредов для постинга пнг-контейнеров, может работать в полуавтомате в клиенте nboard и в ручном режиме в чьем-то другом клиенте, потому что информация читается человеком, а программа лишь добавляет небольшие кнопки возле текста.
Или вот взять эту статью. Статья дерьмо, пришлось читать пдфку чтобы понять как оно на самом деле. Но я о другом хочу сказать: по тенденциям видно, что просто захуярить себе P2P и не париться скоро будет сложно. Правительства (в том числе наши) потихоньку учатся это все дело вычислять и запрещать. И чем дальше, тем больше будет требоваться маскировка.
Снова о статье - чтобы такое сделать нужно организовать мощные сервера. Кто будет платить/хостить у себя? Где гарантия что их не отключат насильно/специально тем самым обрубив людям возможность защищенно общаться? И вообще там это все для обмена приватными сообщениями, то есть тет-а-тет.
Вообще сейчас если 2 человека между собой где-то в отдельном месте договорятся о едином ключе и пропишут его в своих key.txt, то они смогут общаться на своей собственной Наноборде которую будет крайне сложно обнаружить и расшифровать. И чем больше таких ПАР участников будет появляться и чем чаще они будут менять ключи тем сложнее будет кого-то тут вообще вычислить. Учитывая сильную специфичность Наноборды и бордосферы в целом Наноборда может дать фору даже чатам в плейстейшн играх.
ну, кто-то создал эту категорию (да еще и некрасиво - без тега жирности) не глянув, что такая уже есть. имеет право, свободное общение же, хули. категории полностью под контролем участников. ты можешь удалить эту категорию у себя а можешь наоборот добавить ее в свою шапку категорий чтобы иметь к ней доступ с любой страницы.
>ты будешь скачивателем, хранителем и распространителем запрещенной инфы
А сейчас это разве не так? Вот придут к тебе серьёзные дяди с погонами и паяльниками, а у тебя на диске Цэ лежит база наноборды в которой запрещённые стихи Айвазовского. И графические изображения ЦП-трапов в разрешении 320х240.
Даже хуже чем с фринетом выходит - там ещё хоть как-то можно придуриваться что ты не знал что тебя так используют и вообще у тебя нет ключей от тех ста гигов дерьма которые клиент фринета тебе в сторадж накачал.
А они такие - Ололо, гражданин! А вот вы на форуме тусиэйч.эйчка 30 февраля в 23:50 разместили картинку в которой был наноконтейнер и первое сообщение в нём было тоже написано 30 февраля в 23:48. А ещё в том контейнере были стихи Айвазовского и запрещённые графические изображения. Распространяете, значицца, да? Пойдёмте в суд, будем вам тюрьму оформлять по статье.
Какая разница как это работает если тащмайор в курсе дела. Доступ к айпишникам у постов на бордах есть. Клиент наноборда можно поставить и собирать инфу кто что постит. Связывай это с айпишниками постов на бордах и вот тебе всё тоже самое. Даже не надо быть СверхСекретнымАгенством с бэкдорами в RSA и квантовыми компьютерами в недрах гор - лейтёха энтузиаст может этим заниматься сидя за офисным ПК где-нить в обшарпаном кабинетике в районом отделения милиции.
Вот только всем насрать. А сириус бизнесменов вон и через БитМессадж пропущенный через тор ловят. Причём тоже в одно рыло и на офисной пеке.
про p2p и "борду на пнг-контейнерах" абзацы надо в вики занести, ящитаю
А вот бы ещё кто альтернативный клиент запилил бы, вообще сказка была бы! И поддержку рыгхоста с дропбоксом.
Ты не забывай, что в источик должен иметь возможность постить любой человек и должна быть лента новостей. Иначе своим дропбоксом сможешь пользоваться только ты, и никто не увидит твоих обновлений и контейнеров без ленты
Дропбокс можно зашарить, а наноборд должен уметь таскать файлы с папки на диске.
Было бы интересно посмотреть как например один чел собирает посты с одной борды и из общей папки и туда же свои контейнеры распихивает. И другой чел из этой же общей папки посты берёт и по двум другим бордам распихивает. Хэнд-мейд пыр-ту-пыр а-ля "сникернет".
>не совсем простой с тех пор как добавили БиБи коды для жирности, курсива и прочего и img тег с base64 изображения - но это не высшая математика, любой школьник справится
Ага, проблема в том, что эти свистоперделки даже не упомянуты в спецификации, да и вообще, «спецификация» далека от полного описания работы.
Предположим, я захотел запилить свой клиент с блекджеком и шлюхами на няшном C++. Целевая аудитория не так уж и велика, поэтому я, очевидно, захочу сделать его совместимым с текущими постами и, как следствие, с твоей реализацией.
И вот я сажусь, читаю https://github.com/nanoboard/nanoboard/wiki/Наноборда , думаю «О, как просто! Сейчас забабахаю».
Потом читаю тред и такой — блядь, что за хуйня? Какие категории? Какие теги? Какая в пизду фрактальная музыка?
В итоге я стою перед эскобаровским выбором: либо рыться в твоём коде, копируя все особенности реализации, либо отказаться от совместимости и получить абсолютно отдельную борду с тремя с половиной анонимусами.
в некоторых случаях при одинаковом с жпегом весе дает заметно лучшее качество фотографий.
настроечка sharpness позволяет сохранить детали и иногда по весу это обходится даже дешевле чем повышение quality
А, забыл третий вариант: реализовать всё «на отъебись» и выкатить продукт, в котором теги и музыка отображаются как есть, а категории — в виде обычных тредов или как они там представлены.
ты совершенно прав стоит BB-коды и img теги с base64 добавить в спецификацию. стоит также добавить и хэш корневого поста для категорий чтобы от него все клиенты начинали показ борды.
скоро добавлю
Нано-сть наноборды: 40 нанобордиков.
а фрактальная музыка, кнопки + - возле ADD ссылка коммент это такие перделки которые можно оставить вне спецификаций
Нет, нет, не
>стоит BB-коды и img теги с base64 добавить в спецификацию
а
>абсолютно необходимо добавить исчерпывающее описание работы клиента в спецификацию или перестать называть её спецификацией и надеяться на альтернативные клиенты
всё просто:
все категории (хэш такой-то)
|
v
категория N
|
v
тред <--- вот отсюда надо начинать разворачивать
Вот, всё верно.
Я бы советовал бы ужесточить формат сообщения. И отказаться от ббкодов в пользу маркдауна/вакабамарка. Заголовок поста тоже описал бы хардкорно. И описал бы всего три тега-расширения: [ img= ], [ file= ] и [ app= ]
И вот это обозвать минимумом. всё остальное уже дело каждого. Хочешь сделать фрактальную музыку? Вот тебе тег app - в него и записывай формулу.
>>17374
>шинкуфаг вроде бы знает как заставить все браузеры поддерживать этот формат, если это так - отзовись
С чего ты вообще взял что я шинкуфаг?
ВебП и БПГ уже поддерживаются почти во всех браузерах скриптом. Даже некроопера их отображает, хотя и кряхтит при этом.
нельзя делать один клиент эталоном всего. мы так будем зависеть от решений одного человека типа встроить фрактальную хуйню или шапку с категориями. нужно взять лишь то, что реально необходимо: базовую разметку текста и возможность вставки картинок в пост.
маркдаун даунский в плане 1) попробуй его напиши нормально да так чтобы не тормозило, 2) люди будут проклинать твою звездочку которая вдруг пропадает и превращает кусок поста в курсив
Зачем ты мне объясняешь что-то? Ты подразумевешь, что любой разработчик должен читать весь тред, чтобы реализовать клиент? Иди в спецификацию выкатывай.
>>17382
>нельзя делать один клиент эталоном всего
Тогда не впиливай в него изменения, несовместимые со спецификацией, вот и всё.
Иначе он будет эталоном, пусть не де-юре, но де-факто, потому что ни один нормальный™ человек не перейдёт с клиента A на клиент B, если A отображает посты красиво и полностью, а B — хуй пойми как.
Э не, вот эту штуку >>17380 тоже необхдимо сделать железной базой, от которой нельзя отступать.
Только ещё добавить кейс, когда у поста нет родительского. Завести спец-категорию типа orphans и там их показывать.
>>17383
>попробуй его напиши нормально да так чтобы не тормозило
https://github.com/chjj/marked#benchmarks
>>17383
>люди будут проклинать твою звездочку которая вдруг пропадает и превращает кусок поста в курсив
Зато маркдаун-разметкуя могу набирать очень быстро и не переключая раскладку из-за квадратных скобочек.
Нахер ваш маркдаун, кто догадается, что в конце строки надо два пробела вставлять? Нет, рано или поздно к этому придут, но это так заёбно. Оставьте всё как есть.
можно сделать так: выделил текст (шифтом, контролом, стрелками) и Ctrl+B - взялось в тег жирности.
про раскладку аргумент сильный. тогда можно брать в звездочки или в круглые скобки тег вместо квадратных скобок. профит в том что это останется тегом который будет явно открываться и закрываться и не будет происходить неожиданной хуйни
Ну вот и нафига это всё выдумывать, когда можно (u)просто(/u) использовать вакабамарк, а не какой-то там (b)ббкод только не ббкод(/b). Ну и текст с ним как-то не (i)особо(/i) выглядит. И с (i)разметкой точно(b) так же(/i) можно обосраться)\b).
>>17391
Палево!
что ни говори а с марк дауном обосратсья легче. пример с отвернутой скобкой пиздецовый. вот например три звезды/пизды две жирность делатю одна - курсив. написал ты три, через пару строчек еще две написал. а через пару строчек еще две - что сделает маркдаун? а если бы ты перед этим не две писал а четыре? по-моему этот маркдаун придумал какой-то даун.
с другой стороны ты не так часто используешь разметку. а когда используешь то ничего страшного если переключишься на английскую раскладку порасставляешь теги и переключишься обратно. или кнопочками воспользушься (сейчас очень удобные кнопочки в 1.6.х). или разработчик шорт-каты добавит как в микрософт ворде тогда вообще красота, марк даун отсасывает.
Маркдаун ещё до появления компов придумали, на печатных машинках он уже был в ходу.
Ну нет так нет. Главное чтоб теги для кода инлайнового и блочного докрутил. Чтоб ещё и язык подсветки синтаксиса можно было указать.
с webp можно и на qr коды в метро перейти
Это ты ещё не пробовал анимешные картинки жать, вот там джпег у вебп не просто отсасывает, а ещё и с громко захлёбываясь.
А потом сделать вот так:
[md]
вот тут можно маркдаунить
```
А вот тут опять в ходу ббкоды!
```
[/md]
Та же картинка в BPG. Всего 1245 байт. Или 1662 в base64
Было бы круто на самом деле.
В чем она социальная?
Да почему же? Добавляешь в наноборд поддержку подписей на ed25519 - всего-то 96 байт добавляется (64 подпись, 32 - открытый ключ).
Берёшь хеш от открытого ключа, это топ-хеш ленты этого человека. И вот когда на этот тег приходит ответ подписанный правильным ключом, ты выпихиваешь его как пост на стенке. Можно добавлять друг-друга в друзяшки и ставить каменты с лайками и всё такое (борда ж сама внутри все ссылки обрабатывает и знает что куда прилепить). Домики набигают...
Остаётся добавить шифрование на основе этих ключей, и можно слать приватики.
И всё это анонимно и через тор с впн-ом в айтупи для токса. Короче весьма круто, а не фсбук какой-то.
https://sns.cs.princeton.edu/2012/04/javascript-in-javascript-js-js-sandboxing-third-party-scripts/
Можно взять эту штуку и запускать генератор файлов в ней, а не в сандбоксе страницы. Как я понимаю там есть полный контроль над тем, куда код из этой либы может дотянуться. Если ему всё обрезать, то скритп либо сгенерирует вавку с музыкой либо обломается.
слишком геморно, достаточно отменить этот коммит:
https://github.com/nanoboard/nanoboard/commit/a195fce21f2d856097bcab318825d9eca5135cf4
большинство стандартных формул не нуждаются в такой свободе
>webp
>bpg
и вот тут вы ступаете на тонкий лед. наноборда это либо открытый формат с общеизвестными и доступными алгоритмами либо экслюзивный хакерский софт с различными трюками. webp и тем более bpg как раз и превратят наноборду из открытого формата в просто конкретную хитрую программулину без которой наноборду не почитать.
Невозможно спорить. Да, это так. Но это скучно.
А на самом деле лучше всего сделать спецовый тег для файлов. Типа [file=intel.zip;base64....] чтоб борда такие теги показывала как ссылку "скачать файл intel.zip".
А уже поверх этого договориться, что если там лежит файл fm.app, значит base64 надо распаковать, там будет json файл с формулой, длительностью, названием трека, автором и так далее.
поддерживает твой клиент фрактальную музыка - вместо ссылки будет интерфейс плеера. Не поддерживает - просто файл который можно скачать.
>>17415
>экслюзивный хакерский софт с различными трюками
this
Одну создавал я,как оказывается,которая без жирности.Удаляйте ее
Пруфов не будетда и какие могут быть пруфы?
>>17367
Борда не p2p,можно меняться через чатики,IP можно получить,только если контролировать борды,на которые постятся контейнеры.Ну и стихи Айвазовскогокакие стихи,он же художник,не? с картинками удаляются,может даже прикрутят автоудаление по словам ака спамлист
Да,на основе этой идеи можно много сделать.Алсо,может нанооп сделает трипкоды?
Надеюсь нет.
Можно ещё свою НаноВики заделать.
А трипкоды можно навесить сверху на джаваскрипте довольно элементарно. Дописывать только в последнюю строчку что-то типа:
sig:CvokSP3Cq0lDu5kL0zhE7bsZZFodvEOKNnt5z
И всё.
Наноборда паразитирует на АИБ,нанотентакль на соц.сетях,нановики на вики-проектах,лол
А почему для трипкодов не заюзать электронные подписи?
Толще только агаитка перекатываться к сырнам.
да что там толстого-то. ну "ссач не торт" ну "перекатываемся". этого достаточно для удаления. мудерок небось еще и бан прописал. удивляюсь как эти все треды не потерли. ну ничего скоро потрут вот тогда точно перекатитесь.
Можно проверять на сторонних плеерах.
Если у тебя не покоцанный баузер используется для наноборда, то можно опросить WebRTC чтобы узнать (попытаться хотя бы) твой реальный айпи, а не айпи прокси/ВПН. Слить эту инфу вместе с фингерпинтом браузера куда надо, в фоне запустить генератор спам-сообщений в наноборд и удаление всех остальных из базы. Подтянуть установщик трояна через какую-нибудь дырку в плагинах. После установки трояна - практически всё что угодно можно делать.
Ну или просто запустить пачку воркеров чтоб они дудосили двачик.
Давно слышал про эти ваши наноборды, и вот прочитал этот тредж. Пожалуй вкачусь.
ну уже годик как, в падлу было узнавать
http://localhost:7345/expand/b5b75e39fa2b8c8808eade4fa3822584#b5b75e39fa2b8c8808eade4fa3822584
У нас фрактальные фильмы?
Слава Богам! Спасибо за правильное решение проблемы.
34 поста.
Формулы с буквой Х будут работать?
>если и с таким наобором можно запускать любой код
Ох, ну тут ничего обещать не могу, но я попробую. Без квадратных скобок очень туго. А имея только буквы "xabcdef" так вообще анрил кажется.
ок, сделаю, товарищ командир
Размер жпг можно просто умножить на 10 и получится размер пнг?
Ну, unix-подход. Я иногда пишу шизофазию.
>Какого же размера должен быть скрипт?
0. Возможно, когда-нибудь и остальные это поймут.
>>17457
>если и с таким наобором можно запускать любой код
А если можно, но ты об этом не узнаешь? Пиздец, у меня бомбит от твоего стиля разработки — сперва нахуярить говна не думая, а потом выискивать уязвимости и срочно убирать всё то, что нахуярил.
показывает месседж бокс с текстом в окне браузера.
во фрактальной музыке такой скрипт не запостить - нет букв l,r ну и s,p,d само собой
А если какие-то иероглифы попробовать? Или в кодировке другой?
Не собираюсь я жаловать в твой парашный стиль говнокодерства. Нормальные люди так не делают.
Ну вставь ты контрольную сумму для проверки контейнера или поста, наконец, как у тебя там всё работает.
какая ебота? приходит мусор? или ты создал контейнер а он мусорным стал?
если приходит мусор это скорее всего какой-то человек не почистил у себя мусор один раз, теперь этот мусор у него скрылся но добавляется в контейнер.
да, там пизда с регулярками надо экранировать некоторые символы
никто и не говорил что я нормальный. можешь занять мое место если хочешь
Но контрольную сумму, я бы всё равно вставил. Версия клиента в посте есть. Сейчас пилится версия 2.0, в самый раз такие архитектурные изменения делать.
Можно сначала выпустить 1.99.0, протестировать и уже выдать 2.0
>(a = /s0s1 p1d0r/) && alert(...a.exec(a))
1.7.3-dev - уязвимость закрыта
https://github.com/nanoboard/nanoboard/commit/f3c2ba1d5a031e1369ec662f42d000917b8855c4#diff-0be51d488606471a235d6d4deffca9acR273
1.7.4 - вернул лимит на 8192 знака в формуле
http://localhost:7345/expand/50401a878701c2735f209b7abceb39c1
Гринтекст цитаты, как мне казалось, должна работать только с начала строки, а не с середины.
явный баг
скоро и этот клоповник прикроют тут, вот увидите.
Сообщения может кто угодно удалять, вряд ли подойдёт.
Ошибка постинга: Постинг запрещён. Бан: 514585. Причина: [A] wipe. Истекает: Втр Фев 09 03:45:11 2016
Нано-ОП, ты вообще в курсе что рендж [A-z] это тоже самое что и [A-Z\[\]\\^_`a-z]? Да, вот ещё шесть символов среди которых квадратные скобки. Из-за этого ломаются идущие подряд теги типа [simg=url][svid=url].
не знал. вот это я чмо
https://github.com/nanoboard/nanoboard/commit/85d207bdc530066d2466fa2e9f219607ceca506a
1.7.5
что жуст ас планнэд?
На всякий случай - линк можно дать вот так:
https://github.com/nanoboard/nanoboard
И да, надо бы readme.md вкатить в репу, а то заходишь по ссылке, а там нихуя не понятно вообще что это и зачем.
Это да, я бы на самом деле поменял приглашение к использованию. Я вроде не сильно глупый, но тоже не сразу догнал что к чему. Надо сразу рассказать, что это стенографическая борда, что постить надо самому, что надо заполнить контейнеры, хоть places уже заполнены.
не факт. я тоже жаловался на мусор, потом обновился, а мусорные посты пропали, ничего не удалял (вернее удалял, но закрыл консоль, а не из вебинтерфейса). Раскрыл вообще всю доску, не нашел их.
А какой смысл засовывать в контейнеры посты с левым родителем, если у правильного поста цепочка родителей всё равно тянется до корневого и родительский посты тоже дублируются в твоём контейнере.
Удалять их надо программно, ящитаю.
делюсь сжималкой которая будет в 2.0, но прекрасно работает и отдельно от клиента:
http://jsfiddle.net/bqozjch6/
с ней можно выжать максимум по качеству в отличие от безумных/безжалостных пресетов
Заебато
Когда второй раз выбираю картинку и нажимаю "Отмена" (случайно нажал), то первая не сохраняется. Остаётся "Файл не выбран".
Пускай уж лучше первая висит в памяти.
Нет, для контейнера пикча должна быть PNG, а ты охуеешь от размера base64 для него.
//
Кстати говоря, ОП, можно ведь запрашивать картинки с ресурсов частями. И в начало файла вставить заголовок наноборды. Если заголовок найден => качаем весь файл, если нет, отбрасываем. Для медленно-интернет кунов такой вариант получше будет.
http://stackoverflow.com/questions/13704615/partially-download-a-file-with-javascript
Тут надо разобраться в спецификации. Теоретически сначала заголовок, потом палитру, потом первые, четыре пиксела. Ищем в этих четырёх пикселах стенограмму "nano".
Пикча то? Стенограммой останется, с заголовком.
Хотя наверное стоит заголовок тоже зашифровать стандартным ключом, а не оставлять на всеобщее обозрение. Поточный Salsa20 это позволяет.
Но всё равно остаётся возможность детектирования по первым байтам.
Хммм, ты заставил меня задуматься. В любом случае борду можно детектировать по первым стенографическим байтам {"posts":[{"hash":"
Тогда даже заголовок не нужен.
>криптостенгорафические посты
Очень сомнительное преимущество. Пусть лучше будут удобные сообщения в картинках.
>Еще в соцсеть можно превратить
Можно начать с простой подписи сообщений вместо трипкодов, а потом уже раскрутить шифрование на полную. Там и правда соц.сеть можно сделать.
Надо просто добавить выкачку картинок с рыгхоста по тегу. Типа добавляешь в плейсес.тхт rghost:yuuppie и наноборда эпизодически проверяет этот тег и весь свежак оттуда выкачивает. Что-то подобное можно сделать для имгура и ещё какой-нибудь парочки помоек типа помф.ис (или что там ещё есть популярного?).
Это как-то очень странно - делать типа стегософт для потайного общения и при этом пеарить его, выкладывать на гитхаб и запиливать спецовые треды. Имхо ставку надо делать не на "у нас тут всё стенагрофически покрептована", а на то что "эта скотина выживет везде".
Пока вся коммуникация и "экосистема" базируется на бордах, будет происходит то, что ты описываешь. И при этом у наноборды есть неплохой шанс поиметь репутацию "конфосгнильства" среди среднестатистических анонов. Сам подумай - для людей которым чужды все эти гиковские криптопанки это всё выглядит как рак который вместо того чтоб создавать годные треды срёт везде своими распухшими пнгешками.
А если так хочется иметь спокойное место где можно постить и не хлебать из баночки, то тут только один совет - запилить специальную борду на осьмичане под это дело. И даже прикрутить в полкостылика автоматический постинг на неё (капча раз в сутки и по айпи, куки не нужны, форма простая).
И главное не увлекаться свистопредлками, а запиливать поддержку других способов раскидывания контейнеров. Не обязательно "тайных", главное чтоб их было достаточно и можно было в случае чего отказываться от одного и переходить на другой. (технически - нжна возможность быстро и просто прикручивать к наноборде новый транспорт).
> запиливать поддержку других способов раскидывания контейнеров. Не обязательно "тайных", главное чтоб их было достаточно и можно было в случае чего отказываться от одного и переходить на другой.
годно
крипточую пидора!
да нихуя не честно. это анальный контроль общения.
да
А может для кого-то несет. Раз люди там общаются значит им это интересно. Нехуй вмешиваться со своими суждениями. Впрочем админ о "свободном общении" не заикался вроде бы так что хуй с ним.
скорее всего это битый контейнер
точнее пост. попробуй открыть всю борду с главной и поискать дублирование текста из этого битого поста
Я писал пост и неправильно разметку поставил [б] текст [/сп] из-за этого съехали все шрифты, время, версия были как бы текстом поста, а их самих не было, так же цитата ">" заменилась на <grn> или что-то вроде того. Вечером повторю и если такое будет, то скину ИТТ.
Бороться с криптопостами любого вида - странная тенденция. Если там ЦП-наркотики-террористы, то админ ресурса не виноват и по требованию ркн удалит, зачем бороться с криптонами по своей инициативе не пойму, там тот же контент, просто зашифрован, тем более сейчас абсолютно все знают ключ и могут скачать клиент, все открыто. Ладно на харкаче, тут все абсолютно запрещено, кроме рулеток, засмеялся-проиграл и фаптредов, но чего мелкопораши не довольны, где за три года 20 постов? Зачем тогда вообще чан держать?
Да мало ли что там ОП сказал. Может этой 2.0 никогда и не будет. Или она получится хуевой что все решат остаться на 1.х. И даже при наличии нормальной 2.0, 1.х все равно останется совместимой (иначе это было бы какое-то свинство).
А тебе ничто не мешает запилить свой собственный клиент с нуля
Не только в ней, один тред с мелкопораши потерт, на другом начались траблы капчей, перемещают треды, но тут просо опасения за безопасность, ладно. Вот не понимаю зачем держать бороду, если не даёшь постить на ней, пускай криптоконтейнеры, какая разница. Моча головного мозга.
>>17619
Чому вы не координируетесь? Много желающих помочь, ОП, разрули.
Тогда надо сделать выбор пикч-контейнеров и категорий. А по поводу файлопомоек.. Может заюзать какой-то гейт в какой-нить ipfs? Хз, можно ли там ставить теги.
Мимо
Суп, /б/, что думаешь о пикрелейтед? Правда это или фантазия? Реквестирую в этот тред анонов, которые во всем этом разбираются и пользуются. Существует ли вики по скрытым интернетам?
Приподнимаем завесу тайны ITT.
Аву забыл
1. Почему с#/mono а не java?
2. Фрактальная музыка это открытый remote code execution, который пытается санитизироваться regexp'ами? Убейте пожалуйста, это-ж полный пипец. Нельзя, чтобы rce случился от одной ошибки в санитайзере. Хотя концепт найс.
3. С первого взгляда не вижу хэдэра. Хорошо бы было с первых байтов уметь определять, есть тут стего или нет. Конечно, это позволяет проще фильтровать и удалять посты, но зато легче искать картинки, а соответственно можно хоститься в более широком диапазоне, чем пара трэдов на дваче.
4. Поясните кто-нибудь защиту от спама. Может стоит заюзать POW? Не убьет в принципе, но резко снизит желание.
Python/Ruby - слишком медленные, у питона подводные камни типа GIL, в общем надо обмазываться всякими левыми библиотечками (да и с Ruby тоже). В C# у меня всё изкаробки."
2-Фрактальная музыка-действительно очень сомнительная функциональность. Но Оп-у очень нравится, похоже.
3-Вот тут обсуждали>>17581
4-Не уверен, что стоит. По крайней мере, пока. Регулярки, вроде, неплохо справляются. Встанет задача-надо будет вертеться.
2. там сейчас финальная проверка не на регулярках уже. набор допустимых символов очень ограничен.
3. не хорошо. это почти то же самое что админу скинуть url всех контейнеров. а искать по всем тредам это тоже время займет. и если искать по быстрым доскам то многие будут "выпадать". лучше сидеть на медленных и не засорять одну борду кучей тредов. по одному треду на мелкоборду достаточно.
>>17802
для этого пришлось бы увеличить скорость твоего интернета и интернета который лежит между тобой и серверами борд.
надеюсь ты не из тех кто регулярно выкачивает базу с нуля? даже если хочешь обновить клиент - можно кинуть файлы из архива поверх имеющихся.
менять ip.txt,
если у тебя дома вай фай роутер то вай фай сеть уже есть
тебе надо узнать лишь ай пи адрес компа в этой сети
у меня все ок на андроиде
вбил 192.168.0.100:7345 и работает. главное комп не выключать теперь лол
>пик
Ну вот. Жаль, а ведь хорошая идея была
>>17836
Теперь подними её как тор-сервис, накати на телефон орбот и имей доступ откуда угодно.
нихуя не понял что ты сказал. алсо могут быть проблемы если в ip.txt перенос строки
Поставь тор и настрой тор-сервис. После чего зная свой onion адрес ты сможешь заходить на наноборду откуда угодно.
но также я решил запилить повторение функционала наноборды на ноде, но с использованием nbpack.exe(но архетектуру по уму сделать). в перспективе нужно будет пилить гуи отдельно, транспорты отдельно, движек борды отдельно
А если изначально в картинке будет использоваться всего два-три цвета, то результат будет просто офигеть.
Ничоси. Но думаю фракталы надо использовать и для сжатия данных внутри контейнера.
Может код этой штуки вдохновит.
Странные уж очень. Только орят "Наша борда лучше!!!!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
да, скачать json с постами у меня получается в firefox но не в хроме, еще не исправил
Ну ок, заглянул в ласт постс, последний за 10-е. Не неделю, а всего пять дней тишина.
Exach вообще сканируется?
А мне старые цвета нравились, оставишь лучше эти как отдельную темку?
не все АИБ дают тебе капчу клаудфлары. для хархкача идет автозамена на мобильную версию где клаудфлары нет
по крайней мере так было раньше
это был ответ на пост который только что почему-то странным образом пропал.
и почему там 17957 в ссылке - хз
Походу с проксями воюют.
А как форсить? Боевые картинки - плохо. Скрытно треды в б эффективно ли? Нужны любители торов, десуталков, остальные же никогда не зайдут на нанобороду. Вот запилит анон выше перевод и буду форсить на британских/канадских чанах.
раковыйпиарщик
Ах да,мимо другой ракофорсер-конспиролог-сочуствующий
>автодобавление тредов для places.txt по ключевым словам
есть уже, только ты сам нажимаешь на одну кнопку, чтобы добавить или удалить. Это максимум, который нужен, потому что автоматика=спам.
>для иноязычных пользователей можно сделать другой ключ шифрования,например,не nano,а nanoeng
это верно, не стоит другие языки к нашему мешать.
Вангую, что оп упомянул название борды и получил автобан + delall по доске.
Как раз перед этим я запостил факт наличия сего и он, видимо, решил попробовать.
Но мы ведь не покинем этот раздел да? Тут ведь так хорошо - лучшая имижборда рунета!
Всего лишь самая популярная.
Интересно как это тут устроено, что пост проходит и даже успевает попасть к другим анонам через автообновление, а потом херакс - и нет его.
В ручную что ли чистят?
Это такой сорт суицида?
Очень занятой анон который пилит клиент на джаваскрипте. Типа когда всё закончит можно будет мобильный клиент на Phonegap запилить в два клика. Он ещё обещал клиент на Node-Webkit. И что-то там ещё было, но тот тред удолился. Как сейчас хз, он только в треде расписывал как всё будет охуенно когда он сделает.
А костыль нельзя? Тип запустить mono на рутовоном девайсе. С ПеКи нет возможности. У меня брейнфак на телефоне работает.
С Phonegap клиент получится для кучи мобильников сразу (ведро, яблоки, винда, ещё там какие-то платформы есть), а не только для рутованного ондроеда. Хотя по хорошему конечно надо бы писать нативный клиент, а не долбиться в джаваскрипт. Хотя бы как Орбот - запустил его и браузером уже на локалхосте скроллишь борду да картинки стегаешь.
Как суперкостыль можно свой клиент на компе вывести в Тор и с мобилы через тор на него заходить. С постингом толкьо проблемы будут, картинку же он просто создаёт а не даёт скачать из интерфейса.
Сомневаюсь, что вручную. В причине бана стоит буковка [A], что как бы намекает.
>Надо-бы на доброчан перекатиться
Можно попробовать, но не особо советую. Нас там за особую любовь к творчеству Юры Шевчука вытерли напрочь даже круче чем тут.
В саму борду укатываться надо, она ведь для этого и задумана.
Предлагаешь вчитываться в код, чтобы понять, что делают процедуры с охуенно интуитивными названиями вроде HandleSafe или PostScript?
>Почему все администраторы и модераторы не любят ДДТ?
Потом что это (подобный стегософт) это рак убивающий нормальное анонимное общение?
>Вот будет битмесседж, тогда вообще заебисьбудет
Проще тогда уже сам Битмессадж допилить до юзабельного вида. А вообще, мы пытались - есть пикрелейтед. Это такой микс Битмессаджа с тред-релейтедом. И работает только через тор. Но он сломан, а мне впадлу фиксить дыры в нём. Идея простетская, кто угодно может продолжить.
>Потом что это (подобный стегософт) это рак убивающий нормальное анонимное общение?
Собственичество какое-то. Какой-то мочух решает в каком именно формате будет это общение: вот вы открытым текстом общайтесь, а просто картинки нельзя(РАК). Весь бугурт наверно по той простой причине, что общение уже не отмочерировать.
Вот наверно лучше сюда перекатываться:
https://lainchan.org/layer/res/3977.html
Их дохуя. И если брать руборды, то эта тема активно массажируется года примерно с 2008-го если не раньше. Но вот чтоб реально кто-то сделал решение которое прямо "Вау!" я не видел. БитМессадж с Токсом как-то поуспешнее будут.
Скорей всего эта фигня ещё долго будет вариться в таком вот виде пока действительно годный инструмент не завезут. Хз что это будет и когда.
>>18407
> Какой-то мочух решает в каком именно формате будет это общение
Кто платит, тот музыку и заказывает. На том же форчонге где-то в правилах есть охуенные слова - "Доступ к сайту это не право, а привилегия. И мы можем вас её лишить по своему усмотрению без объяснений"
Угадал, лол.
>>18405
А никто и не говорит, что сложно. Просто в человеческих проектах название процедуры говорит само за себя или поясняется комментарием и ты читаешь код, зная, что он должен делать. В н-борде наоборот: читаешь код, чтобы понять, что делает процедура.
Вот хороший пример того, как должно быть: https://github.com/bitcoin/bitcoin/blob/master/src/main.cpp
Я лично ставлю комментарии, когда что-то непонятно. Но комментарии вида "//здесь мы добавляем единицу" какие-то не очень. Ну, можно типы выводить.
мимо
Зачем ты утрируешь? Я же чётко указал, какого вида комментарии нужны.
Хорошие комментарии конечно, но сдаётся мне что их написали уже после того, как софтина "повзрослела". То есть когда уже всё застабилизировали, о протоколах договорились и взялись вылизывать сам код. По крайней мере по истории видно что частично камменты были добавлены отдельным коммитом - кто-то сел и написал их потому что уже пиздец без них.
>bitcoin
>застабилизировали, о протоколах договорились
Пиздос, с кем я на борде сижу.
Отчасти ты прав, первая версия биткоина вообще была только под Шиндовс и имела автором человека, который хорош в крипте, но весьма посредственен в программировании. Впрочем, это не помешало ему прокомментировать неочевидные места, можешь взглянуть на этот код семилетней давности.
https://github.com/bitcoin/bitcoin/blob/4405b78d6059e536c36974088a8ed4d9f0f29898/main.cpp
Возвращаясь к нашим баранам: не лучше ли делать всё сразу как положено?
>Возвращаясь к нашим баранам: не лучше ли делать всё сразу как положено?
Лучше. Но чёт сдаётся мне что ОП пока сам не знает как должно быть. Всё ещё похоже на пачку записок "не забыть" и это реально пишется для себя, а не "давайте всем криптачём запилим охуенчик! Го гитхаб, я создал".
Это конечно моё мнение, но версию 2.0 я бы лучше назвал 0.2 - так больше похоже на правду. Я таким же макаром наговнокодил кучу всякого мусора - это всё делается в одно рыло и исключительно в своё удовольствие, потому так неряшливо и выглядит.
Ну утраиваю тогда, раз такое дело.
Не слышал о таком. но ты можешь туда поставить полноценный линух и двачевать стеганокапчу
https://habrahabr.ru/company/xakep/blog/208518/
>>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.
>>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.
под андроид есть моно (платно) и есть обходные пути как запустить там моно. в принципе реально сделать билд текущего клиента под андроид, потребуются минимальные правки, работать будет так же: сервер + браузер.
>пишу комментарии там, где они необходимы
Необходимы кому? Тебе они вообще не нужны, ты свой код наизусть знаешь.
Другим они нужны чаще, пример качественного комментирования я привёл, хуярь давай.
И не пизди, что в 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
Как господь прокомментировал просто!
Всё очень просто: либо ты делаешь проект дружественным для других разработчиков, либо сидишь и пилишь его один, потому что никому не впёрлось разбирать код без пояснений. Пока что у тебя в действии второй вариант: в репах пять коммитов от других разрабов, из которых три — исправление вёрстки.
Ты же не пуллреквестишь, так что иди нахуй.
С любым кодом надо разбираться, а комменты часто банальны.
Ты же не будешь писать:
// Get item by id
Object void getItemById(int id) {
Я сам не люблю недокументированный код, но в рабочем проекте не на всё нужны комменты.
>чтобы назвать версию 2.0 а не, с какого-то хуя, 0.2
Я же сказал что это моё личное мнение. И всем может быть похуй на него даже мне.
На мой взгляд у тебя была версия 0.1.х, потом ты сел и допили её (вот как ты перечислил) и это уже стала 0.2.х
Сделать из этого 1.0.х можно было бы когда софтина полностью готова и делать в ней больше нечего. А перекидывать версию до 2.0.х когда её полностью перепишут, скажем, на Go.
Или тебе больше нравится как в гуглохроме делают? Так то да, у них к концу года небось версия 100.0.х выйдет такими темпами.
>версию 2.0 я бы лучше назвал 0.2
>Честнее было бы все это именовать веткой 0.2
Отстаньте от версий, сейчас они правильно считаются. Если бордой пользуется хоть кто-то отличный от автора она уже 1.0.
Естественно, я не пуллреквестю — во второй раз взялся читать твой код и во второй раз блеванул. Сложно с пакетом блевоты в руках код писать, знаешь ли.
А мне понравился этот код. Но нужно стиль подработать. Например, может лучше camelCase? Надо сделать CONTRIBUTING.md да и всё.
добавил. теперь в feature/2.0 в коде сервера 91 комментария
без фанатизма, стараясь избегать такого:
// handles request
HttpResponse Handle(HttpRequest request)
А ты неплох.
так же один анон скидывал несколько файлов с разными этапами, картинка, данные до сальсы, до инфлейта и данные. так вот опять таки где то до середины наши данные после сальсы сопадают, а потом нет. как такое может быть? сальса же не может частично ксорить данные
ты точно не читаешь лишних битова из картинки? там может быть половина полезной инфы а вторая - шум. вначале 4 байта не зашифрованных сообщают о количестве полезных байт
Хорошо зделали. Батя грит малаца.
нет, иначе бы вообще ничего не работало. 4 первых байта - длина, засальсованный контейнер - начиная с пятого байта и до байта по счёту длина+4.
1.7.11 - более умное создание контейнеров, превью контейнера: после создания контейнера вы увидите каждый пост который ушел в контейнер по очереди во всплывающих окошках справа
В 2.0 в nbpack исправлено создание контейнеров (был баг с дубликацией одного и того же поста вместо подбора рандомных).
кроме того сняты лимиты по размеру на ретрансляцию (все посты теперь имеют шанс на ретрансляцию, но маленькие посты и недавние посты все равно в приоритете при "случайном" подборе)
могу помочь с отладкой если выложишь байты которые надо рассальсовать
1.7.12 - фикс бага связанного с созданием контейнера (появился в 1.7.11)
https://github.com/nanoboard/nanoboard/releases/download/dev/nbpack.exe
в процессе работы выдаст три файла:
raw.bin - до сжатия
gzipped.bin - после сжатия до шифровки
encrypted.bin - после сжатия и шифровки
рядом нужно ложить newtonsoft json dll из релиза
бля сори не туда впихнул, вот перекачай
https://github.com/nanoboard/nanoboard/releases/download/dev/nbpack.exe
Имхо лучше использовать один чан. И один пост на мессадж. В самом битмессадже ограничение на длинну поста что-то около 250кб или где-то около.
Ретрансляцию сам битмессадж будет делать, можно при отправке ттл на месяц выставить (или вывести эту настройку в интерфейс при отправке поста).
Постить открытым текстом, Битмессадж уже зашифрован.
> for (var i = n = 0, l = ret.length; i < l; i += 8) {
Почему переменная l принимает именно такое значение?
Ну и в целом - зачем тебе две функции, если можно это всё реализовать в один проход? Ты же можешь работать тройками.
%2 слишком медленно, пользуй &1
Шифровать не нужно ничем. Шифрование с общеизвестым ключом не имеет абсолютно никакого смысла, поскольку не даёт плюсиков к конфиденциальности.
То же относится и к png-контейнерам — там шифрование не даёт плюсиков не только к конфиденциальности, но ещё и стеганографии.
Оп, не напомнишь ли, зачем ты решил шифровать содержимое png-контейнеров?
Зачем ты в принципе сделал отдельную переменную для длинны массива я понимаю. Но нахуя ты вообще берёшь длину этого массива?
>>18535
Если формат пнг-шки не поменяется, то очень просто - по длинне "шума" в первых четырёх байтах и его отсутствию после указанной отметки.
Либо просто по наличию рандома в ЛСБ. Были где-то такие детектилки. Ну или самому написать да к куклоскрипту прикрутить.
>длину массива я беру на случай если байтов в аргументах пришло не кратное 8ми. правильнее было бы сначало вычеслить длину массива, потом создать его, а потом в цикле заюзать её значение
Ну окей. Тогда зачем ты переменную i на 8 увеличиваешь?
>что бы замутить подцикл же, в котором из 8ми бит байт собирается
Но ведь в таком случае у тебя не получится обработать все биты, часть останется за бортом.
>"за бортом" останутся количество бит < 8, как мне из них байт собрать?
Да гораздо больше ж останется. 7/8 сообщения проигнорируется ведь.
Там уже ДДТ тред есть, так что считай прикрутили.
>х и его отсутствию после указанной отметки.
шум есть по всей пнг-шке, это еще в прошлом году было добавлено:
https://github.com/nanoboard/nanoboard/commit/14c170263afce10d0523f140d64dd7d7059ae6b6
к вопросу поясню как сейчас происходит добавление:
ты добавил пост через /add,
ты добавил чужие посты через /add или /addmany
у тебя в базе новые посты
зачем тебе знать где твои посты а где не твои?
У меня всё руки не доходят отправить в тот тред ДДТ пост в котором приложить пнг-шку в которой будет пост в котором буде джпег с ДДТ.
>>18552
В жтом случае должен хи-квадрат помочь. Ща потещу.
>>18556
Нет.
Впилил бы тогда это как опцинальную возможность. Просто сейчас хуй знает что получается: содержимое контейнеров зачем-то шифруется, хотя пользы от этого ровно никакой. Что-то вроде сторожа, который старательно каждый вечер «закрывает» ворота, вешая навесной замок на одну петлю.
а если сальсовать сверху все-все-все байты (включая сырой заголовок с длиной, загзипованый-засальсованный контент и концовку с шумом)?
Я предлагал уже, сказали что без крептаграфеи н-борда нинужна.
>>18561
ну почему никакой. если не инсайдеру попадется в руки контейнер ему придется сложнее чем если бы там были незашифрованные данные
ну можно реализовать алгоритм который сильно затруднит вычисление наличия стеганографии в картинке. естественно ценой уменьшения вместительности контейнера. вот только тогда все равно можно, заполучив копию распаковывающего софта, наладить вычисление "криптанов". и тут может выручить диверсификация мест постинга контейнеров. это позволит водить хуем по губам админам аиб до тех пор пока они не начнут очень сильно заморачиваться технологически, а также внедряться в "среду", чтобы держать свои "прицелы" обновлёнными, и возможно объединять свои усилия с другими админами.
вычисляем границы на изображении
у краев границ делаем незаметные изменения чтобы зашифровать биты.
но в одну картинку всё сообщение не кладем. распределяем его на 4 картинки.
возьмем для примера очень короткое (уже зашифрованное) сообщение из 8 бит:
01101101
картинка 1 получает первый и пятый бит:
01
картинка 2 получает второй и шестой бит:
11
картинка 3 получает третий и седьмой бит:
10
картинка 4 получает четвертый и восьмой бит:
01
картинки постим на разные ресурсы.
пока ты не соберешь 4 картинки рядом в нужном порядке сообщения ты не получишь.
для упрощения задачи распознавания все 4 картинки подбираются из схожей цветовой гаммы (а лучше вообще одинаковые, постить то все равно на разные ресурсы будем). принимающей стороне остается только сортировать собранные со всех источников картинки в группы по схожести и делать из них этих групп комбинации (не так уж и много возможных комбинаций выходит) пока не получится расшифровать валидное сообщение (определять успех можно по успешной распаковке архива (после дешифровки) или по наличию правильного формата сообщения: например 32 символа хэша, затем сообщение).
плюс такого метода также в том что уменьшение вместительности отдельно взятого контейнера не очень мешает ведь в каждый контейнер кладем только 1/4 часть сообщения
а еще можно прятать куски секретных посланий в тексты. только не методом подмены некоторых букв латинскими визуальными аналогами - это легко детектится автоматикой. в одном из предыдущих тредов была демка на jsfiddle где биты шифровались подбором длины каждого кусочка текста (разбивка по пробелам с пропуском очень маленьких кусочков). заявленная плотность: на то чтобы упрятать 8 бит (1 байт) надо примерно 60 символов текста. это потребует наполовину ручной работы (можно упростить с автоподбором синонимов слов или подчищением знаков препинания) зато практически невозможно обнаружить особенно если применить разделение на 4 ресурса (а слияние производить по ключевому слову (или другой вариант - по стартовому набору битов), наличествующему во всех 4х текстах на каждом из условленных ресурсов).
ну так вызывай "посыл" в чан из кода формочки-ответа. если это отложенно надо сделать то можно скидывать хэши своих постов в какой-нибудь параметр конфига типа my_outbox в виде строчки с json-массивом
/api/paramget/my_outbox
/api/paramset/my_outbox (post '["hash1","hash2",...]')
p.s. ну и JSON.parse/JSON.stringify ну ты понел
Это так не работает. Рандом в LSB будет только если картинка сама по себе просто рандомный шум. Если это будет фотография или что-то типа того, никакого рандома в LSB не будет.
Если мне не будет лениво, то я может накидаю юзерскрипт который детектит в пнг-шках такой стег через хи-квадрат.
>>18568
АИБчан выходит на связь?
В этом случае проще взять и обнулить LSB в пнгешке движком борды. А ещё лучше все картинки просто немного ресайзить, пикселей на 5 по каждой стороне. Ну или просто всё под чистую пережимать в jpeg на 0.75 - тогда и стег накроется и трафик экономиться начнёт.
Это всё очень запарно. Стег это весело конечно но делать на него ставку особо не стоит. Как я уже говорил, должно быть много вариантов распространения и стег с пнг это просто одна из опций на случай если пригодится.
Идея сделать простецкий транспорт на Битмессадже - вот это действительно годно. Никакой привязки к бордам (или любым другим сайтам), сам БМ гоняется через тор. Что ещё нужно для любителей закрыться от внешнего мира в своём бункере?
По этому это не должен быть единственный путь.
И о каких серверах ты говоришь? Бутстрап? Если они отвалятся можно будет просто раскидать по всяким пейстбинам и ргхостам НетДБ и он будет без бутстрапа работать.
>>18576
ТТЛ на 28 и всё будет ок. Алсо ретрансляцию таки можно сделать, всё ж месадж до 250кб может быть. К тому же должна быть возможность закинуть вообще всю базу на какой-нибудь ргхост - как в биткоинх - качаешь блокчейн торрентами (30 гигов всё же), а потом уже из самой сети докачиваешь самый свежак.
Кстаааати. В форке майлчука впилили поддержку тора (не как прокси, а именно битмессадж на онионах). И там уже поднят бутстрап в торе. И вроде была речь про запил i2p транспорта для Биттмессаджа.
Так что БМ может стать вполне себе надёжным транспортом.
думаю все живо пошлют нахуй борду где пнг автоматически конвертируются в уродские жпеги.
вообще я говорил не о LSB а о, например, уровнях контраста у границ в некоторых контрольных точках превышающих или не превышающих некий порог. но разумеется попортить можно и такое при желании
>думаю все живо пошлют нахуй борду где пнг автоматически конвертируются в уродские жпеги.
Да. Любители творчества Юры Шевчука видать уже покинули эту борду. Хотя их уродские жпеги конвертятся в вполне себе нормальные пнг-шки.
Можно пойти другим путём и взять матричное кодирование тогда в один изменённый бит картинки будет влезать байт сообщения. Вместимость только очень сильно упадёт, в обычный 720p скриншот будет влезать примерно 10кб данных. Но опять же - немного коряжим картинку и всё ломается.
А у НБ это наверное самый плюс что в одной картинке может быть ооочень много сообщений. Эта избыточность и делает её такой привлекательной.
Какому ещё не-инсайдеру, когда код на гитхабе лежит? По секрету всему свету?
не понял как ты в один бит целый байт собрался запихивать.
НБ и пнг-контейнеры это разные вещи как бы.
в пнг-контейнерах ретрансляция и избыточность существуют как защита от пропажи/удаления запощщщеных контейнеров
сори, проебал, посмотрю
Таким образом за десяток неторопливых постов можно будет перепослать базу из тысячи сообщений.
>>18585
>не понял как ты в один бит целый байт собрался запихивать.
В один изменённый бит, а не просто в бит. Я же дальше написал что очень сильно из-за этого упадёт вместимость.
8 бит сообщения будут храниться в 255 битах картинки. При этом для записи одного байта тебе потребуется поменять всего один бит из этих 255.
>в пнг-контейнерах ретрансляция и избыточность существуют как защита от пропажи/удаления запощщщеных контейнеров
Так вот это и есть вкусный бонус. Если убрать эту фичу и постить в картинку только один твой мессадж, то уже получится скучная фигня. А так ты можешь собрать пару десятков картинок и получить практически всю базу сообщений.
>в приоритет ставить те, которые дольше всего не ретранслировались.
Хотя нет. Лучше не ретранслировать те, которые были получены за последние, скажем, 24 часа. Ну или чуть больше.
Собрал ты картинок, получил двадцать новых постов - зачем тебе сейчас их ретранслировать? Лучше в следующий раз.
Дык. Там за два дня твоих же коммитов набралось, посмотри сипсок же.
сейчас берется 50 последних постов и выбрасываются самые старые пока в сумме не будет 150кб или меньше. потом берется 50 рандомных постов но со свдигом в сторону свежих (index = Math.Pow(r.NextDouble(), 0.3) * count) и операция повторяется. итого до сжатия выходит не больше 300кб и в сумме не больше 100 постов. на практике выходит постов 10-30 сейчас (поскольку активно постят "хайрезы").
>сейчас берется 50 последних постов
Зачем?
Сам посмотри какой юзкейс-то - вот ты запустил клиент, нажал кнопочку поиска. Тебе насканили пять новых картинок из которых извлекли семь новых постов. Так как ты сканишь довольно часто, то все эти картиночки свежие и их скорей всего все успели скачать.
Вот ты написал пару ответов и жмёшь создать пнг. В этом случае тебе вот эти вот свежие 7 постов перетранслировать не нужно, пометь их как "сегодняшние" и 24 часа не трогай.
А про "старые в первую очередь": вот представь что есть посты с номерами от 1 до 100.
Ты делаешь пост и в контейнер уходит твой новый и ещё посты с 1 по 20. Чуваку, который насканит твою пикчу и решит ответить, ретранслировать (через час или два) твой пост и вот эти вот с 1 по 20 смысла нет. Ему лучше закинуть свой и с 21-го по 40-ой. И вот так вот через пару постов вся сотка окажется ретранслированной.
>>18592
Бранчим, ребейсим, починяем примуса
>похоже на хекс (НЕХ), будто по три байта(6 символов в хекс). я прав?
Да. Причём судя по описанию формата на вики это длина в символах, а не в байтах.
ты же в курсе что /api/replies надо рекурсивно запрашивать, чтобы получить весь тред? (так, на всякий случай спрашиваю)
перезалил базу 4-дневной давности для обеих версий
https://mega.nz/#!yg9jRb6T!O052TK3YWNM4Klh_jI2-pZ1AwyZ1oOQ3Iueiwyi24sI
https://mega.nz/#!btkyxIID!3XVXoNlpUjAd7ellzk4bdCkGmuDPoJIE2Tqi72Wj-2k
ну обычным способом наткнуться такие посты ты не можешь, потому что получается, что цепочка ведущая к оп-посту треда оборвана. их будет некоторое время после получения видно в [Last *], также они будут попадать в результаты выдачи [Search].
можно запилить эндпоинт /orphans который покажет все посты без наличия родителя в базе. либо можно самому (очень медленно) обращаясь к базе понаходить такие посты:
пройтись /nget-ом от 0 до /count - 1, у каждого – get/' + p.replyTo – если 404 – это сирота. что с ним делать собираешься? удалять? а если завтра найдется родитель? (можно решить этот вопрос удалением только совсем уж престарелых сирот (от 0 до count/4)
сосач не дает парсить его если что, но замена 2ch.hk на m2-ch.ru помогает
будет охуенно
ОП - хуй молодец, и мама у него порядочная женщина
Алсо, нельзя ли в н-60рду встроить алгоритмы 7zip'а?
Имя события проблемы: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
Это копия, сохраненная 21 сентября 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.