Это копия, сохраненная 16 августа 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
http://rghost.net/8MVTk6pDk
https://u.pomf.io/jhazuw.odt
Это конечно просто фантазии диванного эксперта с поверхностными знаниями. Но вроде ничего сложного - умный школьник, увлекающийся программированием запилил бы рабочий прототип за месяц по вечерам, я уверен, три школьника бы сделали большую часть того, что там очевидно как делать. Просто наверно децентрализованные форумы никому не нужны на самом деле - ведь ни Syndie, ни Bitmessage так никто и не допилил до чего-то удобного.
Да там КЭПовство, никакой конкретики по протоколу, алгоритмам
>odt просмотрщик
Это называется libreoffice, вообще-то.
Но по сути двачую, оп мог бы и в pdf экспортировать.
>Это называется libreoffice, вообще-то.
Я знаю, что это такое. Просто не держу на пекарне ненужного софта.
А пример реализации можно посмотреть в Osiris,правда там форумы децентрализованные
alt.2600.*
Про него в вебе инфы почти нет.Какая-то иерархия, зона alt,что то типа федерализации. Поясните ньюфагу
Анончик, выложи текст документа на pastebin.
Экспортнул в PDF. Но еще раз скажу, там хуета от капитана очевидности.
Если есть Python-кодеры, то могу помочь. https://keybase.io/2ch
Кэп?Так вообще непонятно.Вот поясни за alt. Зону.Поясни за клиент для шиндус на русском,на ведро
>alt. Зону.
Просто иерархия, в которой конфу может создать любой желающий. В основных на этот счет строгие правила
http://www.big-8.org/articles/b/i/g/Big-8_Usenet.html
а в alt все гораздо проще
http://www.net.berkeley.edu/dcns/usenet/alt-creation-guide.html
http://nylon.net/alt/
Также существует free
http://wiki.killfile.org/projects/usenet/faqs/free/
>клиент для шиндус
В душе не ебу, перебери список в Википедии.
>на ведро
Люди жалуются, что там джаббера клиента нет хорошего, не то что юзнет.
Еще для полноценного доступа (с файлами) требуется использовать платный сервер
>клиент для шиндус на русском
Любой почтовик. Во всяком случае раньше.
Ищи настройку вида "сервера news://"
ОП, загугли "наноборда"
к сожалению, не взлетело
борда даже некоторое время была активной - в кач-ве транспорта использовалась прога типа битторента которая позволяла шарить файлы, уже не помню как называлась. об анонимности там говорить не приходилось - все айпишники светились
Ох ну нихуя себе! Идея просто охуительна, меня аж дрожь пробрала.
ссылку на что? в гугле можно найти парочку заархивированных и живых тредов с описаниями и линки на некоторый софт. но все это пока не собрано в кучу. например есть "проект нанохтмл" - на вид не особо отличается от обычной борды на вакабе но его транспорт - текстовые файлики, которые еще нужно как-то распространять и аггрегировать. пнгкриптер есть, можно прятать в пнгшку целые треды но опять же он не прикручен к тому же нанохтмл. в нанохтмл кстати идея наноборды дополнена картинками причем сделано это без изменений в самом "протоколе" - картинка там как ссылка в самом нанопосте, ссылка - такой же хэш (как-то так).
есть клиент под десктопы, я его давно не смотрел не скажу уже насколько он готов и насколько много ручной работы там необходимо.
некий кронос или крос делал адвансд версию с описанием аттачей в джейсоне, с таймштампами на дажве. тоже не взлетело. таймштампы - дело гиблое. это легко могут начать эксплуатировать чтобы создать временные парадоксы или просто вайпать.
суть нанопостов в их цепочесности
каждый нанопост - ссылка на корневой пост и ссылка на пост, на который отвечаем (можно отвечать на тот же корневой пост)
а сами ссылки - это хэш всего нанопоста. таким образом имея набор нанопостов можно восстановить цепочку от начала треда до последнего доступного сообщения. сообщения которые отвечают на одно и то же сообщение могут быть перемешаны но тут порядок и не важен. предполагается что если нужен какой-то диалог, какая-то цепочка то юзеры сами добиваются этого путем ответов на конкретные сообщения
еще раз, вот нанопост (искусственный пример):
1234567890abcdef1234567890abcdefТекст поста
Мы видим две ссылки вначале - на тред и на пост на который отвечаем, ну а дальше текст поста, всё
Хэш взят с UTF-8 байтов - MD5 - первые 8 байт, записывается в шестандцатиричной форме
Хэш атаки (поптыка затереть чей-то пост) предотвращаются эвристической оценкой содержимого нанопоста - первые 32 символа обязаны попадать в 0-9a-f, а дальше не должно быть "абракадабры"
можно также отсекать единичные абракадабра-посты в единичных тредах и таким образом хэш-атаки оказываются бесполезными
передача файлов - не задача наноборды. нагружать ее файлами и даже картинками это не совсем правильно. хороший пример - нанохтмл - там с картинок считается хэш и можно в постах ссылаться на хэш картинки. например [img]1234567890abcdef[/img] - и как и по каким каналам пользователь получит эту картинку это уже дело десятое.
если все таки необходимо поделиться уникальным изображением (а не колобком который давно есть у всех) и хочется делать это именно через нанопосты то есть base64 и подобные системы и тогда будет что-то типа [img-base64]bSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2Yg
dGhlIG............1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb[/img-base64]
ссылку на что? в гугле можно найти парочку заархивированных и живых тредов с описаниями и линки на некоторый софт. но все это пока не собрано в кучу. например есть "проект нанохтмл" - на вид не особо отличается от обычной борды на вакабе но его транспорт - текстовые файлики, которые еще нужно как-то распространять и аггрегировать. пнгкриптер есть, можно прятать в пнгшку целые треды но опять же он не прикручен к тому же нанохтмл. в нанохтмл кстати идея наноборды дополнена картинками причем сделано это без изменений в самом "протоколе" - картинка там как ссылка в самом нанопосте, ссылка - такой же хэш (как-то так).
есть клиент под десктопы, я его давно не смотрел не скажу уже насколько он готов и насколько много ручной работы там необходимо.
некий кронос или крос делал адвансд версию с описанием аттачей в джейсоне, с таймштампами на дажве. тоже не взлетело. таймштампы - дело гиблое. это легко могут начать эксплуатировать чтобы создать временные парадоксы или просто вайпать.
суть нанопостов в их цепочесности
каждый нанопост - ссылка на корневой пост и ссылка на пост, на который отвечаем (можно отвечать на тот же корневой пост)
а сами ссылки - это хэш всего нанопоста. таким образом имея набор нанопостов можно восстановить цепочку от начала треда до последнего доступного сообщения. сообщения которые отвечают на одно и то же сообщение могут быть перемешаны но тут порядок и не важен. предполагается что если нужен какой-то диалог, какая-то цепочка то юзеры сами добиваются этого путем ответов на конкретные сообщения
еще раз, вот нанопост (искусственный пример):
1234567890abcdef1234567890abcdefТекст поста
Мы видим две ссылки вначале - на тред и на пост на который отвечаем, ну а дальше текст поста, всё
Хэш взят с UTF-8 байтов - MD5 - первые 8 байт, записывается в шестандцатиричной форме
Хэш атаки (поптыка затереть чей-то пост) предотвращаются эвристической оценкой содержимого нанопоста - первые 32 символа обязаны попадать в 0-9a-f, а дальше не должно быть "абракадабры"
можно также отсекать единичные абракадабра-посты в единичных тредах и таким образом хэш-атаки оказываются бесполезными
передача файлов - не задача наноборды. нагружать ее файлами и даже картинками это не совсем правильно. хороший пример - нанохтмл - там с картинок считается хэш и можно в постах ссылаться на хэш картинки. например [img]1234567890abcdef[/img] - и как и по каким каналам пользователь получит эту картинку это уже дело десятое.
если все таки необходимо поделиться уникальным изображением (а не колобком который давно есть у всех) и хочется делать это именно через нанопосты то есть base64 и подобные системы и тогда будет что-то типа [img-base64]bSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2Yg
dGhlIG............1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb[/img-base64]
короче говоря если взять идею нанопостов (которые и формируют наноборду), ничем больше эту идею не утежелять, и собрать всё инструменты в одну софтину:
аггрегатор нанопостов с интернета (сбор пнг-контейнеров, стеготекстов)
формирователь и просмотрщик тредов с помощником формирования своих постов
полуавтоматическая система для распространения своих нанопостов и ретрансляции имеющихся нанопостов. в идеале достаточно будет один раз настроить на конкретную (реальную борду) а дальше только вводить капчу (в идеальном идеале капча будет распознаваться автоматически либо можно выбрать борду без капчи)
всё это сдобрить хотя бы простейшим шифрованием чтобы у людей была возможность закрыться "ключом" типа "2ch" и пусть и не менять его но хотя бы иметь ощущение защищенности или способности как-то оградиться от посторонних глаз даже внутри наносообщества
тогда должно взлететь. хоть идея и хороша но без годной, юзер-френдли реализации мало кто заинтересуется. работы не очень много
не стоит забывать и про то, что участникам нужно сперва договориться о местах паразитирования. проще всего это сделать прошив "софтину" настроечками для десятка популярных борд, в общем добиться чтобы все участники с ходу постили-репостили на 10 разных борд рандомно. забанят на одной - останутся 9
позже репозиторий софтины пополнять новыми настройками, договариваться в нанотредах. но для начала необходима такая вот точка координации
1) имеет привычный теплый ламповый формат АИБ
2) может паразитировать на всём вышеперечисленном, причем вперемешку
Ожидаемые фичи уместятся в одном приложении:
- автосборщик/расшифровщик ПНГшек с заранее заданных УРЛок тредов
- просмотрщик тредов/постов с возможностью ответа в тред и создания треда
- формирование пнгшек (со своими/свежими чужими нанопостами) предназначенных для заливки дабы ваши и чужие ответы появились у других людей которые настроили сборщик на треды в которые вы будете постить
вот только заливкой пнгшек придется заниматься вручную
и пока что без поддержки base64 картинок, картинок из библиотеки (как в нанохтмл) и прочего
шарпец.
формат нанопостов изменю - не вижу смысла ссылаться на "тред" если по полю "ответ на" можно восстановить программно всю цепочку. в целом идея ссылки на тред порождает сложные правила и ситуации, так что лучше убрать. теперь хэш будет длиннее в 2 раза.
Из каропки работать не будет?
так mono же. шарпец - не есть дотнет.
лично тестирую на Windows7, Windows8.1, Ubuntu 11, OS X 10.11
>>13328
битсинк не анонимен, qr коды - это для совсем уж ядерного пиздеца когда интернета вообще не будет, тогда и правда в метро qr-коды расклеивать/собирать останётся.
на данный момент рассматривается идея паразитирования на нескольких АИБ параллельно. так сказать, диверсификация.
транспорт - пнг-картинки с вшитыми нанопостами, смотрю также в сторону стеготекста (основанный на сходстве кириллицы/латинницы - 20 букв прячут одну, на четности - 60 букв прячут одну, то есть плотность низкая но засечь почти нереально).
что касается битсинка все же можно и его задействовать но пока концентрируюсь на парсере заданных тредов с разных борд одновременно.
>>13335
вот если кому интересно как прячутся данные в пнгшку:
http://blog.andersen.im/2014/11/hiding-your-bits-in-the-bytes/
в клиенте по команде пользователя будет создаваться пнгшка (в качестве оригинала будет взята рандомная картинка из папки с пользовательскими картинками) с последними нанопостами которые написал пользователь, а также с рандомным набором свежих и не очень чужих постов - ради подкрепления распространения постов в наноборде
в 512х512 пнгшку влезут десятки постов!
для сравнения в пост со стеготекстом (подстановка(1)/не подстановка(0) латинских букв вместо кириллических - аеросух) размером с этот влезет только нанопост из ~60 символов (~20 на "беспалевном" (текст разбивается по пробелам, куски от 3 и меньше символов игнорятся, считаются биты: четное количество символов в куске - 1, иначе - 0, тут придется автоматически вставлять знаки препинания в помощь или пропускать/дублировать буквы) варианте)
простота, минимализм, надежность - формат нанопоста: хэшпостанакоторыйотвечаемтекст ответа
и всё. строчка выше это нанопост. с неё считается хэш этого нанопоста, который можно использовать чтобы сослаться на него. тут мало пространства для махинаций. просмотрщик базы нанопостов, генератор ответа, сборщик нанопостов - все это простейшие приложения, которые независимо могут быть написаны разными участниками (при условии что соблюдается договоренность о способе шифрования и местах распространения)
независимость от какого-либо сетевого протокола, сервера, аплоад это маскировочные действия (например, добавление картинки к посту на АИБ). при этом наноборда может одновременно поразить десятки АИБ своими скрытыми постами но при этом останется единой бордой для участников и не умрет если одна АИБ вдруг "отпадёт".
наноборда это не просто чей-то чатик, а иерархия сообщений, иными словами - организованные треды, история, которая естественным образом проникает на компьютеры участников благодаря идее ретрансляции постов.
отсутствие "хозяина" и невозможность модерации
возможность выйти за рамки АИБ (везде где можно хостить картинки или даже просто писать текст (стеготекст позволит относительно незаметно общаться нанопостами небольших размеров)
теоретически наноборда может жить даже без интернета - физическое размещение нанопостов в реальном мире - разбрасывание компакт-дисков, расклеивание QR-кодов, bluetooth-приложения, а также несанкционированные цифровые радиопередатчики - позволит наноборде хоть и очень медленно, но существовать
Да ты охуел. Офисные пакеты на пека принимаются как данность, если ты дохуя никакфсе, это твои проблемы. Или ты был бы рад докх?
кстати в гуглдокс можно смотреть все форматы включая docx
вообще многие люди месяцами не сталкиваются с необходимостью открыть офисный документ
>>13335
в моно немало багов. как нерешенных так и не обнаруженных. есть различия в зависимости от платформы. на хеллоуворлдах заметить сложно но на более-менее серьезном проекте придется напрячься чтобы была "кроссплатформенность". например ToString() экземпляра FileInfo может на одной платформе вернуть полный путь, а на другой - только имя файла.
одно радует - запускается экзешник везде без перекомпиляции. +у винды преимущество - не нужно ставить моно.
шарп как язык мощнее и выразительней джавы.
в остальном джава рулит.
у шарпа плохо с интерфейсом. был винформс да устарел. возможности примитивны. был впф да устарел и кроссплатформенности ноль. есть гтк - но на вид ущербное г и лишние мегабайты установки. надо делать локальный сервак и строить красивые хтмл странички.
на ToString не стоит полагаться это больше отладочная инфа нежели реальное свойство класса
> Я знаю, что это такое. Просто не держу на пекарне ненужного софта.
Переконвертируй онлайн. А лучше купи нормальную пекарню
Как это примерно будет выглядеть:
слева списком будут показываться новые посты, по клику можно будет перейти в их тред (и они исчезнут из списка)
по центру окно просмотрщика тредов - по клику на сообщение выводится меню: войти в тред, ответить в тред, перейти на уровень выше, добавить пост в закладки, спрятать пост; по клику на пустое место выводится меню: собрать ПНГшку, перейти на уровень выше, поискать нанопосты, выйти
справа - окошко закладок. по клику - переход на закладку, дабл-клик удаляет закладку
нанопосты ищутся в тредах ссылки на которые прописаны (каждая ссылка в новой строчке) в файлике рядом с программкой. треды парсятся на предмет пнгшек, пнгшки скачиваются (повторно - не скачиваются, программа помнит что качалось, а что нет). делается попытка найти в скачанных пнгшках нанопосты, в случае успеха пользователь увидит новые посты в окошке слева.
собрать ПНГшку - значит поместить свои свежие посты, недавно скачанные посты, а также некоторый набор случайных постов со всей имеющейся базы в ПНГфайл (в нижние биты цвета, что незаметно для человеческого глаза). в качестве основы берется случайная картинка из папки containers (её надо наполнить своими картинками, возможно, в комплекте будет набор картинок).
итоговая ПНГшка с нанопостами помещается в папку upload. в эту папку нужно периодически заглядывать и загружать оттуда картинки на АИБ в условленные треды (те же треды что и в конфигурационном файле поиска)
поскольку картинка физически меняется, одну и ту же картинку можно много раз аплоадить на реальную АИБ.
программа при каждом закрытии собирает ПНГшку так что папка может засоряться, можно просто эти ПНГшки чистить и отправлять только самые свежие.
существует один корневой пост как точка синхронизации.
вообще каждый пост это также и тред. вложенность может быть бесконечной. такова особенность наноборды, имхо это очень удобно.
теперь плохие новости - под OS X клиент работает скверно. например нельзя написать большую букву М (кривота порта винформс под моно для os x) и иногда клиент просто вылетает на старте. но в целом вполне работоспособно.
кодировку пришлось изобрести свою, 8битную - чтоб везде одинаково работало и при компактности было всё что нужно. в кодировку входят цифры, все стандартные аски спецсимволы, cr, lf, табуляция, пробел, английские, русские, украинские и белорусские символы (включая белорусскую латинку) а также №©«»±®°™—“”’‘…–
еще 30-40 свободных мест в кодировке есть, принимаются пожелания
Как это примерно будет выглядеть:
слева списком будут показываться новые посты, по клику можно будет перейти в их тред (и они исчезнут из списка)
по центру окно просмотрщика тредов - по клику на сообщение выводится меню: войти в тред, ответить в тред, перейти на уровень выше, добавить пост в закладки, спрятать пост; по клику на пустое место выводится меню: собрать ПНГшку, перейти на уровень выше, поискать нанопосты, выйти
справа - окошко закладок. по клику - переход на закладку, дабл-клик удаляет закладку
нанопосты ищутся в тредах ссылки на которые прописаны (каждая ссылка в новой строчке) в файлике рядом с программкой. треды парсятся на предмет пнгшек, пнгшки скачиваются (повторно - не скачиваются, программа помнит что качалось, а что нет). делается попытка найти в скачанных пнгшках нанопосты, в случае успеха пользователь увидит новые посты в окошке слева.
собрать ПНГшку - значит поместить свои свежие посты, недавно скачанные посты, а также некоторый набор случайных постов со всей имеющейся базы в ПНГфайл (в нижние биты цвета, что незаметно для человеческого глаза). в качестве основы берется случайная картинка из папки containers (её надо наполнить своими картинками, возможно, в комплекте будет набор картинок).
итоговая ПНГшка с нанопостами помещается в папку upload. в эту папку нужно периодически заглядывать и загружать оттуда картинки на АИБ в условленные треды (те же треды что и в конфигурационном файле поиска)
поскольку картинка физически меняется, одну и ту же картинку можно много раз аплоадить на реальную АИБ.
программа при каждом закрытии собирает ПНГшку так что папка может засоряться, можно просто эти ПНГшки чистить и отправлять только самые свежие.
существует один корневой пост как точка синхронизации.
вообще каждый пост это также и тред. вложенность может быть бесконечной. такова особенность наноборды, имхо это очень удобно.
теперь плохие новости - под OS X клиент работает скверно. например нельзя написать большую букву М (кривота порта винформс под моно для os x) и иногда клиент просто вылетает на старте. но в целом вполне работоспособно.
кодировку пришлось изобрести свою, 8битную - чтоб везде одинаково работало и при компактности было всё что нужно. в кодировку входят цифры, все стандартные аски спецсимволы, cr, lf, табуляция, пробел, английские, русские, украинские и белорусские символы (включая белорусскую латинку) а также №©«»±®°™—“”’‘…–
еще 30-40 свободных мест в кодировке есть, принимаются пожелания
>в остальном джава рулит
На десктопе ей делать нехуй. Как и моно.
Я бы отдал предпочтение tcl/tk.
Код забыл.
пароль на скачивание: 2ch
http://rghost.net/7frYqC9zn
в комплекте программа, описание (README) и исходники.
UI писался в спешке, планирую заменить все на веб-интерфейс (как в усопшем проекте nanohtml)
позже залью на гитхаб
в настройках пока указан этот тред. картинка выше - пнг-контейнер. вызовите Search posts один раз, тред распарсится, пнгшка скачается, увидите тестовые посты. попробуйте создать посты (и попробуйте особо не мусорить, создавайте осмысленные посты). собранный пнг контейнер постить вручную сюда же.
если взлетит договоримся о местах обитания и заживём.
и копипаста с 410чана (более подробное объявление)
Новый клиент наноборды!
Умеет парсить АИБ-треды (из пользовательского списка), качать и расшифровывать с них пнгшки (формат контейнера другой), формирует пнг-контейнеры (для последующей ручной отправки). В контейнеры суёт свежие посты (которые написал сам юзер и просто недавно скачанные, а также рандомный набор из всех постов в базе пользователя). Способ шифрования пнгшек отличается от изложенного в ОП-посте, разработана своя 8-битная кодировка пригодная для жителей СНГ.
По нанопостам немного улучшил изначальную идею. Вместо хэша треда и хэша поста на который отвечаем оставлен только хэш поста на который отвечаем. Хэш увеличен в два раза. Поскольку и в самой наноборде каждый пост может быть тредом, логика остаётся прежней. Вытащить полный тред рекурсивно тоже не будет проблемой. Пока что просмотр ответов одного уровня.
Таймштампов которые многие хотели бы всунуть осознанно избежал. Их слишком легко будет подделать, а воспринимать инфу можно и без них ведь главное что посты ссылаются друг на друга и можно выстроить цепочки.
Вложения, картинки - легко подключить чуть позже (например base64) не меняя основной идеи.
Итак
Пароль на скачивание: 2ch
Ссылка: http://rghost.net/7frYqC9zn
Исходники внутри. Читаем README.
Планируется переход на веб-странички (локальный сервер), но пока что - окошечки.
Инструменты борьбы с вайпами пока только готовятя.
Это будет и пароль, который позволит "огородиться" и спам-фильтры, а также лимит на размер поста.
Разумеется это будет всего лишь борьба а не полное предотвращение. Ну, от вайпов никуда не деться.
Однако на данный момент уже есть возможность скрывать неугодные юзеру посты - они не будут показываться и распространятся в контейнерах. Таким образом может проявляться "модерация улья". Здесь как плюсы так и минусы (вы можете оказаться настолько противным в своих постах что вас вдруг все попрячут и в итоге не будут репостить).
Если заморочиться то можно создать систему коллективного проставляния рейтинга постам.
Кроме того пользователь уже сейчас может делать закладки, чтобы не потеряться в куче новых постов.
и копипаста с 410чана (более подробное объявление)
Новый клиент наноборды!
Умеет парсить АИБ-треды (из пользовательского списка), качать и расшифровывать с них пнгшки (формат контейнера другой), формирует пнг-контейнеры (для последующей ручной отправки). В контейнеры суёт свежие посты (которые написал сам юзер и просто недавно скачанные, а также рандомный набор из всех постов в базе пользователя). Способ шифрования пнгшек отличается от изложенного в ОП-посте, разработана своя 8-битная кодировка пригодная для жителей СНГ.
По нанопостам немного улучшил изначальную идею. Вместо хэша треда и хэша поста на который отвечаем оставлен только хэш поста на который отвечаем. Хэш увеличен в два раза. Поскольку и в самой наноборде каждый пост может быть тредом, логика остаётся прежней. Вытащить полный тред рекурсивно тоже не будет проблемой. Пока что просмотр ответов одного уровня.
Таймштампов которые многие хотели бы всунуть осознанно избежал. Их слишком легко будет подделать, а воспринимать инфу можно и без них ведь главное что посты ссылаются друг на друга и можно выстроить цепочки.
Вложения, картинки - легко подключить чуть позже (например base64) не меняя основной идеи.
Итак
Пароль на скачивание: 2ch
Ссылка: http://rghost.net/7frYqC9zn
Исходники внутри. Читаем README.
Планируется переход на веб-странички (локальный сервер), но пока что - окошечки.
Инструменты борьбы с вайпами пока только готовятя.
Это будет и пароль, который позволит "огородиться" и спам-фильтры, а также лимит на размер поста.
Разумеется это будет всего лишь борьба а не полное предотвращение. Ну, от вайпов никуда не деться.
Однако на данный момент уже есть возможность скрывать неугодные юзеру посты - они не будут показываться и распространятся в контейнерах. Таким образом может проявляться "модерация улья". Здесь как плюсы так и минусы (вы можете оказаться настолько противным в своих постах что вас вдруг все попрячут и в итоге не будут репостить).
Если заморочиться то можно создать систему коллективного проставляния рейтинга постам.
Кроме того пользователь уже сейчас может делать закладки, чтобы не потеряться в куче новых постов.
А если будет сплит, как в dns? Ну, не успею синхронизироваться и насоздают своих гетов. Потом кто-то ещё получит гет и будет бардак. Или у тебя всё на хешах + рандом?
1 почему lsb, а не f5 или что-нибудь нормальное?
2 зачем вообще наполнять картинками папку, если есть гугл имейджес, яндекс-картинки, фликр, вк, фб и двач с фочаном?
в наноборде не может быть проблем с синхронизацией, всё на хешах
бардак в наноборде сложно представить так как каждый нанопост ссылается на другой нанопост. а ссылаются посредством хэша который расчитывается не тоьлко с сообщения поста но и с хэша поста на который ссылается пост.
короче говоря получаются цепочки. кто когда и в каком порядке и объеме будет их загружать - не особо важно, клиентское приложение все структурирует как положено.
>>13473
пришлось. нельзя просто взять и сохранить текст в байты. байты это просто числа от 0 до 255. нужно еще знать какой букве соответствует какое число. для этого и есть кодировки. глянул я на имеющиеся 8-битные кодировки и охуел от количества лишнего говна идущего еще со времен ДОСа а то и из более древних 60-х терминалов, а также из ебанутых языков типа французского (всякие умляуты аеоui). К тому же к сожалению на разных платформах тот же моно может по разному кодировать UTF-8.
В нанокодировку вошло всё самое необходимое и осталось место в принципе достаточное чтобы попытаться ублажить еще и немцев/французов но нахуй они нам нужны? Для русского украинского беларусского и английского всё есть.
>>13474
f5 - не слыхал, прости. картинку сильно визуально портит? влазит больше да?
текущий вариант когда влазит около 100кб в 512х512 пнг - вполне хорош. можно задействовать 2 нижних байта но тогда будет шум.
какие-то манипуляции с самим пнг считаю недопустимыми, нужно работать исключительно с цветами пикселей, поскольку вот здесь на хиккаче например на сервере стоит кранчер и пнг которую ты заливаешь потом бинарно уже не совпадает с оригиналом. но пиксели остаются тех же цветов.
>>13475
я не ОП. гитом пользоваться умею, пока что влом заводить аккаунт (свой палить не хочу).
два нижних бита (вместо одного) - быстрофикс
однако что 100кб что 200кб - туда влезет не просто нанопост а постов 100-500 так что норм
Работает?
Что ты думаешь с гуем делать? Заебешься же под каждую платформу отдельно пилить.
Скачанный .ехе не сканируется
>>13494
Идеально.Я вложил картинку,и странным образом образовались картинки в 65 и 40 кбайт.Оригинал весил 13
>>13495
Chromium же
>>13497
Кодировку смени
>>13496
Решай сам
http://www.google.ru/search?q=нео+выбирает+таблетку&gws_rd=cr&ei=0B90VsqUNKXlywP94b_ABg
Для паразитирования можно юзать пастбин и cd.textfiles.com
>Решай сам
Есть два стула: на одном Tk точеный, на другом Electron дроченый. На какой сам сядешь, а на какой анона посадишь?
Официальный релиз наноборды:
https://github.com/nanoboard/nanoboard/releases
Просьба к тем, кто начинает постинг на новом месте - сообщать остальным сюда или на наноборду (через этот тред) чтобы люди дополнили свой places.txt.
>>13482
Вирусов нет. Если боишься - скачай xamarin и сбилди сам.
>>13496
Как я уже писал, думаю сделать веб-интерфейс как у нанохтмл. Но пока что работает под Win/OSX/Linux платформами (на OS X - с глючками, но вряд ли у многих стоит эта ось).
>>13497
В новом релизе ридми переписан. Будут снова проблемы с кодировкой - сообщай.
>>13501
Пока что не было времени на реализацию аналога нанохтмл. Переход на веб-интерфейс будет плавным и полностью совместимым с текущим клиентом. Как парсить пастбин - ходить по всем ссылкам? Дополнительные протоколы такие как битсинк можно будет подключить в виде плагинов, например. Что-нибудь подумаю в этом направлении.
>>13502
Пока что Winforms, а дальше - html+css.
>>13510
К сожалению под виндой (не помню 8 или 7) вместо русских букв в меню (именно в меню) иероглифы. Это наверняка можно решить но я пока не решил.
Официальный релиз наноборды:
https://github.com/nanoboard/nanoboard/releases
Просьба к тем, кто начинает постинг на новом месте - сообщать остальным сюда или на наноборду (через этот тред) чтобы люди дополнили свой places.txt.
>>13482
Вирусов нет. Если боишься - скачай xamarin и сбилди сам.
>>13496
Как я уже писал, думаю сделать веб-интерфейс как у нанохтмл. Но пока что работает под Win/OSX/Linux платформами (на OS X - с глючками, но вряд ли у многих стоит эта ось).
>>13497
В новом релизе ридми переписан. Будут снова проблемы с кодировкой - сообщай.
>>13501
Пока что не было времени на реализацию аналога нанохтмл. Переход на веб-интерфейс будет плавным и полностью совместимым с текущим клиентом. Как парсить пастбин - ходить по всем ссылкам? Дополнительные протоколы такие как битсинк можно будет подключить в виде плагинов, например. Что-нибудь подумаю в этом направлении.
>>13502
Пока что Winforms, а дальше - html+css.
>>13510
К сожалению под виндой (не помню 8 или 7) вместо русских букв в меню (именно в меню) иероглифы. Это наверняка можно решить но я пока не решил.
Бля, ты не мог в текстовом формате выложить? Ну пиздец, зачем быть таким уебком? Возьми маркдаун, блядь, и пиши в нем, нахуя тебе одт? Пиздец просто.
У него стеганография в картинках, если я правильно понял.
Вообще, идея отвязки от браузера изначально ущербная, нужно было всё в виде расширения делать.
Я не оп, но ты можешь и тему перечитать. Наноборда паразитирует пока лишь на других средствах, пока лишь имиджбордах. Можно добавить даже qr-коды.
Я не ОП этого треда. Я создаю Наноборду. Я автор оригинальной идеи. Постил эту идею еще пару лет назад на эту борду а также в 410чан.
Наноборда это по сути децентрализованная анонимная имидж борда. Именно поэтому я написал в этот тред.
Предыдущая работающая реализация нанобрды (nanohtml) состояла из генератора веб-страниц (с тредами), который считывал папку с картинками текстовыми файликами - в каждом файлике - нанопост, опционально ссылающийся на картинку по хешу. С веб-страницы можно было написать ответ и скачать файлик который нужно распространить. Картинки и текстовые файлики нужно было распространять вручную. Тестировалось это все несколькими анонами с использованием BitSync (шарили папку с текстовыми файликами и картинками). Просуществовала эта версия наноборды недолго (возможно до сих пор существует но это очень вряд ли). Уже тогда была идея и некоторые инструменты по "паразитированию" на других имиджбордах посредством обмена пнг-картинками с вшитыми нанопостами, но практического применения не было.
Новая реализация наноборды, которую я делаю сейчас, имеет слегка отличающийся формат нанопостов. Хеш увеличен в 2 раза, каждый пост теперь ссылается не на 2 поста (один из которых "тред"), а на один. Я посчитал ссылку на 2 поста излишней поскольку вокруг любого нанопоста может сформироваться тред и различие между тредами и постами размыто даже в версии со ссылкой на 2 поста. Теперь явно подчеркивается, что участники отвечают нанопостом на нанопост и могут смотреть ответы на нанопост, которые тоже являются нанопостами, на которые тоже могут быть и ответы и так бесконечно. Программно можно развернуть любой нанопост до полного "треда", но пока что я не вижу в этом необходимости и если это сделать слишком "высоко" то результат получится огромным.
Кроме формата идея не особо поменялась.
Недавно я выпустил новый оконный клиент наноборды.
Его особенность - реализовано скачивание и распознавание пнг-контейнеров с заданного списка аиб тредов. Реализована упаковка пнг-контейнера. Постинг пнг-контейнеров ручной.
Это было всего пару дней назад.
Сейчас я сконцентрировался на создании веб-интерфейса (на основе локального сервера, примерно как организован клиент i2p).
Это значит, что нанопосты можно просматривать по адресу 127.0.0.1 (+некий порт), там же постить ответы, вызывать скачивание новых постов, вызывать формирование своего пнг-контейнера и другое.
Что еще планирую добавить:
разметку
картинки (будет преобразование в jpeg, и уменьшение особо больших картинок. это вынужденная мера поскольку пнг-контейнер не резиновый)
шифрование (мера безопасности. по ключу можно будет полностью огородиться в свою наноборду)
Я не ОП этого треда. Я создаю Наноборду. Я автор оригинальной идеи. Постил эту идею еще пару лет назад на эту борду а также в 410чан.
Наноборда это по сути децентрализованная анонимная имидж борда. Именно поэтому я написал в этот тред.
Предыдущая работающая реализация нанобрды (nanohtml) состояла из генератора веб-страниц (с тредами), который считывал папку с картинками текстовыми файликами - в каждом файлике - нанопост, опционально ссылающийся на картинку по хешу. С веб-страницы можно было написать ответ и скачать файлик который нужно распространить. Картинки и текстовые файлики нужно было распространять вручную. Тестировалось это все несколькими анонами с использованием BitSync (шарили папку с текстовыми файликами и картинками). Просуществовала эта версия наноборды недолго (возможно до сих пор существует но это очень вряд ли). Уже тогда была идея и некоторые инструменты по "паразитированию" на других имиджбордах посредством обмена пнг-картинками с вшитыми нанопостами, но практического применения не было.
Новая реализация наноборды, которую я делаю сейчас, имеет слегка отличающийся формат нанопостов. Хеш увеличен в 2 раза, каждый пост теперь ссылается не на 2 поста (один из которых "тред"), а на один. Я посчитал ссылку на 2 поста излишней поскольку вокруг любого нанопоста может сформироваться тред и различие между тредами и постами размыто даже в версии со ссылкой на 2 поста. Теперь явно подчеркивается, что участники отвечают нанопостом на нанопост и могут смотреть ответы на нанопост, которые тоже являются нанопостами, на которые тоже могут быть и ответы и так бесконечно. Программно можно развернуть любой нанопост до полного "треда", но пока что я не вижу в этом необходимости и если это сделать слишком "высоко" то результат получится огромным.
Кроме формата идея не особо поменялась.
Недавно я выпустил новый оконный клиент наноборды.
Его особенность - реализовано скачивание и распознавание пнг-контейнеров с заданного списка аиб тредов. Реализована упаковка пнг-контейнера. Постинг пнг-контейнеров ручной.
Это было всего пару дней назад.
Сейчас я сконцентрировался на создании веб-интерфейса (на основе локального сервера, примерно как организован клиент i2p).
Это значит, что нанопосты можно просматривать по адресу 127.0.0.1 (+некий порт), там же постить ответы, вызывать скачивание новых постов, вызывать формирование своего пнг-контейнера и другое.
Что еще планирую добавить:
разметку
картинки (будет преобразование в jpeg, и уменьшение особо больших картинок. это вынужденная мера поскольку пнг-контейнер не резиновый)
шифрование (мера безопасности. по ключу можно будет полностью огородиться в свою наноборду)
> Сейчас я сконцентрировался на создании веб-интерфейса (на основе локального сервера, примерно как организован клиент i2p).
Очень плохая идея, так как во-первых, будут XSS (как в i2p), а во-вторых, невозможно поставить на машину с кучей пользователей (на свой сервер под отдельного пользователя и т.п.).
Что касается альтернативных путей распространения. Их может быть сколь угодно много. Наноборда не требует каких-либо правил или протоколов распространения. Каждый нанопост независим, может распространяться отдельно и содержит всё, что нужно, чтобы его можно было бы потом увязать в общую наноборду. Поэтому для того, чтобы наноборда работала достаточно организовать обмен нанопостов.
В способе с пнг-контейнерами (в один контейнер влазят десятки или сотни (если чисто текстовых) постов) происходит постоянная ретрансляция предыдущих постов (недавно полученные участником нанопосты отправляются чаще, но в целом в контейнер может попасть любой пост, даже самый старый), за счет чего создается информациионное насыщение и поэтому даже один скачанный пнг-контейнер для нового участника может дать достаточно объемный слепок состояния наноборды, а несколько свежих контейнеров от разных участников дадут ему практически полную базу, пусть и с пробелами в очень "старых" "тредах".
Вместительность пнг-контейнеров:
512x512 = 96Кб
1024x1024 = 348Кб
2048x2048 = 1.5Мб
В веб-клиенте предполагается насильное уменьшение jpeg картинок пока размер не превратится в 32Кб или меньше. Думаю об опции разрешения постинга и хайрез картинок но такие нанопосты не будут попадать в другие пнг-контейнеры при ретрансляции. Всё-таки наноборда это не файлобменник и условия у нас спартанские.
Теперь что касается QR-кодов. Это апокалиптический вариант, который предполагает отсутствие интернета и присутствие людей страстно желающих поддерживать жизнь наноборды, которые расклеивают и считывают qr-коды по людым местам таким как метро. Очень фантастический вариант но технически вполне возможный. Но надо понимать, что в одном QR-коде может уместиться разве что мой вот этот вот пост. Поэтому "трафик" в наноборде будет уже далеко не тот - это ж прикиньте сколько надо будет распечатать, расклеить и считать qr-кодов.
Поэтому для варианта с отключением/блокированием интернетов лучше подойдёт распространение через mesh-сети на wifi, bluetooth (в забитом вагоне метро самое оно) а также с помощью несанкционированной сети радиоретрансляторов (замаскированных во дворах) на wifi (для домов вокруг) и других волнах "дальнего действия".
Лоу-тек вариант - разбрасывание дискеток, компакт-дисков, перфокарт - слишком много минусов (затратно, низкая скорость обмена).
Но какой бы способ не был бы выбран - наноборду (и даже её программный клиент) менять не придется.
>>13577
хсс - понадобятся дополнительные меры предосторожности от пользователя, насчет машины с кучей пользователей - хз где это может пригодится, у меня своя машина, что хочу то и творю или я не так понял?
вообще учитывая такие опасности, стоит ли забить на веб-интерфейс и развивать дальше оконный клиент? возможность добавить разметку и изображения есть и там, если что.
Что касается альтернативных путей распространения. Их может быть сколь угодно много. Наноборда не требует каких-либо правил или протоколов распространения. Каждый нанопост независим, может распространяться отдельно и содержит всё, что нужно, чтобы его можно было бы потом увязать в общую наноборду. Поэтому для того, чтобы наноборда работала достаточно организовать обмен нанопостов.
В способе с пнг-контейнерами (в один контейнер влазят десятки или сотни (если чисто текстовых) постов) происходит постоянная ретрансляция предыдущих постов (недавно полученные участником нанопосты отправляются чаще, но в целом в контейнер может попасть любой пост, даже самый старый), за счет чего создается информациионное насыщение и поэтому даже один скачанный пнг-контейнер для нового участника может дать достаточно объемный слепок состояния наноборды, а несколько свежих контейнеров от разных участников дадут ему практически полную базу, пусть и с пробелами в очень "старых" "тредах".
Вместительность пнг-контейнеров:
512x512 = 96Кб
1024x1024 = 348Кб
2048x2048 = 1.5Мб
В веб-клиенте предполагается насильное уменьшение jpeg картинок пока размер не превратится в 32Кб или меньше. Думаю об опции разрешения постинга и хайрез картинок но такие нанопосты не будут попадать в другие пнг-контейнеры при ретрансляции. Всё-таки наноборда это не файлобменник и условия у нас спартанские.
Теперь что касается QR-кодов. Это апокалиптический вариант, который предполагает отсутствие интернета и присутствие людей страстно желающих поддерживать жизнь наноборды, которые расклеивают и считывают qr-коды по людым местам таким как метро. Очень фантастический вариант но технически вполне возможный. Но надо понимать, что в одном QR-коде может уместиться разве что мой вот этот вот пост. Поэтому "трафик" в наноборде будет уже далеко не тот - это ж прикиньте сколько надо будет распечатать, расклеить и считать qr-кодов.
Поэтому для варианта с отключением/блокированием интернетов лучше подойдёт распространение через mesh-сети на wifi, bluetooth (в забитом вагоне метро самое оно) а также с помощью несанкционированной сети радиоретрансляторов (замаскированных во дворах) на wifi (для домов вокруг) и других волнах "дальнего действия".
Лоу-тек вариант - разбрасывание дискеток, компакт-дисков, перфокарт - слишком много минусов (затратно, низкая скорость обмена).
Но какой бы способ не был бы выбран - наноборду (и даже её программный клиент) менять не придется.
>>13577
хсс - понадобятся дополнительные меры предосторожности от пользователя, насчет машины с кучей пользователей - хз где это может пригодится, у меня своя машина, что хочу то и творю или я не так понял?
вообще учитывая такие опасности, стоит ли забить на веб-интерфейс и развивать дальше оконный клиент? возможность добавить разметку и изображения есть и там, если что.
> вообще учитывая такие опасности, стоит ли забить на веб-интерфейс и развивать дальше оконный клиент?
Самый главный вопрос в том, на чем ты будешь это все кодить. .NET тянуть в любом случае не надо. Qt и C++ неплохой компромисс для кроссплатформенной гуевины. Может быть Python + Tk, но вендобляди не одобрят, наверное. Если очень хочется web, то я бы смотрел в сторону standalone HTML5-приложений, которые устанавливаются в браузер, но по-моему технология сыровата. Скорее пересилил бы свое отвращение к плюсам и на Qt пилил бы.
> насчет машины с кучей пользователей - хз где это может пригодится, у меня своя машина, что хочу то и творю или я не так понял?
Закинул ты малварь под отдельного юзера. До обычного клиента она не доберется. А тут получается, что любая малварь сможет постучать на 127.0.0.1:port и поменять настройки, запостить какую-нибудь хуиту и т.п. К тому же нужно думать про CSRF постоянно, чтобы веб-сайты не могли в твои настройки лезть.
Если тебе не трудно, закодируй типичный нанопост (3-5 кб) в base64 и залей на pastebin. Хочется глянуть на сообщения. И такой ввопрос: зачем ты придумал свою кодировку? zlib жмет русский до 60%, можно было бы и православный UTF-8 применить ради кросс-платформенности.
Лично я посоветую развивать оконный клиент, т.к. сам иногда пилю и предпочитаю не использовать браузер лишний раз.
>>13580
>Qt и C++ неплохой компромисс для кроссплатформенной гуевины. Может быть Python + Tk, но вендобляди не одобрят, наверное.
Питон отлично собирается в .exe бинарник с помощью сборщиков. Размер бинарников около 12-14Мб т.к. он тащит интерпретатор, в то время как в среднем С++ и Qt получаются около 5-6Мб. Не так много на самом деле, учитывая характеристики современных ПК.
Но почему надо отказываться от .NET? (на самом деле я использую Моно а не .Net и сижу под OS X). Если ты не "вендобл" то какая ОС тебя интересует? Под линуксом текущий клиент работает без проблем нужно только установить моно (sudo apt-get install mono например и всё). Некоторые проблемы есть при работе в OS X, главные из них - нельзя ввести прописную М (и многие другие прописные буквы) и общие тормоза (но с этим можно жить). Проблема с буквами легко фиксится (слушанием клавиатуры). Однако в конце концов сложно представить крипто(!)анона который сидит под OS X и наотрез отказывается поднять виртуалку с линуксом.
А вообще честно говоря я просто не могу в кресты, питон (к нему особая претензия - к производительности) и Qt, а вникать не особо много времени и желания. Кроме того уверен, что с кодом на шарпе у меня найдется больше продолжателей в случае чего.
Я согласен что представленный мной клиент весьма уродлив и удобство оставляет желать лучшего.
Также соглашусь что и шарп и моно и винформс - отвратительные куски говна.
Но это работает, это может вдохновлять и это лучше чем просто мечты.
На крестах, питоне, чем-нибудь еще могу помочь написать библиотеку для конвертации текста в байты, имеющие кодировку нанопостов ну и считалку хеша для нанопостов. Всё остальное (гуй, способ обмена, поддержка базы нанопостов) может писать кто угодно на самых разных технологиях и при условии что кодировка и способ расчета хэша будет один и тот же - клиенты будут одинаково совместимыми.
За хтмл взялся чисто ради более приятного пользовательского интерфейса и вида постов который можно запросто наворотить на html+css.
>>13582
По-поводу кодировки, для чего-то кроме английского текста utf-8 не годится если ты хочешь компактности. Для русского, украинского, для тирешки, русских кавычек или знака копирайта 8-бит уже недостаточно, в ход идут 16-битные символы. Ну и потом нет гарантии что utf-8 на всех фреймворках/платформах будет работать одинаково с кириллицей (у меня возникли проблемы с utf-8 на моно под os x, в суть не вникал). А мне нужно чтобы при расчете хешей с постов где куча кириллицы была какая-то гарантия, чтобы на хэши можно было бы полагаться. Остаются кодировки типа KOIR-8, CP1251. Но там 1) много лишнего (около 30 управляющих символов придуманных в 1972-м а также уродливые никем не используемые спецсимволы и символы псевдографики для нужд наноборды бесполезны) 2) много недостающих символов.
Вот всего этого вместе:
?!"#$%&'()+,-./0123456789:;<=> @
ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
abcdefghijklmnopqrstuvwxyz{|}~ЎўЄєІіЇї
АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
абвгдеёжзийклмнопрстуфхцчшщъыьэюя
čšžćśźńŭłČŠŽĆŚŽŽŬŁ
№©«»±®Ґґ°™—“”’‘…–
\n\r\t
я еще не встречал ни в одной 8-битной кодировке.
При этом тут есть даже беларусская латинка которая нужна 0.0000000001% беларусов, просто осталось еще немало места в кодировке вот и всунул. И все равно еще есть место.
пост в base64 позже скину.
Но почему надо отказываться от .NET? (на самом деле я использую Моно а не .Net и сижу под OS X). Если ты не "вендобл" то какая ОС тебя интересует? Под линуксом текущий клиент работает без проблем нужно только установить моно (sudo apt-get install mono например и всё). Некоторые проблемы есть при работе в OS X, главные из них - нельзя ввести прописную М (и многие другие прописные буквы) и общие тормоза (но с этим можно жить). Проблема с буквами легко фиксится (слушанием клавиатуры). Однако в конце концов сложно представить крипто(!)анона который сидит под OS X и наотрез отказывается поднять виртуалку с линуксом.
А вообще честно говоря я просто не могу в кресты, питон (к нему особая претензия - к производительности) и Qt, а вникать не особо много времени и желания. Кроме того уверен, что с кодом на шарпе у меня найдется больше продолжателей в случае чего.
Я согласен что представленный мной клиент весьма уродлив и удобство оставляет желать лучшего.
Также соглашусь что и шарп и моно и винформс - отвратительные куски говна.
Но это работает, это может вдохновлять и это лучше чем просто мечты.
На крестах, питоне, чем-нибудь еще могу помочь написать библиотеку для конвертации текста в байты, имеющие кодировку нанопостов ну и считалку хеша для нанопостов. Всё остальное (гуй, способ обмена, поддержка базы нанопостов) может писать кто угодно на самых разных технологиях и при условии что кодировка и способ расчета хэша будет один и тот же - клиенты будут одинаково совместимыми.
За хтмл взялся чисто ради более приятного пользовательского интерфейса и вида постов который можно запросто наворотить на html+css.
>>13582
По-поводу кодировки, для чего-то кроме английского текста utf-8 не годится если ты хочешь компактности. Для русского, украинского, для тирешки, русских кавычек или знака копирайта 8-бит уже недостаточно, в ход идут 16-битные символы. Ну и потом нет гарантии что utf-8 на всех фреймворках/платформах будет работать одинаково с кириллицей (у меня возникли проблемы с utf-8 на моно под os x, в суть не вникал). А мне нужно чтобы при расчете хешей с постов где куча кириллицы была какая-то гарантия, чтобы на хэши можно было бы полагаться. Остаются кодировки типа KOIR-8, CP1251. Но там 1) много лишнего (около 30 управляющих символов придуманных в 1972-м а также уродливые никем не используемые спецсимволы и символы псевдографики для нужд наноборды бесполезны) 2) много недостающих символов.
Вот всего этого вместе:
?!"#$%&'()+,-./0123456789:;<=> @
ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
abcdefghijklmnopqrstuvwxyz{|}~ЎўЄєІіЇї
АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
абвгдеёжзийклмнопрстуфхцчшщъыьэюя
čšžćśźńŭłČŠŽĆŚŽŽŬŁ
№©«»±®Ґґ°™—“”’‘…–
\n\r\t
я еще не встречал ни в одной 8-битной кодировке.
При этом тут есть даже беларусская латинка которая нужна 0.0000000001% беларусов, просто осталось еще немало места в кодировке вот и всунул. И все равно еще есть место.
пост в base64 позже скину.
http://pastebin.com/raw/StmnmwJn - вот, это совершенно валидный нанопост в нанокодировке преобразованный в base64
вот исходник, здесь есть главные операции над текстом - преобразование в байты в нанокодировке и расчет хэша для нанопоста, который можно использовать чтобы ответить на пост:
http://ideone.com/si12Rh
>Может быть Python + Tk, но вендобляди не одобрят, наверное.
Tcl + Tk они одобряют: выглядит нативно, установить требуется только activetcl.
>Qt и C++
Заебется пилить.
в связи с обновлением алгоритма добавил новый и, возможно (если не найдутся очень серьезные баги), последний релиз оконного клиента, дальше будут только релизы браузерной версии. вопросы безопасности упомянутые здесь постараюсь рассмотреть. как минимум дам предостережения пользователю.
Да и вообще, было бы неплохо иметь спецификацию, чтоб люди могли свободно свои клиенты пилить.
Почему бы просто не сжимать zlib'ом json?
Вот сейчас проверил.
Этот код http://ideone.com/si12Rh в юникоде занимает 5110 байт, ужатый gzip'ом - 1812, что примерно в 2.8 раза меньше.
В однобайтовой кодировке тот же текст занимает 3683 байт, если же его ужать гзипом что, кстати, в наноборде не делается, то получается 1586 байт.
Экономия на спичках, не иначе.
Ниже привожу основную инфу что сейчас есть по спецификациям наноборды.
Для начала вкратце отпишу. По поводу нечитаемости языка, скажи какой язык для тебя читаем, я постараюсь накалякать на нём базовые методы (считалка хэша, кодировка).
По поводу сжатия, этим можно (и стоит) заняться отдельно, не вмешиваясь в кодировку. Нанокодировка создана не только ради сжатия, сжатие тут играет далеко не главную роль. Плюс нанокодировки в том, что набор символов которые она кодирует не "бинарный" вообще и может быть скопирован-вставлен и даже переписан вручную на листочек. Об этом тоже ниже в деталях.
По поводу json - лишние байты в трафике, лишние правила, отсюда риски cпоров и расхождений в реализациях. Нанопост хорош своим минимализмом, когда менять ничего не требуется и убирать тоже нечего. Это обеспечивает легкость создания совместимой реализации и дает некоторые другие профиты о которых ниже.
Нанопост — текст произвольного размера.
Первые 32 символа в нанопосте обязаны быть шестандцатиричным текстовым представлением 16-байтного хэша. В противном случае нанопост считается невалидным, такое отсеивание поможет в борьбе с подбором коллизии. Этот хэш — хэш нанопоста, на который отвечает данный нанопост. Например: a3d6efb12ee82ca341dfdc90af1ace2b
Сообщение нанопоста следует сразу после хэша без пробелов и переносов строки.
Хотя максимальный размер всего нанопоста не регламентируется, клиенты могут его ограничивать при надобности.
Еще раз подчеркну — нанопост это не байты, это обязательно читаемый текст, который можно без трудностей выписать чернилами на листик бумаги или зачитать по радио (экстремальные варианты распространения). Именно поэтому хэш выглядит так. Кроме того такой хэш удобно использовать как имя файла (что может быть использовано в некоторых реализациях).
Хэш считается со всего нанопоста включая родительский хэш.
Способ расчета хэша - преобразование нанопоста в байты с использованием нанокодировки, затем взятие SHA256 хэша с этих байтов (используются первые 16 байт SHA256). Полученные 16 байт преобразуются в текст. Символы строчные, нули вначале не обрезаются. Например 1 — 01, 254 — fe. В итоге должно получиться 32 символа от 0 до f или 16 групп по 2 символа от 00 до ff.
Поскольку каждый нанопост отвечает на другой нанопост, то естественным образом формируются треды и выстраивается очередность сообщений без необходимости в, к слову, легко фальсифицируемых отметках времени или номерах постов.
Нанокодировка — 8-битная кодировка включающая пробел, перенос строки, русские, английские, украинские и беларусские символы, стандартные знаки препинания, доступные для ввода со стандартной английской, русской, украинской и белорусской раскладок, а также некоторые “типографские” символы такие как тире и кавычки.
Цель нанокодировки — уместить всё, необходимое жителям СНГ (и даже США) в 8 бит, избавиться от необходимости тянуть наследие терминалов 70-х годов, создать строгую, независимую базу для расчета хэшей, достичь простоты реализации (сразу ясно, что каждый символ займет ровно один байт) и добиться визуальной (и аудиальной) переносимости нанопоста, что было бы невозможно с utf-8 с его десятками вариантов пробелов, точек, скобок и прочего. Сжатие — не цель нанокодировки. На это есть другие инструменты.
Наноконтейнер — ПНГ-картинка с зашифрованными нанопостами. Один из способов распространения нанопостов. Данные запихиваются в нижние биты компонентов (в порядке: R,G,B). Выше по треду есть ссылка на детальное описание алгоритма. В наноконтейнере тоже используется нанокодировка. По этой же причине там нет значений (например, целочисленных) в сырых байтах. Далее все размеры (в числах) записываются восемью символами от 0 до f. (32бит). Например 2 — 00000002.
Первым в наноконтейнер идёт количество нанопостов (например 00000002 для двух постов). Далее на каждый нанопост идёт размер каждого нанопоста в символах/байтах (точно такой же нотацией). Далее идут по очереди содержимое нанопостов. Всё без каких-либо разделителей.
Шифрование применяется к будущему содержимому наноконтейнера. Байты ксорятся SHA512 полученным с текстового ключа (байты ключа получены через нанокодировку). После этого записываются в пнг. При чтении пнг, вытащенные из нижних битов байты снова ксорятся тем же хэшом с того же ключа.
Ретрансляция чужих постов крайне важна для удовлетворительной работы наноборды. Именно поэтому в пнг-контейнеры в моей реализации записываются частично самые свежие нанопосты и частично случайным образом отобранные старые нанопосты. Поскольку редкий пост без картинки займет 100Кб, будет слишком расточительно тратить целый пнг-контейнер на один нанопост (1-5Кб).
Цель пнг-контейнеров — спрятать нанопосты от посторонних глаз, сделать обмен нанопостами малозаметным и сложно детектируемым. Пнг-контейнеры не предназначены для сжатия или для максимизации объема трафика наноборды (хотя они и стараются выполнить эту миссию).
На данный момент корневым постом выбран пост:
00000000000000000000000000000000{Welcome to Nanoboard}
А ключом шифрования наноконтейнеров — слово nano
Текущий клиент ограничивает размер нанопоста до 16Кб.
Встраивание картинок планируется через base64 datauri.
Веб-версии обязательно должны заменять все > на > и так далее, оставлять только <img datauri (тщательно валидировать содержимое) и разметку типа <b><sup><i>. Учитывая возможность встраивания картинок максимальный размер стоит делать повыше, чем 16Кб.
Ниже привожу основную инфу что сейчас есть по спецификациям наноборды.
Для начала вкратце отпишу. По поводу нечитаемости языка, скажи какой язык для тебя читаем, я постараюсь накалякать на нём базовые методы (считалка хэша, кодировка).
По поводу сжатия, этим можно (и стоит) заняться отдельно, не вмешиваясь в кодировку. Нанокодировка создана не только ради сжатия, сжатие тут играет далеко не главную роль. Плюс нанокодировки в том, что набор символов которые она кодирует не "бинарный" вообще и может быть скопирован-вставлен и даже переписан вручную на листочек. Об этом тоже ниже в деталях.
По поводу json - лишние байты в трафике, лишние правила, отсюда риски cпоров и расхождений в реализациях. Нанопост хорош своим минимализмом, когда менять ничего не требуется и убирать тоже нечего. Это обеспечивает легкость создания совместимой реализации и дает некоторые другие профиты о которых ниже.
Нанопост — текст произвольного размера.
Первые 32 символа в нанопосте обязаны быть шестандцатиричным текстовым представлением 16-байтного хэша. В противном случае нанопост считается невалидным, такое отсеивание поможет в борьбе с подбором коллизии. Этот хэш — хэш нанопоста, на который отвечает данный нанопост. Например: a3d6efb12ee82ca341dfdc90af1ace2b
Сообщение нанопоста следует сразу после хэша без пробелов и переносов строки.
Хотя максимальный размер всего нанопоста не регламентируется, клиенты могут его ограничивать при надобности.
Еще раз подчеркну — нанопост это не байты, это обязательно читаемый текст, который можно без трудностей выписать чернилами на листик бумаги или зачитать по радио (экстремальные варианты распространения). Именно поэтому хэш выглядит так. Кроме того такой хэш удобно использовать как имя файла (что может быть использовано в некоторых реализациях).
Хэш считается со всего нанопоста включая родительский хэш.
Способ расчета хэша - преобразование нанопоста в байты с использованием нанокодировки, затем взятие SHA256 хэша с этих байтов (используются первые 16 байт SHA256). Полученные 16 байт преобразуются в текст. Символы строчные, нули вначале не обрезаются. Например 1 — 01, 254 — fe. В итоге должно получиться 32 символа от 0 до f или 16 групп по 2 символа от 00 до ff.
Поскольку каждый нанопост отвечает на другой нанопост, то естественным образом формируются треды и выстраивается очередность сообщений без необходимости в, к слову, легко фальсифицируемых отметках времени или номерах постов.
Нанокодировка — 8-битная кодировка включающая пробел, перенос строки, русские, английские, украинские и беларусские символы, стандартные знаки препинания, доступные для ввода со стандартной английской, русской, украинской и белорусской раскладок, а также некоторые “типографские” символы такие как тире и кавычки.
Цель нанокодировки — уместить всё, необходимое жителям СНГ (и даже США) в 8 бит, избавиться от необходимости тянуть наследие терминалов 70-х годов, создать строгую, независимую базу для расчета хэшей, достичь простоты реализации (сразу ясно, что каждый символ займет ровно один байт) и добиться визуальной (и аудиальной) переносимости нанопоста, что было бы невозможно с utf-8 с его десятками вариантов пробелов, точек, скобок и прочего. Сжатие — не цель нанокодировки. На это есть другие инструменты.
Наноконтейнер — ПНГ-картинка с зашифрованными нанопостами. Один из способов распространения нанопостов. Данные запихиваются в нижние биты компонентов (в порядке: R,G,B). Выше по треду есть ссылка на детальное описание алгоритма. В наноконтейнере тоже используется нанокодировка. По этой же причине там нет значений (например, целочисленных) в сырых байтах. Далее все размеры (в числах) записываются восемью символами от 0 до f. (32бит). Например 2 — 00000002.
Первым в наноконтейнер идёт количество нанопостов (например 00000002 для двух постов). Далее на каждый нанопост идёт размер каждого нанопоста в символах/байтах (точно такой же нотацией). Далее идут по очереди содержимое нанопостов. Всё без каких-либо разделителей.
Шифрование применяется к будущему содержимому наноконтейнера. Байты ксорятся SHA512 полученным с текстового ключа (байты ключа получены через нанокодировку). После этого записываются в пнг. При чтении пнг, вытащенные из нижних битов байты снова ксорятся тем же хэшом с того же ключа.
Ретрансляция чужих постов крайне важна для удовлетворительной работы наноборды. Именно поэтому в пнг-контейнеры в моей реализации записываются частично самые свежие нанопосты и частично случайным образом отобранные старые нанопосты. Поскольку редкий пост без картинки займет 100Кб, будет слишком расточительно тратить целый пнг-контейнер на один нанопост (1-5Кб).
Цель пнг-контейнеров — спрятать нанопосты от посторонних глаз, сделать обмен нанопостами малозаметным и сложно детектируемым. Пнг-контейнеры не предназначены для сжатия или для максимизации объема трафика наноборды (хотя они и стараются выполнить эту миссию).
На данный момент корневым постом выбран пост:
00000000000000000000000000000000{Welcome to Nanoboard}
А ключом шифрования наноконтейнеров — слово nano
Текущий клиент ограничивает размер нанопоста до 16Кб.
Встраивание картинок планируется через base64 datauri.
Веб-версии обязательно должны заменять все > на > и так далее, оставлять только <img datauri (тщательно валидировать содержимое) и разметку типа <b><sup><i>. Учитывая возможность встраивания картинок максимальный размер стоит делать повыше, чем 16Кб.
кстати, за питон сразу скажу там sha256 не вычислить без сторонних библиотек. не говоря уже от c++. и вряд ли там и там это будет более читаемо чем на шарпе. кое-как могу перенести на java
а еще нанопост можно сохранить в обычный текствый файл. нанокодировка вообще фигурирует только при в расчете хэшей ну и в пнг-контейнерах.
сорри за дезу, меня сбил с толку ответ здесь:
http://stackoverflow.com/questions/1328155/sha256-hash-in-python-2-4
конечно же в свежих версиях питона всё это есть
>По поводу json - лишние байты в трафике
Излишек мизерный. Со сжатием не превысит и 10%
>лишние правила, отсюда риски cпоров и расхождений в реализациях.
Наоборот, твой формат дает лишние правила с кучей неочевидностей. Например, ты хеш и размеры постов транслируешь в нанокодировку.
К тому же, текущий формат слишком примитивен и не поддается расширению без ломания обратной совместимости, что уже большой минус.
Ну и не юниксвейненько. Инструмент должен решать только одну проблему, а не все сразу по чуть-чуть.
>Плюс нанокодировки в том, что набор символов которые она кодирует не "бинарный" вообще и может быть скопирован-вставлен и даже переписан вручную на листочек.
Она именно и предполагает своё бинарное представление. Лишнее преобразование на пустом месте.
А скопированы-вставлены или перенесены на листочек могут быть любые символы юникода, иначе их бы туда не добавляли. ☺
>нанокодировка вообще фигурирует только при в расчете хэшей ну и в пнг-контейнерах
Тогда какой в ней смысл? Получается, если я заполучу некоторые посты с "запрещенными" символами из текстового файла, то я не смогу их затолкать в пнг для последующего распространения.
кстати пока писал питоновский код (писал в текстовом редакторе textedit маковском) обломался несколько раз при попытке запуска так как кавычки и апострофы редактор повставлял свои - похожие, но не те.
Ну и какой в этом смысл? Захотел написать смайлик - получил вопросик, захотел математическую формулу - на тебе вопросик, захотел на языке двумерных тянок поговорить - хуй тебе с вопросиками.
Она ещё и формат окончательно превращает в бинарный.
не только размеры постов - а всю огромную строчку (где указано количество нанопостов, размеры нанопостов а дальше сами нанопосты) которая готовится к отправке в пнг-контейнер я кодирую нанокодировкой (надо же как-то перевести её в байты). почему не utf-8 я уже объяснял
по поводу json еще раз. нечего туда класть. и возможность расширить тоже не нужна. я видел попытки сделать json-based реализацию там были таймштампы вложения и прочее это уже слишком, это не нанопосты а мегапосты какие-то. про уязвимость таймштампов уже высказывался не раз. в общем нечего там расширять. надо людям обмениваться сообщениями по цепочкам и всё. единственное что не совсем вписывается в изначальную идею - картинки. есть два решения, которые не требуют изменений/расширений и ничего не ломают никакую обратную совместимость: 1) base64 типа datauri картинка, 2) ссылка на хэш картинки и передача картинки отдельным каналом.
в случае крайней необходимости идею нанопостов с хешами и пнг-контейнерами в нанокодировке можно расширить тегом который позволит в base64 передать utf-8 строчку.
не часто видел чтобы тут мат.формулами обменивались.
>почему не utf-8 я уже объяснял
Где?
>надо же как-то перевести её в байты
В сишарпе нет средств для работы со строкой как с байтовой последовательностью? Или что?
Не понимаю, зачем плодить лишнюю сущность, которая, по твоим словам, фигурирует только при упаковке в пнг?
И вообще, если по-хорошему, то формат должен быть один, но простым и универсальный, который можно как в чистом виде распространять, так и сжатый внутри какого-либо контейнера. Текущий бинарный пиздец с жесткой привязкой к позициям внутри файла простым и универсальным назвать трудно. Работать с таким без специализированных инструментов невозможно.
Эх, костыли-костылики. И на пустом-то месте.
объясни для слоупоков в 2х словах, что за тулза и как юзать?
для хтмл-бейсд решения любые символы юникода можно вводить вот так: 合
если прикинуть сколько на реальной борде среди постов попадается юникода (почти нихуя) то это вполне ок
А в чем именно сложность заключается?>>13648
>p2p - говно которое легко палится и может быть запрещено государствами
Схуяли? Они запретят соединения между компами юзверей? лолшто?
Я предлагаю очень простую идею, как при подключении к "скрытой борде" искать пиры для обмена трафом...
Короче суть такая: берем тупо какой-нить файл и раздаем его торрентом по DHT. Всем, кто хочет общаться в борде - кидаешь магнет ссылку на файл. По ссылке подхватываются ip адреса сидеров, раздающих этот файл. Эти сидеры и есть те, с кем ты будешь лампово общаться. Далее уже по своему протоколу конектишься к сидерам и двачуешь...
какие плюсы у данной концепции:
- товарищ майор скачав по магнету файл нихуя не поймет. Ну файл и файл. В чем прикол? хз. Ну их нахуй;
- не надо писать свою йоба-сложную систему поиска собеседников...;
- при зашкваре магнета всегда можно залить новый файл и новую ссылку давать только тру-анонам.
дискас
к этой хуйне еще надо как-то прикрутить шифрование, чтобы при запаленной магнет-ссылке новые майоры не могли читать месаги уже подключившихся ранее анонов... то есть надо сделать какой-то таймаут чтоли, после которого подключаться уже нельзя
>>13649
ещё один большой плюс забыл добавить:
- если майоры просекут тему, то забанить DHT будет политически рисковано, тк торренты перестанут по сути работать. Останутся только трекеры
быдло будет сильно недовольно тем, что нельзя скачать свежий выпуск "давай поженимся" и "дом3"
>нахуя это всё говно тащить?
Ты уж определись: наноборду ты пишешь или отважно спасаешь мир от злого юникода.
utf-8 - де-факто стандартная кодировка и ничего ты с этим не поделаешь.
Технически твой велосипед ничуть не оправдан, а даже наоборот привносит свои проблемы.
>ради смайликов или ЗАЛГО?
В первую очередь ради совместимости. А ради чего нанокодировка? Ради чего пользователь должен получать бинарный блоб вместо текста? Ради чего он должен держать в голове тот факт, что не все введенные им символы пройдут цензуру деспота-разработчика?
>утф-8 это геморрой - хуй проссышь сколько у тебя в итоге байт выйдет со строчки - 8, 12, 14? хуй знает надо конвертировать в байты, считать...
В сишарпе нет средств для работы с утф-8? В 2015-то году? Да не пизди.
Даже в тикиле, в этом маргинальном куске говна мамонта, с этим никаких проблем.
>у нас есть прекрасная возможность послать нахуй utf-8 и поиметь свою ламповую 8битную кодировку
Локаль уже для линукса запилил? А для шиндошса? Или ты хочешь использовать йобакодировку только для кодирования при упаковке в контейнер? Что ж за хуйня тогда получается? Пользователь вводит в юникоде, ты текст кодируешь, помещаешь в пнг, другой пользователь извлекает из пнг и декодирует обратно в юникод. Или, допустим, он захочет сохранить не в пнг, а текстом. Ты ему бинарный блоб в йобакодировке отдашь или опять в юникод? Как не крути, но путь поста с юникода начинается и им же заканчивается.
А ведь ты что-то про наноминимализм кукарекал, а на деле бесполезные сущности плодишь.
>Далее уже по своему протоколу конектишься к сидерам и двачуешь...
Надеюсь, в нанопротоколе будет будет своя замена tcp/ip/ethernet? Не стоит же тянуть весь этот громоздкий стек шлюхопротоколов.
Пилят уже p2p-интернет, в том числе и борду >>10340 (OP). Никаких принципиально неразрешимых проблем нет, просто нахуй никому не надо.
>>13656
Вот этого двачую. Поскольку оказалось >>13609, что особой экономии нет, то и смысла в велосипеде не вижу.
И оп, дорогой, если ты хочешь, чтобы кто-то ещё пилил что-то совместимое с твоим ПО, сделай whitepaper со спецификацией. Я сейчас прочитал документ из оп-поста, тред, и не увидел никаких подробностей о контейнере, кроме
>набор случайных постов со всей имеющейся базы в ПНГфайл (в нижние биты цвета, что незаметно для человеческого глаза)
Примерно так и работает, как в >>13649 предложено, только без торрент-файлов и магнет-ссылок.
Иди офсайт читай.
где я неправ? эта штука будет юзать поиск пиров с помощью торрента и траф маскировать под него же
Как мне надоели эти толкатели утф... Вот не будет допустим у вас вообще никакой "наноборды", пока не сделаете правильную кодировку в системе. Что? Не получается? Только "стандартным утф" можете пользоваться, вопя чтоб под него всё сделали? Ну в общем перечитайте.
// Мимоодинодин
просто у майора СОРМ только UTF8 понимает
>Ты уж определись: наноборду ты пишешь или отважно спасаешь мир от злого юникода.
Да я не против юникода в мире в принципе. Но уверен, что его не стоит бездумно лепить повсюду только потому что "это стандартная кодировка".
>Технически твой велосипед ничуть не оправдан, а даже наоборот привносит свои проблемы.
Технически вполне оправдан - я уверен в том, что на каждый символ тратится ровно один байт а это упрощает реализацию. Проблем особых нет, 3 несчастных метода (toBytes, toString, calcHash) реюзаются везде вот и всё.
>Ради чего пользователь должен получать бинарный блоб вместо текста?
Да не получает он никакой блоб. Пользователь вообще этого всего не видит.
>Ради чего он должен держать в голове тот факт, что не все введенные им символы пройдут цензуру деспота-разработчика?
Редкий пользователь будет намеренно вводить символы юникода. Помню, кстати, случай с вылетающим то ли сафари то ли еще какой-то еботой для айфона если на веб-странице была определенная комбинация юникода. Просто бомба. Но и здесь для него можно подложить соломку: готовить конструкции вида Ӓ их потом даже специально парсить не придется если просмотрщик основан на html.
>В сишарпе нет средств для работы с утф-8?
Есть и я ими пользуюсь там, где это обосновано. В том числе и в клиенте наноборды дохрена где юзается utf-8.
>другой пользователь извлекает из пнг и декодирует обратно в юникод.
Именно так. Проблемс?
>Или, допустим, он захочет сохранить не в пнг, а текстом. Ты ему бинарный блоб в йобакодировке отдашь или опять в юникод?
Да как ему угодно. Можно юникод, можно бейс64, можно бинарник.
>Как не крути, но путь поста с юникода начинается и им же заканчивается.
Это не повод на всём пути держаться за юникод. Это все равно что привязать к поезду перрон.
>А ведь ты что-то про наноминимализм кукарекал, а на деле бесполезные сущности плодишь.
Сущностей - да, парочку новых появилось. Так ли уж лишних? Сомневаюсь. Также сомневаюсь и в том, что минимализм это когда ты базируешься на utf-8.
>Ты уж определись: наноборду ты пишешь или отважно спасаешь мир от злого юникода.
Да я не против юникода в мире в принципе. Но уверен, что его не стоит бездумно лепить повсюду только потому что "это стандартная кодировка".
>Технически твой велосипед ничуть не оправдан, а даже наоборот привносит свои проблемы.
Технически вполне оправдан - я уверен в том, что на каждый символ тратится ровно один байт а это упрощает реализацию. Проблем особых нет, 3 несчастных метода (toBytes, toString, calcHash) реюзаются везде вот и всё.
>Ради чего пользователь должен получать бинарный блоб вместо текста?
Да не получает он никакой блоб. Пользователь вообще этого всего не видит.
>Ради чего он должен держать в голове тот факт, что не все введенные им символы пройдут цензуру деспота-разработчика?
Редкий пользователь будет намеренно вводить символы юникода. Помню, кстати, случай с вылетающим то ли сафари то ли еще какой-то еботой для айфона если на веб-странице была определенная комбинация юникода. Просто бомба. Но и здесь для него можно подложить соломку: готовить конструкции вида Ӓ их потом даже специально парсить не придется если просмотрщик основан на html.
>В сишарпе нет средств для работы с утф-8?
Есть и я ими пользуюсь там, где это обосновано. В том числе и в клиенте наноборды дохрена где юзается utf-8.
>другой пользователь извлекает из пнг и декодирует обратно в юникод.
Именно так. Проблемс?
>Или, допустим, он захочет сохранить не в пнг, а текстом. Ты ему бинарный блоб в йобакодировке отдашь или опять в юникод?
Да как ему угодно. Можно юникод, можно бейс64, можно бинарник.
>Как не крути, но путь поста с юникода начинается и им же заканчивается.
Это не повод на всём пути держаться за юникод. Это все равно что привязать к поезду перрон.
>А ведь ты что-то про наноминимализм кукарекал, а на деле бесполезные сущности плодишь.
Сущностей - да, парочку новых появилось. Так ли уж лишних? Сомневаюсь. Также сомневаюсь и в том, что минимализм это когда ты базируешься на utf-8.
одним из участников может быть товарищ майор. хуёво когда палятся все айпишники. настоятельно рекомендую наноборду с такими технологиями не связывать.
откуда вообще пошло название наноборда. от нанотехнологий, а именно от нанороботов, встраиваемых в тело человека. так же и нанопосты. они встраиваются. пока хозяин одного из ресурсов сам не станет участником наноборды или ему кто-то не стуканет он не будет знать что его ресурс так используют. и в большинстве случаев ничего не сможет сделать (разве что подшумлять на стороне сервера все пнгшки). и тов майору все что может передать - айпишники с которых были залиты конкретные пнгшки. а внутри посты, написанные непонятно кем и когда. потому что все перемешивается и ретранслируется. и если айпишники, с которых были запощены это айпишники каких-то впнок, вдсок, проксей, торов и прочего то тов.майор обломается. а еще есть презумпция невиновости. человек мог постить скачанную откуда-то пнгшку и просто не знать что там наноконтейнер внутри. и, кстати, это БУДЕТ происходить. потому что никак не запретить никому репостить пнг с АИБ. ну допустим побанит хозяин ресурса участников наноборды или пнг им начнет херить. ну так у них еще десяток ресурсов в places.txt. похую. вот в этом сила наноборды. а закроют все АИБ во всех странах - останутся обычные форумы. а потом сделаем стеготекст и тогда вообще хуй кто что обнаружит. а p2p уже прижимают в западных странах.
это всё понятно. Главная проблема твоей наноборды в пнгшках в другом - юзверей мало и они не будут знать как скооперироваться в день х.
Поэтому я и предлагаю юзать уже имеющиеся DHT и torrent технологии.
Суть простая - чтобы было просто найти друг друга, было скрыто от посторонних с помощью маскировки под обычный сервис типа torrent'а или skype`а... Чтобы майор думал, что это просто кто-то торрент качает или по скайпу пиздит
Маркеры какие-то надо оставить тогда, чтобы можно было через поисковик "спутник" найти )
>А в чем именно сложность заключается?>>13648
>>p2p - говно которое легко палится и может быть запрещено государствами
>Схуяли? Они запретят соединения между компами юзверей? лолшто?
>Я предлагаю очень простую идею, как при подключении к "скрытой борде" искать пиры для обмена трафом...
>Короче суть такая: берем тупо какой-нить файл и раздаем его торрентом по DHT. Всем, кто хочет общаться в борде - кидаешь магнет ссылку на файл. По ссылке подхватываются ip адреса сидеров, раздающих этот файл. Эти сидеры и есть те, с кем ты будешь лампово общаться. Далее уже по своему протоколу конектишься к сидерам и двачуешь...
Было кстати. Был плагин для мюторрента (там в версии 4.0 было js api и движок ie, плагины - зип архив без сжатия с расширением то ли btplugin, то ли ещё каким-то) даже, и даже работал. Поищи в сети.
Кстати, в bit-torrent протоколе есть bip про отзывы о раздачах, может их заюзать?
Свои нанопротоколы, наноос уже начал пилить, велосипедист?
>>13672
Упертый как осёл.
>а это упрощает реализацию
Что ты несешь? Как дополнительное преобразование может упростить его отсутствие?
У меня сложилось ощущение, что ты просто не осилил свой сишарп, поэтому придумал свой костыльный способ преобразования символов в байты, а теперь выдумываешь для этого оправдания.
>готовить конструкции вида Ӓ
Зачем, блядь? Ещё один бессмысленный костыль.
>если просмотрщик основан на html
А если нет? Придется сначала парсить из йобакодировки, потом из йобаразметки. А для чего? А чтобы опять получить тот же утф, с которого всё и началось.
>Также сомневаюсь и в том, что минимализм это когда ты базируешься на utf-8.
Минимализм - это когда ты не плодишь лишних сущностей, а решаешь только одну поставленную задачи наиболее доступными средствами.
А вот когда ты под видом минимализма начинаешь обвешивать свою поделку сущностями, без которых можно легко обойтись и которые к решаемой задаче совершенно не относятся - это уже долбоебизм. Не удивлюсь, если ты там начнешь выдумывать нанотулкит, наноос, наносжатие, нанокартинки, наножелезо, наноинтернет и т.д.
Мой тебе совет: ознакомься с философией юникс. Почитай, подумай, переосмысли свой подход.
нанокодировка отлично вписывается в философию юникс.
ну ладно хуй с тобой перейду на utf-8, ты успокоишься или будешь требовать чтоб я тебе в пнг совал огромный джейсон?
Не обязательно жсон, но текущий формат тоже необходимо сменить, т.к. бинарные форматы - зло.
Я считаю, он должен быть простым и удобным для манипуляций без спец.инструментов.
Можно что-нибудь вроде такого:
sha256: hash
somefield: somevalue
-
text
sha256: hash
-
text
>нанокодировка отлично вписывается в философию юникс.
Нет, не вписывается.
Она не имеет никакого отношения ни какому торрент-клиенту, и уж тем более не является плагином. Ты же не будешь называть мотоцикл плагином к автомобилю только потому, что они ездят по одним и тем же дорогам и руководствуются примерно одними и теми же правилами?
>>13667
>Ну в общем перечитайте.
Перечитал твой пост раза три, ничего не понял. Застрял прямо на этом бредовом допущении:
>не будет допустим у вас вообще никакой "наноборды", пока не сделаете правильную кодировку в системе
>>13681
Ты лучше спецификацию опиши.
>не, вот только новые форматы тут не надо придумывать
Вот этот подход уже лучше. Можно взять формат yaml или org-mode. Они содержат меньше синтаксического шума, чем жсон.
>и почему это вдруг бинарный формат - зло?
Если вкратце: такие данные неудобно обрабатывать, неудобно воспринимать.
Текстовое же представление ещё со времен терминалов является одним из основных представлений информации.
>я же бинарно буду хранить любимый тобой утф-8.
Идиотом-то не прикидывайся. Какая разница, как он хранится? На логическом уровне текст и бинарщина - разные вещи с разными интерфейсами.
Ты лучше по делу говори.
Формат бинарный в первую очередь не из-за нанокодировки, а четкой привяки к позициям в файле, которые задаются в заголовке.
>000000020000001100000011Первое сообщение.Второе сообщение!
Вот ЭТО трудно назвать текстовым форматом.
>count: 2,
Ну что это за пиздец?
[code]
[
{
title: "asd",
message: "азаза",
},
{
replyTo: "<hash>"
message: "Сам ты азаза",
},
]
[/code]
>сконвертируй в джейсон
Никаких "конвертируй". Ещё раз повторяю: формат должен быть только один, но простой (для чтения и редактирования человеком с помощью подручных средств), логичный и универсальный.
>ни в каком языке поддержки нет, везде надо либу подбирать
Охуеть какая причина. А JSON что, везде из коробки? Давай тогда на сях пиши только с C standard library, для остального же надо либу подбирать.
>на кой хой человеку редактировать содержимое пнг-контейнера и как ты себе это представляешь?
ПНГ - это просто контейнер. Непосредственного отношения к борде он вообще не имеет.
Посты могут распространяться и в виде обычного архива, и храниться у пользователя в виде простых текстовых файлов.
И вообще, читни про юникс-вей.
>а в какой формат преобразовывать распакованные данные для своих нужд это уже дело каждого имплементатора.
Да блядь, никаких "преобразовывать". Способ хранения не должен задавать формат содержимого.
>тут не привязки к позициям а размеры.
Есть. Добавь в начале пробел и нихуя не распарсится.
>неужели такая сложная задача распарсить такой файл?
Проблема в очевидности структуры и человекочитаемости. И то, и другое полностью отсутствует.
>>13698
>с чего предложишь считать хэш?
Вычисление хеша можно оставить так же: sha256(хеш родителя + тело сообщения). Если родителя нет, то использовать, например, 64 символа 0
я бы вообще юазал json и сжимал получившуюся шнягу 7zip для экономии и потом конвертил в base64
>Проблема в очевидности структуры и человекочитаемости. И то, и другое полностью отсутствует.
зачем человеку видеть, как это хранится? всё будет делать прога на-лету
7zip? Не выйдет из-за лицензионных ограничений и, как следствие, отсутствия библиотек.
А base64 зачем? Сведет на нет всё сжатие же.
Мало ли. Быть может, он захочет накостылять скриптик для обработки всех постов.
Или просто почитать их без твоего йоба-клиента.
>7zip? Не выйдет из-за лицензионных ограничений и, как следствие, отсутствия библиотек.
Не благодари https://www.sendspace.com/file/u6kzjs
>>13707
>А base64 зачем? Сведет на нет всё сжатие же.
а, ну да, тупанул немного. Там же и так бинарник выйдет после 7zip
>Не благодари https://www.sendspace.com/file/u6kzjs
юзать просто:
using SevenZip;
private void sevenZ_compress(string fileSrc, string fileDst)
{
SevenZipCompressor compressor = new SevenZipCompressor();
compressor.ArchiveFormat = OutArchiveFormat.SevenZip;
compressor.CompressionLevel = CompressionLevel.Ultra;
compressor.CompressionMethod = CompressionMethod.Default;
compressor.CompressionMode = CompressionMode.Create;
compressor.CompressFiles(fileDst, fileSrc);
}
>Не благодари https://www.sendspace.com/file/u6kzjs
Не то, что благодарить, я это даже открывать не собираюсь.
Сайт какой-то левый. Я по таким ссылка не перехожу.
>в смысле не то?
Там запятая лишняя. Оказывается, "не то что" - союз.
https://drive.google.com/file/d/0B_zp5xJoGLcnUnZjTl9ENEFUUGM/view?usp=sharing>>13715
>Библиотека? С файлообменника?! Мда... этот дотнет слишком майкрософт
ну я щас залил, в чем проблема?
Забей.
https://www.linux.org.ru/news/opensource/10319264/
Так никто не мешает свой запилить.
нахуй человеку читать содержимое наноконтейнера? человек будет читать посты, которые для него любезно подготовит программа-клиент наноборды.
насчет очевидности - кто сказал что все должно быть очевидно с первого взгляда на содержимое файла? почему ты к ПНГ или ЖПЕГУ не приебался, например? там же черт ногу сломит если на байты взглянуть. для этого есть спецификации. ты уж извини но 3 простых шага даже дебил перенести в код способен если владеет своим языком программирования хотя бы на базовом уровне.
>>13700
почему-то каждый читнувший про юникс-вей уверен, что никто больше этим не интересовался. хранить текстовые файлы - фейловая затея. так делают начинающие программисты, это плохо масштабируется. а вообще ты и >>13701 ты все сами сказали: не важно как там в пнг это всё хранится.
>>13704
base64 это по сути "разжимание" - нет смысла. 7зип нешвабодный.
>>13708
несложно насоздавать ЮНИКС ВЭЙ утилиты которые позволят распарсить базу нанопостов или пнг контейнер в любой формат и обратно.
Да ёб твою мать, что ж ты тугой-то такой?
Я думаю на этой доске все слышали про частотный анализ. Например, буквы ё и твёрдый знак в русском тексте почти не встречаются, а буква о - встречается в среднем через каждые 9 букв. 80 процентов русского текста это одни и те же 14 букв. На это хватит 4 (четырёх битов). Итак берем 14 маленьких самых частых букв (одна из них - не буква, а пробел - очень частый символ), а вот 1)15-е и 2)16-е значения (в 4-х битах - 16 значений) можно использовать как переключатели на 1) еще 16 символов (4мя битами) 2) полный байт (255 всевозможных символов, при этом 30 символов там можно опустить, потому что они у нас в первых двух группах.
Получается, что 80 (на самом деле за счет запятых, точек, прописных - чуть меньше) процентов у нас кодируется 4-мя битами, процентов эдак 15 - 8ю битами и остальное - 12ю битами.
В СРЕДНЕМ 5 БИТ НА СИМВОЛ. В-СРЕДНЕМ-5 БИТНАЯ КОДИРОВКА. С 285 ВОЗМОЖНЫМИ СИМВОЛАМИ. ТОЛЬКО ПРЕДСТАВЬТЕ.
А ЭТИ ПЕТУХИ ИЗ UTF-8 ПРЕДЛАГАЮТ НАМ КАЖДУЮ РОДНУЮ НАМ БУКОВКУ КОДИРОВАТЬ 16!!!!!! ШЕСТНАДЦАТЬЮ БИТАМИ!
Но пойдем дальше. Для больших сообщений есть смысл в самом начале задать 30символов для первых двух наборов (14 и 16). Исходя из наиболее повторяющихся в этом конкретном сообщении букв.
Молодец. Ещё немного и ты изобретешь сжатие.
а теперь внимание:
СЖИМАЮЩАЯ КОДИРОВКА - СУПЕРКОДИРОВКА
берём словарь русских слов.
кодировка по факту, 16-битная, имеется 65536 слов (с лихвой покрывает все наиболее употребимые слова), среди них 256 символов нанокодировки, потом те же 256 символов которые заменяют предпоследнюю букву в предыдущем слове а также 256 символов которые заменяют последнюю букву в предыдущем слове, а также символ-переключатель на 8-бит (в котором есть символ переключения обратно на словарь).
например слово ПОКРЫШКА
utf-8: 16 байт
суперкодировка: 2 байта
слово ПОКРЫШКАМИ
utf-8: 18 байт
суперкодировка: 6 байт
слово ПОКРЫШЕК
utf-8: 16 байт
суперкодировка: 6 байт
Как видим некоторые слова могут занимать в 2.5 раза меньше места, а некоторые в 8 раз!
есть еще неплохой вариант - около 8 символов которые удаляют от 1 до 8 последних букв из слова. это чтобы не тратить по 768 символов на замену последних букв.
Как интересно! А давай попробуем этой фразе:
"Один японец мне сказал '私はあなたのお母さんをファック。'. Что-нибудь знает, что это значит?"
В utf-8 - 152 байта.
а не пошел бы ты, как я должен читать японский текст и нахрена он мне тут на РУССКОЙ борде? ты что аниме(гомосексуалист)?
но если уж приспичит - одним из слов в словаре может быть слово-переключатель на utf-8 (да да можно смело пользовать шлюшку-utf-8). далее следует байт количества юникод символов.
а вот
один - 2б
японец - 2б
мне - 2б
сказал - 6б
что-нибудь - 2б
знает - 6б
что - 2б
это - 2б
значит - 2б
= 24 байта
+ переключатель = 27 байт
+ юникод навскидку 40 байт + 18 байт пробелы = итого 85 байт
против твоих 152х
но повторюсь никто не станет использовать японские буквы повсеместно
кстати взгляните на историю юникода это же смех смехом. удалили тибетский язык, вернули тибетский язык... идиоты. что от них дальше ожидать?
а нам, русским людям вместо тибетского языка и прочего откровенного ХЛАМА включая твой, аниме японский благоразумнее хранить целые русские слова
для наноборды это имеет огромное значение. это значит что я в стеготексте в каких-нибудь считанных байтах могу записать целых пять слов. например:
друзья предлагаю прекратить пребывание здесь = 2+6+2+2+2=14байт или 112бит
мы уже считали что понадобится около 280 букв русского текста чтобы спрятать эти 112 бит. и в них - 46 букв! это небывалая плотность. всего в 6 буквах обычного текста - 1 буква стеготекста! (имеется в виду метод подстановки латинских символов аеросух <-> aepocyx, в методе четных-нечетных количеств символов меджу пробелами плотность будет в три раза ниже.
пробелы кодировать не нужно - и так ясно, что после слова идёт пробел
>нам, русским людям
Очередной русский человек пытается в корне ограничить применение разработки исключительно русскоговорящими.
Сажа тупому дискачу.
>7зип нешвабодный.
какая разница? мы в самой пиратской стране мира живём и эта наноборда будет непопулярна среди быдла, так что на авторские права можно смело забить. Главное - эффективность и удобность и скрытность от майора за счет маскировки интернет активности наноборды под под какой-нить известный торрент или скайп
1. Вчера я проебался пол-дня на имплементацию твоей кодировки на питоне, доделал только декодирование. Если бы ты использовал zlib и utf, проблемы бы не было но ты всё усложнил.
2. http://pastebin.com/BkeUbZDQ декодирует твое тестовое сообщение, до кодировки не добрался.
3. В твоей кодировке capital Z with acute встречается два лишних раза. Фейл.
4. Твой питонокод не работает, твоё тестовое сообщение он не распознал и выдал 3f3f3f3f3f3f3...3f3f3
5. Ты кодируешь дайджест сообщения дважды - сначал в hex, потом в наноэнкодинг, в то время как можно сделать 'dc804e6059f5adcaa476fbe5a8d571dc'.decode('hex') и получить бинарь сразу.
На данный момент я предлагаю такой формат: (кол-во сообщений, размер 0000-ffff) + (размер сообщения №1 00000000-ffffffff) + (размер сообщения №2 00000000-ffffffff) + (SHA256-дайджест(тело первого сообщения) + (SHA256-дайджест(тело второго сообщения)
Тело - сжатый zlib'ом ютф. А внутри там что угодно, хоть Маяковский лесенками, хоть json, это уже вопрос просмотрщика/клиента.
Идея ксорить циклично хэшем не очень - у тебя первые 10-15 байт где размеры едва ли меняются, поэтому вычислить гамму не составит труда. Жобавь хотя бы ARC4.
на написать краткую концепцию и изобразить структуру классов...
Потом уже можно кодерам-кунам раздать по одному модудю/классу и совместными усилиями написать за пару недель
а так опять хуйня левая получится в итоге
На udp что-то с легкой постквантовой криптографией на базе алгебраичных исправлений ошибок.
Мне вот вообще не нравится идея наноборда. Ебли много, профитов не очень. Опишите какие задачи должен решать наноборд по вашему мнению.
>>13649
Кратко:
◘децентрализованность
◘маскировка от майора под известный сервис (skype, torrent etc), чтобы блокировка вела к анальной боли хомячков-пользователей популярного быдло-сервиса
◘шифрование
◘анонимность
Уже есть DDT, с нормальным стегом, возможностью подписывать сообщения, еще куча всего. Единственный значимый минус - это юзерскрипт, что опасно.
делать пакеты похожими на траф от торрента... Майор будет думать, что аноны качают торрент, что не запрещено... а по факту там замаскированные сообщения между анонами, которые анон прозрачно на-лету видит в виде обычной борды
короче концепция такая...
если майор захочет тоже качнуть этот "торрент", то у него просто скачается файл с раздачи... короче надо сделать свой торрент клиент двойного назначения
я не искал... но раз есть опенсорс торрент клиенты, то можно методы оттуда понадергать
да, терпение русачков не знает границ, ты прав
Пока еще есть куча трекеров, вот когда начнуть все анально банить, то уже о чем-то можно будет говорить. Пока средства обхода банов не запретят, думаю сложно будет раскачать.
Соответственно, привязал бы темы к разделам, сообщения к темам. Таким образом, можно отправлять запросы на поиск каждой сущности. Запрос на добавление сообщения к теме обрабатывается узлами, хранящими ее (они просто дополняют список сообщений внутри себя). Модерировать тему имеет право только создатель, как я думаю. Идентифицировать его можно с помощью публичного ключа. "
"Правильно понимаю, что каждое сообщение имеет указатель на «родителя-тему»? Т.е. поиск по хешу, как если бы искали торрент в DHT? Не будет ли слишком накладно искать таким способом? Обычный торрент однозначно идентифицируется по хэшу: хэш = содержимое, а здесь придется добавлять какой-то список, и каким-то образом передавать его в запросе, чтобы в ответ не присылали те сообщения, которые уже у вас есть.
Самый простой был бы вариант со счетчиком, просто сообщать максимальный номер сообщения, который у вас есть. Посколько сообщения появляются по очереди, то это хороший вариант. Но есть проблема: два пользователя одновременно могут создать сообщения с одинаковым номером думая, что дают максимальное значение. Да еще хотелось бы передавать сообщения при создании (получении), а не получать послав запрос, т.е. сократив два движения в одно.
Поиск по тегам вещь безусловная нужная, но без нее получается достаточно изолированная и «секретная» система: не зная хэш не найдешь тему. Это хорошая защита от спама.
Модерировать можно просто: каждый может отключить отображение сообщений от определенного пользователя (можно даже передавать специальное сообщение "-1" для пользователя, чтобы был общий рейтинг и новоподключившиеся могли бы оценивать собеседников сразу, однако это ведет к злоупотреблениям — хабр тому пример; )
Набросков нет, никак не могу продумать эту систему.
Я не уверен, что понял правильно, но кажется вы предлагаете синхронизировать тему через «держателя», обычно пользователя, который начал разговор? У вас список «узлов, хранящие тему» это все участники? Проблема как идентифицировать сообщения, чтобы у всех участников они были одинаковыми, чтобы запрашивать только недостающие сообщения. Хэш не подходит, придется отсылать большой список того, что у вас уже есть. Порядковый номер не подходит, потому что может сбоить, если два клиента будут иметь разные максимальные номера (не до конца скачали), либо просто отправят сообщение одновременно. Может быть подойдет временная метка (точно покажет последовательность), но нужна синхронизация времени, которая не факт что проще, чем синхронизация количества сообщений в теме. "
"Правильно понимаю, что каждое сообщение имеет указатель на «родителя-тему»? Т.е. поиск по хешу, как если бы искали торрент в DHT? Не будет ли слишком накладно искать таким способом? Обычный торрент однозначно идентифицируется по хэшу: хэш = содержимое, а здесь придется добавлять какой-то список, и каким-то образом передавать его в запросе, чтобы в ответ не присылали те сообщения, которые уже у вас есть.
Самый простой был бы вариант со счетчиком, просто сообщать максимальный номер сообщения, который у вас есть. Посколько сообщения появляются по очереди, то это хороший вариант. Но есть проблема: два пользователя одновременно могут создать сообщения с одинаковым номером думая, что дают максимальное значение. Да еще хотелось бы передавать сообщения при создании (получении), а не получать послав запрос, т.е. сократив два движения в одно.
Поиск по тегам вещь безусловная нужная, но без нее получается достаточно изолированная и «секретная» система: не зная хэш не найдешь тему. Это хорошая защита от спама.
Модерировать можно просто: каждый может отключить отображение сообщений от определенного пользователя (можно даже передавать специальное сообщение "-1" для пользователя, чтобы был общий рейтинг и новоподключившиеся могли бы оценивать собеседников сразу, однако это ведет к злоупотреблениям — хабр тому пример; )
Набросков нет, никак не могу продумать эту систему.
Я не уверен, что понял правильно, но кажется вы предлагаете синхронизировать тему через «держателя», обычно пользователя, который начал разговор? У вас список «узлов, хранящие тему» это все участники? Проблема как идентифицировать сообщения, чтобы у всех участников они были одинаковыми, чтобы запрашивать только недостающие сообщения. Хэш не подходит, придется отсылать большой список того, что у вас уже есть. Порядковый номер не подходит, потому что может сбоить, если два клиента будут иметь разные максимальные номера (не до конца скачали), либо просто отправят сообщение одновременно. Может быть подойдет временная метка (точно покажет последовательность), но нужна синхронизация времени, которая не факт что проще, чем синхронизация количества сообщений в теме. "
Я захожу, вижу список разделов… Ищу тему «куплю пылесос», у меня считается хэш этой фразы. Мне присылается тема/несколько, удовлетворяющих поиску, я выбираю нужную, подтягиваются сообщения из нее. Я постю ответ, при этом мое сообщение не остается у меня, а уходит на узел/узлы, ответственные за его хэш, я могу также определить теги для этого сообщения, если вдруг кто захочет искать по сообщениям, далее сообщение также регистрируется в теме (информация о его хэше). "
Ладно, давай подождём. http://www.interfax.ru/russia/486250
Мне не западло будет через полгода напомнить.
>>13788>>13790
>три типа сущностей: разделы, темы, сообщения
>Модерировать
>сообщение "-1" для пользователя
>временная метка
Наноборда такая НАНО.
>наноборда будет жить.
Не раньше, чем ты запилишь спецификацию, чтобы остальные могли писать на её базе код. Ты так упорно игнорируешь эту рекомендацию, что я уже сомневаюсь.
>нахуя вам писать код если я пишу код?
Чтобы портировать на человеческий язык и сделать веб-интерфейс. И чтобы это всё оставалось совместимым.
Не хочу я в твоём спермоговне ковыряться.
Ты лучше расскажи, как именно байты помещаются в PNG-контейнер, потому что это нигде не описано.
>инт маин() {}
Так что-ли? Нанокодер, не дуркуй. Жертва не стоит того. Можно придумать другие способы сжатия, например gzip.
да не, ты меня неправильно понял, английский никуда не девается. хочу сделать сжатие для русского текста по словарю самых частых слов и окончаний, английский у меня сжиматься не будет просто
да что ты все спермо спермо. моно - свободный проект. ну придумал майкрософт язык и виртуальную машину, ничем не хуже джавы как по мне.
про пнг описано же, вот ссылка есть:
http://blog.andersen.im/2014/11/hiding-your-bits-in-the-bytes/
Ну и нафига нужна виртуальная машина для такой небольшой и простой софтины, почему не написать на с/с++, который можно скомпилить хоть для чайника? Вот я не могу сейчас просто взять и собрать наноборду, потому что мне для этого нужно ставить mono с кучей зависимостей, а у меня медленный мобильный интернет.
Двачую.
>почему не написать на с/с++
>а у меня медленный мобильный интернет
А для кутей у тебя интернет не медленный?
браток, если у тебя моно скачать (там не так уж и много) инет медленный то парсить пнгшки ты тоже как бы обломишься. на с/с++ могут быть очень жестокие баги да и плеваться все будут еще больше чем от шарпа.
УБРАЛ НАНОКОДИРОВКУ, СДЕЛАЛ UTF-8, ВОТ ПРУФЫ:
https://github.com/nanoboard/nanoboard/commit/0dbc78e3023221bacbef953e5a3e61ac56461278
Ужас. И это называется языком высокого уровня?!
Молодец. Я как раз посмотрел http://blog.andersen.im/2014/11/hiding-your-bits-in-the-bytes/
180 Кб в картинке размером 800x600. 480x360 — 64 Кб.
Даже в худшем случае, если хуярить туда юникод с супер-экзотическими символами по 6 байт каждый, получится 10000 символов на картинку минимального размера.
А на деле в 1024x768 влезет 150000 символов стандартного несжатого юникода по 2 байта, а с Deflate и все 300000.
Это как повезёт. Затестил на случайном наборе маленьких русских букв, получилось 360000.
Грядёт релиз наноклиента в виде локального веб-сервера. Интерфейс - на html+css+js. Поддержка разметки и даже картинок (в виде [img=DNMNFJDHJFH...(base64)...]. Прямо на сайте - конвертер картинки из файла в готовый для вставки в сообщение тег с base64. А также с сайта вызывается сборка PNG контейнера и поиск наноконтейнеров по АИБ.
utf-8, шифрование, попробую также внедрить архивацию чтоб больше влазило и сложнее было расшифровывать
будет ли это Русская Сжимающая Кодировка неизвестно. скорее всего просто какой нибудь зип
>Криптоплатформа RetroShare относится к классу darknet-сетей, топология которых подразумевает осуществление соединений и обмен данными лишь с доверенными участниками сети и исключает как внешние контакты, так и непосредственные контакты с другими участниками, не являющимися доверенными. IP-адреса участников криптосети недоступны друг другу, за исключением ограниченного круга доверенных участников — друзей
ясно понятно
и где там искать ништяки для русоанона?
>Сила Русского Слова - еще не решил как назвать
За Россиюшку! Ухнем!
Предлагаю назвать "Глаголица".
>>13796
>по поводу хэша я намеренно его в байты не перевожу. намеренно строчкой хэкс. чтобы нанопост можно было бы ручкой на бумагу переписать. это как правило большого пальца
Это бессмыслено, потому что без компьютера, стегодекодера и нанодекодирования пост не достать. А если ты и так программой будешь пользоваться, то и хеш она из бинарного может преобразовать. К тому же хекс не самая читаемая кодировка. Есть base32 и base58, они представь себе, сделают хэш короче вдвое.
>надо хранить хэши сообщения на которое мы отвечаем в своем сообщении.
Вот это ты по-русски ообъяснил, теперь понял.
>по поводу гаммы хуяммы. надо мусора добавить вначале прост.
Не выйдет, потому что у тебя всё циклично и байты дальше по шифротексту точно также будут повторяться от сообщения к сообщению. Не будет лавинообразного эффекта.
Вот хороший шифр: https://github.com/LogosBible/Logos.Utility/blob/master/src/Logos.Utility/Security/Cryptography/Salsa20.cs
Лол, ты ебалулся? Какой 7zip? Существует gzip, который есть везде. Даже в браузерах.
https://torrentfreak.com/where-are-utorrents-comments-and-ratings-stored-110427/
https://wiki.vuze.com/w/Decentralized_Chat
https://wiki.vuze.com/w/RatingPlugin
http://svn.vuze.com/public/plugins/rating/com/aelitis/azureus/plugins/rating/
https://technitium.com/download/bit-chat.pdf
UTF8: 10246 bytes
Packed(gz) UTF8: 3452 bytes
Unpacked UTF8: 10246 bytes (validation)
170
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NanoEnc: 5551 bytes
Packed(gz) NanoEnc: 2703 bytes
Unpacked NanoEnc: 5551 bytes (validation)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NanoEnc+Dict: 4044 bytes
Packed(gz) NanoEnc+Dict: 2462 bytes
Unpacked NanoEnc+Dict: 4044 bytes (validation)
Press any key to continue...
[/code]
бля ебаная вакаба
в общем определенно есть смысл сжимать utf-8 (сжимается в 3 раза)
если сжимать нанокодировку со словарём (64к русских популярнейших слов) - сжатие уже в 4 раза
но есть минусы - сложность реализации, в нанокодировке не весь utf-8 поддерживается, словарь устаревает с каждым годом, а обновлять его сохраняя обратную совместимость - накладно
однако подобный словарь все же может пригодиться если нужно реально ОЧЕНЬ сильно сжимать тексты (для распространения коротких "телеграмм" в стеготекстах).
но тогда я бы предложил 12-битную систему: 12-бит кодируют одно из 4095 самых популярных слов или 2 буквы из 64-символьной кодировки (одно слово-переключатель на буквы и обратно). по данным одного исследования всего лишь 4000 популярных слов покрывают 80 русских текстов.
но к этому вернёмся позже.
Попробуй алгоритм сжатия ppmd, он не параллелится, но жмёт текст очень хорошо.
Ещё я помн был bep, но я его нагуглить что-то не могу.
bzip2 ещё попробуй
wget https://2ch.hk/
стало выдавать 403 ошибку
спуфать браузер строчкой юзер агента уже не выходит, реферер тоже не помогает.
парочка других аиб - норм.
кто сможет обойти - сигнальте.
на m2-ch.ru пока всё ок.
случайность или Абу постарался?
качаем, тестируем, желательно параллельно на разных АИБ
по спекам позже распишу, вкратце - сейчас utf-8, никакой нанокодировки, сжатие GZip, шифрование простейшее SHA-512, шифруются уже сжатые байты, запихивается в пнг как описано выше
по функциональности - нажмете искать посты, надеюсь сработает я тут небольшой нанотредик создал.
всем добра
забыл. сделано
Скорее всего клаудфларь.
И не надо спуфать браузер, у харкача есть апи.
>качаем, тестируем, желательно параллельно на разных АИБ
>шифрование простейшее SHA-512, шифруются уже сжатые байты
>шифрование
>sha-512
На хуй иди.
Ок попробую сальсу встроить.
Ждите тогда еще одного релиза, после него старые пнг-контейнеры читаться не будут.
Причём тут шифрования? Тот чувак сказал что он шифрует с помощью хеш-функции. Я вообще не понимаю, как с помошью sha512 можно что-то зашифровать, это же хеш-функция, а не алгоритм шифрования.
берешь sha512 от пароля наноборды
и XOR-ишь им нанопосты
вполне достаточно для наноборды (имхо).
вообще главная уязвимость тут не способ шифрования а знание пароля многими участниками, среди которых найдется тот, кто сольет пароль наружу
короче не стоит забывать о том, что наноборда это не гарантия анонимности.
несмотря на то, что почти невозможно доказать, что конкретный нанопост написали изначально именно вы, легко однако можно доказать что конкретные 1000 нанопостов были отправлены с вашего ай-пи адреса. (и пофиг что эти же 1000 постов были отправлены и с других адресов). короче та же проблема что и с айтупи/тором. следственные действия несколько усложнятся необходимостью наладить сотрудничество с админом АИБ на которой происходило паразитирование.
так что с умом юзайте впн и будет вам счастье.
а вообще вы же не собираетесь на наноборде как-то "незаконно" общаться ведь правда?
а если кто-то что-то незаконное запостит - вы можете нажать кнопку минус и в ваш пнг-контейнер этот пост никогда не попадёт.
главный профит наноборды не в том что вас нельзя засечь общающимся на ней. что вы, вполне можно (не запросто, конечно). кстати чтение наноборды вообще практически беспалевное. особенно если качаете пнгшки руками из браузера. профит в том, что нанобордой никто не владеет. что никто вас не забанит на наноборде. и что никто не закроет наноборду. никогда. наноборда будет как кислота въедаться в интернет. [/pafos]
где будем пиарить помимо этой доски/борды?
как и где будем паразитировать?
предлагаю иметь отличительный знак как куклота например. стать фанатами какой-то актрисы или певицы
ОП твоя идея говно внутри обернутое конфеткой
ДА
Кидани ссыль на новы елсли найдешь
предлагаю собрать пак и выложить куда-то
сделаем ее маскотом Наноборды, люди уже нас запомнили так
объясню зачем. твое сообщение попадёт сюда один раз. явно будет видно что это какой то шифр (бейс64 да?)
пнгконтейнер содержит сотни постов. сотни. это сильно повышает надежность "трафика" наноборды, потому как твой один пост может потеряться, а нанопост не потеряется если его скачал хотя бы один участник и этот один участник что-то еще куда-то запостил.
короче за счет ретрансляции наноборда+пнгконтейнеры обыгрывают твой вариант с постингом зашифрованного сообщения. добавь еще организацию - в наноборде все организовывается в треды/ответы.
То есть основная сила в том, чтобы прятать наносообщения на тех сайтах на которых контент генерируется самими пользователями
для тебя еще 2 варианта могу предложить -
ставить айпи 0.0.0.0 (откроется по 127.0.0.1 или по твоему внешнему айпи)
короче сейчас сделаю релиз с возможностью задать айпи через файлик
Сохранение постов как раз и убирает посты из "свежих". Сами посты никуда не стираются, не переживай.
Тором пользуется относительно малое количество пользователей. Гораздо целесообразнее засовывать в соц сети
https://github.com/nanoboard/nanoboard/blob/master/Server/NanoHttpRequest.cs
Неисправимый велосипедист...
[code]####################################################################################################
http://m2-ch.ruapple-touch-icon.png
Error: NameResolutionFailure
Access to the path 'download\/' is denied.
System.ArgumentOutOfRangeException: Argument is out of range.
Parameter name: inputOffset
at Logos.Utility.Security.Cryptography.Salsa20+Salsa20CryptoTransform.TransformBlock (System.Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount, System.Byte[] outputBuffer, Int32 outputOffset) [0x00000] in <filename unknown>:0
at Logos.Utility.Security.Cryptography.Salsa20+Salsa20CryptoTransform.TransformFinalBlock (System.Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount) [0x00000] in <filename unknown>:0
at nboard.ByteEncryptionUtil.DecryptSalsa20 (System.Byte[] input, System.String key) [0x00000] in <filename unknown>:0
at nboard.PngStegoUtil.ReadHiddenBytesFromPng (System.String imageFileName) [0x00000] in <filename unknown>:0
at nboard.PngMailer.ReadInbox (nboard.NanoDB to) [0x00000] in <filename unknown>:0
System.IndexOutOfRangeException: Array index is out of range.
at nboard.PngStegoUtil.DecodeBytes (System.Byte[] innocuousLookingData, Int32 byteIndex, Int32 byteCount) [0x00000] in <filename unknown>:0
at nboard.PngStegoUtil.ReadHiddenBytesFromPng (System.String imageFileName) [0x00000] in <filename unknown>:0
at nboard.PngMailer.ReadInbox (nboard.NanoDB to) [0x00000] in <filename unknown>:0
System.ArgumentOutOfRangeException: Argument is out of range.
Parameter name: inputOffset
at Logos.Utility.Security.Cryptography.Salsa20+Salsa20CryptoTransform.TransformBlock (System.Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount, System.Byte[] outputBuffer, Int32 outputOffset) [0x00000] in <filename unknown>:0
at Logos.Utility.Security.Cryptography.Salsa20+Salsa20CryptoTransform.TransformFinalBlock (System.Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount) [0x00000] in <filename unknown>:0
at nboard.ByteEncryptionUtil.DecryptSalsa20 (System.Byte[] input, System.String key) [0x00000] in <filename unknown>:0
at nboard.PngStegoUtil.ReadHiddenBytesFromPng (System.String imageFileName) [0x00000] in <filename unknown>:0
at nboard.PngMailer.ReadInbox (nboard.NanoDB to) [0x00000] in <filename unknown>:0
System.OverflowException: Number overflow.
at (wrapper alloc) object:AllocVector (intptr,intptr)
at nboard.PngStegoUtil.DecodeBytes (System.Byte[] innocuousLookingData, Int32 byteIndex, Int32 byteCount) [0x00000] in <filename unknown>:0
at nboard.PngStegoUtil.ReadHiddenBytesFromPng (System.String imageFileName) [0x00000] in <filename unknown>:0
at nboard.PngMailer.ReadInbox (nboard.NanoDB to) [0x00000] in <filename unknown>:0
System.OverflowException: Number overflow.
at (wrapper alloc) object:AllocVector (intptr,intptr)
at nboard.PngStegoUtil.DecodeBytes (System.Byte[] innocuousLookingData, Int32 byteIndex, Int32 byteCount) [0x00000] in <filename unknown>:0
at nboard.PngStegoUtil.ReadHiddenBytesFromPng (System.String imageFileName) [0x00000] in <filename unknown>:0
at nboard.PngMailer.ReadInbox (nboard.NanoDB to) [0x00000] in <filename unknown>:0 [/code]
[code]####################################################################################################
http://m2-ch.ruapple-touch-icon.png
Error: NameResolutionFailure
Access to the path 'download\/' is denied.
System.ArgumentOutOfRangeException: Argument is out of range.
Parameter name: inputOffset
at Logos.Utility.Security.Cryptography.Salsa20+Salsa20CryptoTransform.TransformBlock (System.Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount, System.Byte[] outputBuffer, Int32 outputOffset) [0x00000] in <filename unknown>:0
at Logos.Utility.Security.Cryptography.Salsa20+Salsa20CryptoTransform.TransformFinalBlock (System.Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount) [0x00000] in <filename unknown>:0
at nboard.ByteEncryptionUtil.DecryptSalsa20 (System.Byte[] input, System.String key) [0x00000] in <filename unknown>:0
at nboard.PngStegoUtil.ReadHiddenBytesFromPng (System.String imageFileName) [0x00000] in <filename unknown>:0
at nboard.PngMailer.ReadInbox (nboard.NanoDB to) [0x00000] in <filename unknown>:0
System.IndexOutOfRangeException: Array index is out of range.
at nboard.PngStegoUtil.DecodeBytes (System.Byte[] innocuousLookingData, Int32 byteIndex, Int32 byteCount) [0x00000] in <filename unknown>:0
at nboard.PngStegoUtil.ReadHiddenBytesFromPng (System.String imageFileName) [0x00000] in <filename unknown>:0
at nboard.PngMailer.ReadInbox (nboard.NanoDB to) [0x00000] in <filename unknown>:0
System.ArgumentOutOfRangeException: Argument is out of range.
Parameter name: inputOffset
at Logos.Utility.Security.Cryptography.Salsa20+Salsa20CryptoTransform.TransformBlock (System.Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount, System.Byte[] outputBuffer, Int32 outputOffset) [0x00000] in <filename unknown>:0
at Logos.Utility.Security.Cryptography.Salsa20+Salsa20CryptoTransform.TransformFinalBlock (System.Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount) [0x00000] in <filename unknown>:0
at nboard.ByteEncryptionUtil.DecryptSalsa20 (System.Byte[] input, System.String key) [0x00000] in <filename unknown>:0
at nboard.PngStegoUtil.ReadHiddenBytesFromPng (System.String imageFileName) [0x00000] in <filename unknown>:0
at nboard.PngMailer.ReadInbox (nboard.NanoDB to) [0x00000] in <filename unknown>:0
System.OverflowException: Number overflow.
at (wrapper alloc) object:AllocVector (intptr,intptr)
at nboard.PngStegoUtil.DecodeBytes (System.Byte[] innocuousLookingData, Int32 byteIndex, Int32 byteCount) [0x00000] in <filename unknown>:0
at nboard.PngStegoUtil.ReadHiddenBytesFromPng (System.String imageFileName) [0x00000] in <filename unknown>:0
at nboard.PngMailer.ReadInbox (nboard.NanoDB to) [0x00000] in <filename unknown>:0
System.OverflowException: Number overflow.
at (wrapper alloc) object:AllocVector (intptr,intptr)
at nboard.PngStegoUtil.DecodeBytes (System.Byte[] innocuousLookingData, Int32 byteIndex, Int32 byteCount) [0x00000] in <filename unknown>:0
at nboard.PngStegoUtil.ReadHiddenBytesFromPng (System.String imageFileName) [0x00000] in <filename unknown>:0
at nboard.PngMailer.ReadInbox (nboard.NanoDB to) [0x00000] in <filename unknown>:0 [/code]
Access to the path 'download\/' is denied.
Но на папке с сервером стоят 777 права рекурсивно.
Да.
пнг скачалось но доступ получить не удается - файл используется другим процессом. такое только на винде.
скоро будет фикс.
Смена ип не помогает, пробовал 127.0.0.1 ; 0.0.0.0 ; localhost
она просто тупо пытается все картинки парсить но на не-контейнере быстро фейлится и идет к следующей картинке. все просто короче
>>14080
>>14086
тут одно из двух либо ты вводишь 127.0.0.1 в ip.txt и это рабоатет либо ты вводишь 0.0.0.0 и биндится хрен знает какой адрес - это может быть твой внешний айпи, а может быть 192.168.0.1 может еще какая комбинация 192.168 в любом случае это все настраивается на уровне системы. я погуглю еще как это делать сообщу о находках, но со стороны программы тут уже ничего не сделать.
>>14085
для того и попросил потестить чтобы нашлись ошибки и было бы уже не так сыро. я тоже думал что вот напишу, все будет заебись но уже несколько критичных багов пофиксил.
все у кого был вылет при поиске или после поиска постов, здесь фикс:
https://github.com/nanoboard/nanoboard/releases/tag/v1.0.4
>>14087
сервер готовился чисто для нужд веб-интерфейса и он их покрывает, это не какое-то там апи для других приложений. какой метод тебе понадобился?
ключ - пока нет причины менять
места обитания - пока не договорились
есть 2 варианта как уже писалось:
с опознавательным знаком (правильней будет сказать паком)
и без.
если видите тред где постят пнг-шки с Кристен Стюарт то с высокой долей вероятностью там обитают нанобордисты и можно попробовать адрес этого треда добавить в places.txt
ну и есть еще вариант что places.txt будет просто обновляться от релиза к релизу на гитхабе однако это разумно только на первых порах дальше эти адреса нужно стараться держать в секрете.
на гитхабе то нас пока никто не может удалить
короче где там чувак у которого не открывалось никак 127.0.0.1
чувак качай последний релиз, создай ip.txt или подправь, впиши туда просто:
localhost
а когда запустишь сервак то увидишь на какой реально айпишник и порт оно сёрвит
например?
нужно учесть что адрес типа
http://192.168.0.100:7345/
может быть доступен для всех устройств на твоем домашнем роутере
что текст? куда текст? на АИБ постить зашфированный текст? стеготекст?
это конечно хорошо но это очень малые объемы
пнг-контейнер очень вместительный одной пнгшки хватает на сотни постов, это обеспечивает хорошую ретрансляцию.
если основываться на тексте то много постов будут теряться, а про картинки (на которые даже сейчас есть ограничения) вообще можно будет забыть.
НО
наноборда может одновременно работать на нескольких "протоколах". пнг-контейнеры параллельно с чем-нибудь еще - хоть тот же "текст" - да запросто
Вот у меня вопрос. Взяли мы картинку, 10х10, всего 100 байт, то есть мы можем закодировать 100 байт. Например какой-нибудь текст. Получим новую, почти не отличимую картинку, но вот скачаю я эту картинку. Ка мне ее расшифровать. Ведь мне нужно иметь оригинал. Прав ли я?
>сервер готовился чисто для нужд веб-интерфейса
И он их не покрывает. Нахуя было велосипедить? Багов больше захотелось? Или просто NIH проснулся?
Насколько мне известно, вместе с моно поставляется какой-то свой готовый, отлаженный.
>какой метод тебе понадобился?
На обычном GET сломалось.
не прав. выше ссылка на статью про шифрование в пнг
почему же не покрывает? после какого действия у тебя возникла ошибка? или ты сделал запрос самостоятельно?
скинь curl своего запроса
10х10 это не 100 байт
это 10103 / 8 - 32 (особенность моей реализации)
5 ебаных байт
возьми хотя бы 100х100
1001003/8 - 32 = 3718 байт
тащить говно которое в моно изкаропки не очень приятно. видел я это, не понравилось. дело вкуса имхо.
А тащить потенциальные дыры в безопасности в твоем вкусе?
Ишь, готовое ему не понравилось. Твой уровень быдлокодерства не перестает меня удивлять.
да какие тут могут быть дыры, локальный сервак
по крайней мере все под контролем и на виду а не спрятано в чьей-то готовой реализации
curl ты так и не прислал
код не идеален но если будем все время ждать идеально вылизанного кода то и до Апокалипсиса ничего не зарелизится. нужно прототипировать и давать пользователям на пробу. ты сейчас рассуждаешь не как пользователь а как член моей команды по разработке. для меня и пользователя важно чтобы был некий рабочий продукт и чтобы он был сейчас а не возможно когда-то в будущем. не так уж и нужен идеал без единого бага с алмазной архитектурой.
платил бы ты мне деньги был бы другой разговор, а так я в свое личное время могу делать свою наноборду так как мне приятно и интересно. интересно стало хттп сервак написать - написал. мне вот интересно было свою кодировку сделать не знаю следил ли ты за тредом. люди очень возмущались и приводили свои аргументы. ну я сделал выводы и учел в коде их пожелания по поводу кодировки, да и поводу метода шифрования. потому что я вижу что это реально имеет значение. а вот насчет сервака или базы данных - нет, не считаю что это играет принципальную роль. это уже чисто сфера моей имплементации наноборды, здесь каждый может потом сыграть по-своему.
вот такая вот философия быдлокода.
Допустим,в б харкача вы будете создавать свои тредики. Вместо того,чтобы добавлять их вручную,сделать автодобавление по ключевым словам,ну и доп.настройки типа коэфыицента картинок к постам(типа если в треде на каждый второй пост есть картинка,то коэффициент равен 0.5, и по настройкам он будет сканироваться)
Да маленько не подумал, 100х100х3 так как RGB Но почему делить на 8. У нас же каждый цвет задается 1 байтом или 255 оттенками (2^8)
так в байте же 8 бит а мы можем только 1 бит брать иначе картинка сильно испортится
выбирать надо относительно медленные тематические доски (или медленные борды), чтобы не смывало сразу треды. б - не катит (но б катит просто для пиара). надо ценить работу нанобордистов которую они проводят выкладывая контейнеры и меняя настроечки.
насчет ключевых слов - можно пытаться как-то по тексту намекнуть на Кристен Стюарт, Беллу Свон, вампиров, Сумерки или что-то типа того. для особо деревянных можно поаватаркофажить её фоточками. в целом же необязательно постить именно пнгшки с фотками Кристен Стюарт, она должна стать лишь катализатором.
вконтач - ну если бы там можно было бы регистрироваться без привязки к телефону то еще ладно, создал фейк и пользуешься. идея с друзьями-стеночкой гнилая, это уже слишком далеко от наноборды. а вот в группе открыть стенку и позволить всем туда постить пнгшки - это да, норм.
сперва нам аудиторию надо набрать приличную и начать проще с борд (хотя бы потому что ни с чем другим nboard пока не работает)
не считаю /b/ харкача хорошим местом для пнг-контейнеров выше описал почему
в принципе полезно будет сделать кроулер по любой выбранной борде вообще по всем доскам и тредам (с ограничением по глубине). прогон будет долгим, хорошо бы чтобы он потом формировал отчет о том в каких тредах были найдены валидные контейнеры, чтобы потом настроиться чисто на эти треды.
все это можно сделать отдельно от моего клиента любым человеком (благословляю вас на это). все что нужно - помещать скачанные пнгшки в папку download при включенном серваке. сервак разберется где контейнер а где нет (папку download будет очищать в любом случае).
это может быть вообще какой-то скриптик на основе wget (2ч.хк заменяйте на м2-ч.ру - клаудфлара мешает качать чем попало)
ну разве что инфа о том какой контейнер валидный - мой сервак не даст (однако в логах можно глянуть имена пнг файлов которые не являются контейнерами - там будут эксепшены)
Да не,б харкача для примера,суть в том,что при некоторых ключевых словах и коэффициенту картинок к постам тред автоматически добавлялся
с переходом в тред все ок - так задумано (чтобы когда ты видишь новое сообщение и хочешь понять его контекст то есть увидеть на что это сообщение отвечает - ты нажимаешь "в тред" и видишь на что ответил автор нового сообщения). страница общих тредов это тоже тред. и любое сообщение на которое ответили становится тредом тоже.
короче когда ты во /fresh видишь кнопку "в тред" то это значит "перейти в тред этого поста". а тред у поста который является ответом в корневой тред является корневой тред. именно поэтому ты переходишь в корневой тред (оно главная страница). как-то так. веб-интерфейс не представляет ссылки на "ответы" поста без ответов. ты ведь такую ссылку хочешь? это, конечно, можно сделать но зачем тебе смотреть на страничку где есть только одно сообщение? если нужно кому-то кинуть ссылку вида http://127.0.0.1:7345/thread/7d686657d1b51b3ebb27c7dc73b2f1f5
до того как там появился ответ у тебя 2 варианта:
1) ответить
2) нажать ответить но не отвечать а слово reply в адресной строке заменить на слово thread
еще раз подытожу: кнопка "в тред" вовсе не кидает на страницу общих тредов, она кидает на "уровень выше", уровень выше для поста который был создан путем ответа на корневой (подсвечен белым) пост является главная страница.
https://github.com/nanoboard/nanoboard/releases
v1.0.5 - последний релиз на данный момент, там пофикшены большинство вылетов которые были в 1.0
я не смог воспроизвести такую ситуацию, посмотрел по коду и проблема которая была ближе всего - два процесса могли пытаться одновременно писать и читать файл в папке download - её я пофиксил, если это не помогло, дай знать
да, могу сделать ссылку [0 ответов] (сейчас она просто прячется)
>>141444
Нажал ответить. Но в тред фотка не запостилась
Никаких вишмастеров, просто слово в спам листе.
братан читни ридми не поленись плиз. пнг-контейнеры надо постить вручную, только скачка автоматическая. в этом главное отличие наноборды от телеграма и прочих штук - там протокол, соединение, сервера а тут маскировка ты обычным браузером постишь (якобы) обычную картинку на имиджборду.
однако если прикрутить распознавалку капчей и обойти клаудфларь защиту (на некоторых бордах) то можно и автоматического постинга добиться.
ну принимай критику потихоньку:
http://pastebin.com/raw/UGv8bHt4
>>14150
тем у кого ВПН - хиккач показывает капчу (+ капча от клаудфлары при первом заходе, а клаудфлар так вообще зверски отсекает все что не является браузером). с другими бордами попроще но не со всеми
Стереть пост могут. Если модер заметил до того как кто-нибудь успел подгрузить контейнер
На фсбуке можно вроде без телефона.
за счет правил ретрансляции твой пост попадет и в следующий твой пнг-контейнер и еще в сотню следующих контейнеров он будет попадать и в тысячу следующих твоих пнг-контейнеров пост будет попадать (но уже не так часто)
так что одним удалением тебе не повредить
можете это тоже добавить в агитку
и добавить то, что чужие посты тоже ретранслируются постоянно (кроме скрытых тобой)
мы пока скооперировались здесь.
если тред потрут - точка синхронизации - github клиента там новости
новый релиз, добавлена возможность развернуть все вложенные треды в одно полотно
также попытался сделать тред на доброчане. первый контейнер почему-то зафейленный вышел. проверить виноват ли доброчан - не успел, запощеный оригинал уже был стёрт. следующий запощенный контейнер сработал ок.
http://pastebin.com/raw/kzkKyD4J
будет позже
> стеганография
> в png
> в png с адским шумом
Ебать дебилы
мимо-кодер-DDT
> шифрование
> XOR
так поменяли же это уже
Даже не разобрался, а уже прокукарекал. Ещё и png у него с шумом, вообще охуеть.
>>14172
>даже у самого старого (в файлах пользователя) поста всегда есть равный шанс на ретрансляцию (у свежих постов этот шанс равнее
Лол.
мимо селёдка из тиддлябы
Картинки должно быть не только легко постить, но и легко находить.
>>14188
Этот петух правильно сказал, постинг на наноборде не более анонимен, чем постинг на борде-хостере. Так что из >>14172 лучше убрать пункт о «нечего вычислять».
под нечего вычислять там имеется в виду трафик, сетевая активность компа и приложений
про анонимность в агитке тоже сказано что хотите анонимности - юзайте впн
>>14188
в контейнерах порядок постов всегда перемешан и набор случаен (разве что приоритет у более свежих постов - их в контейнер попадает больше), к тому же при параллельном постинге на нескольких бордах потребуется объединение усилий нескольких админов с разных борд. я могу запостить контейнер со своим новым постом на одной борде а ктото перепостит мой пост в своем контейнере на другой борде, кто-то сделает это на третьей борде.
в общем вычислить действительно реально но далеко не "проще репы". вычислить участника - да, просто. вычислить конкретного постера - заморочка.
>>14189
на рыгосте есть поиск по ключевым словам в принципе может взлететь. вообще многие файлообменные сети и сервисы например гугл драйв могут сгодиться.
вообще если ключ не разбазаривать то хуй кто что вычислит пока крыса не сольет ключ и места органам.
никогда не стоит полагаться на анонимность какого-то инструмента особенно если вы преступник. нужны дополнительные меры такие как впн, впс.
наноборда больше дает свободу и уверенность общения чем анонимность. анонимность там лишь чуть более продвинутая чем просто постинг на аиб - за счет запутанности.
модерация обычных аиб на наноборду мало влияет. ну потер модер наноконтейнер - так его могли успеть скачать другие нанобордеры и обязательно репостнут (автоматически) где-то еще. а если не успели то сам постер когда будет следующий контейнер делать - туда его недавний пост тоже попадет. короче тут все схвачено.
Но ВПН принадлежит кому-то конкретному, кто кровно заинтересован в том чтобы получить твои деньги и возможность продолжать свою деятельность на рынке такого рода услуг. То есть ты покупаешь мнимую анонимность. Есть тор, есть и2п, если битмессайдж, но все равно все верят в заграницу. С такими идеями проще капчевать тут. Какой смысл мне что-то предпринимать в виде наноборды, если проще купить впн и ощущение ложной анонимности?
>пока крыса не сольет ключ
Я это сделаю мгновенно только ради того, чтобы лично ты понял, что security through obscurity не работает и не писал больше такую хуйню:
>анонимность более продвинутая за счет запутанности
ну факт остаётся фактом - админ может просто не знать что конкретный пнг содержит нанопосты или просто не знать ключа, чтобы их расшифровать.
какие у вас требования к наноборде? железная анонимность? не по адресу. или неприятно что в агитках пишут про "чуть повышенную" анонимность? ну подумаешь. тут можно спорить. это как с и2п или тором - через тебя идет чей-то траф и тебя можно в принципе обвинить в распространении.
>>14196
прикол в том что наноборда может работать и поверх и2п на и2п чанах и даже в битмессейдже благодаря тому что каждый нанопост - полностью текстовый а не бинарный.
насчет какой смысл предпринимать если можно купить анонимность - зачем ты сейчас об этом говоришь? ты купишь ВПН но твои посты и треды продолжит тереть мочерня, понимаешь?
"я качал и постил разные картинки я не знал что внутри некоторых картинок какие-то там контейнеры. я накачал себе пак картинок с кристен стюарт а потом делился скачанным паком чтобы поддержать других фанатов".
и такое реально может произойти с любым из обычных посетителей АИБ - он скачает контейнер и репостнет его куда-то думая что это просто красивая фотка.
а может какой-то злой хакер напишет червя который будет на компах пользователей заражать все пнг (да даже в жпег можно информацию пихать только немного другим способом и с более низкой плотностью) нанопостами.
вот такие вот забавные возможности и делают наноборду особенной в плане "протокола". это не стоит сбрасывать со счетов.
если гонять у себя и2п и тор вместе с фринетом то это палево такое что уже никак не отмажешься. а ввести запрет и наказание на эту хрень могут, очень даже, всё к этому идёт.
> может просто не знать что конкретный пнг содержит нанопосты или просто не знать ключа
А может и знать. И я бы предполагал худший вариант: он знает всё то же, что знаешь ты.
>какие у вас требования к наноборде?
Да у меня никаких вообще, просто тыкаю палочкой в тех местах, где ты написал херню. Анонимность действительно чуть повышенная, но не более.
да, лишь слегка повышенная, но надеяться на это не стоит о чем и предупреждаю регулярно юзера в ридми
вики:
https://github.com/nanoboard/nanoboard/wiki/Наноборда
Если проще, то мы скрываем информацию от посторонних глаз. Если хочешь увидеть эту инфу, тебе надо скачать определенную прогу. Как интересно. Сначала пытались запилить убергодный метод шифрования но все идет к тому, что из за отсутвия гибкости у таких методов начинает пользоваться популярностью маскировка и двойное использование одной и тойже информации. Например я могу закодировать алфавит одним способом, а другой другим. Возможно сделать так, что одни и те же биты несут разную информацию в зависимости от их интерпретирования. В этом суть я считаю. Двойное, тройное а может и еще больше использование инфомации. За этим будущее
Выдуманные кодировки, алгоритмы шифрования, вся криптостойкость которых держится исключительно на незнании алгоритма - всё это хуйня. Такое студенты ИБ на лабах ломают.
Какой дебил будет незашифрованное сообщение прятать в кодировках. Мне нужно скрыть инфу. Обеспечить незаметность того, что она там есть. Увеличить емкость контейнера. Толко это мне нужно. Безопасность обеспечивает шифрование
так а кто мешает заюзать в стеготексте невыдуманный алгоритм шифрования с доказанной криптостойкостью? надо различать маскировку и шифрование. если ты в открытую где-то хуйнёшь base64 какого-нибудь шифра то как минимум долго тебе так общаться не дадут - забанят, например. зачем привлекать лишнее внимание?
есть два пути:
уходить в даркнеты, использовать специальные программы и соединения
работать поверх клирнета: путем маскировки под обычную интернет-активность обмениваться шифрованными данными. мало того что СПРЯТАННЫМИ так еще и зашифрованными
Кстати, почему меня должны банить за безобидные картинки. Там же нет порнографии, запрещенных каких-то образов и прочего. ПРосто картинка с непонятным рисунком или шумом. Конечно чтобы понять что она несет нужны специальные программы, но если ты обычный пользователь, то зачем тебе эти программы. Ты же законопослушный гражданин, так вот и не смотри эти картинки с помощью спец. программ. Для тебя они выглядят как простой шум. И все.
пнг-контейнеры вовсе не выглядят как шум. даже близко не напоминают шум. шум можно вычленить если сравнить с оригиналом (если он у тебя вообще есть) в граф.редакторе. но это будет действительно просто шум.
ты блядь выдави уже из себя хоть слово, ну что ты как даун, а? откуда ты это говно притащил и что этим хочешь сказать?
нецелевое использование веб-сервиса. думаю в любом ToS такое есть. на хиккаче пусть такого и нет - но тебя просто забанят, потому что "заебал непонятную хуйню постить".
Я к тому клоню, что картинки с шумом более гибкие и обладают большей емкостью. Не вижу смысла доходить до такой крайности как МАСКИРОВКА. То есть до обычных картинок. По сути картинка с шумом и обычная картинка ни чем не отличаются кроме того что обычная картинка незаметна в плане того, что ее содержимое ни чем не выделяется. То есть человек увидив картинку с шумом сразу поймет, что что-то здесть не так. Ну и что, пускай поймет. Пусть даже посмотрит что там содержится, но сообщение все равно зашифровано. Тем более, картиночки эти постятся в тех местах, о которых все знают. В любом случае, если наноборда рассчитана на большую аудиторию, то бессмысленно скрывать шифрованное сообщение в картинке, которая ничем не отличается от других. Оптимальнее выбрать большую емкость но пожертвовать маскировкой, так как эффективность маскировки будет падать с увеличением количества людей, общающихся на этой борде
Лол, а так я буду постить картиночки, которые есть везде и у каждого.
пит буль
есть более тонкие методы "пометить" картинку. ты же все равно на глаз определяешь что контейнер (шум), а что нет (обычная картинка). вот простой пример - фотографии Кристен Стюарт в формате пнг. тем кто в теме - понятно, что это пнг-контейнер наноборды, те кто не в теме просто подумают что у Кристен Стюарт почему-то вдруг прибавилось фанатов.
а если просто постить шум то поймут практически все, включая модеров и админа.
что можно выиграть если постить чисто шум? для 512х512 вместо ~100кб будет ~800кб. нужны ли наноборде такие объемы? нет - со 100кб даже если ты 10 постов отправляешь у тебя все равно еще место в контейнере остается которое забивается чужими постами. ну и потом ты можешь взять 1024х1024 и получить 400кб вместимость
Что?
ну вот твой тредец, да?
кстати скачай свежую версию там больше фотографий кристен стюарт в комплекте
Да,мой
> пнг-контейнеры вовсе не выглядят как шум
Блядь ты сравни обычные пикчи и с вшитыми данными.
Вот так будет на последнем бите с данными: >>14178
Посмотрел несколько png картинок без вшитых данных, там такого палева нет.
>сравни обычные пикчи и с вшитыми данными
Вот ты их и сравни, кретин. Это >>14178 изначально картинки с шумом. Они так и выглядели до вшития, понимаешь?
Картинка с шумом + данные = картинка с шумом.
Нормальная картинка + данные = нормальная картинка.
Невооружённым взглядом ты не отличишь картинку с данными от картинки без них.
Читай http://blog.andersen.im/2014/11/hiding-your-bits-in-the-bytes/ и не неси хуйню.
>Невооружённым взглядом ты не отличишь картинку с данными от картинки без них.
Ещё как отличишь. Достаточно взглянуть на цвета и увидеть, как скачет последний бит. Притом скачет не всю картинку, а только первые N пикселей.
я как автор клиента наноборды авторитетно заявляю что у меня последний бит "скачет" всю картинку а не первые N. (первые N было в ранних версиях)
и ты похоже использовал спецсредства чтобы оценить зашумленность нижнего бита, а мы тут прячем от ГЛАЗ а не от спецсредств
ВЗГЛЯНУТЬ и увидеть как скачет последний бит не очень-то и реально разве что ты супермен какой то с суперзрением
ну как бы в обычном просмотрщике ты последние биты не вычленишь и не усилишь. не пойму чего ты добиваешься. никто не говорит что "невозможно" понять что конкретный пнг - это контейнер. мы говорим о том, что это нельзя понять просто взглянув на картинку. если бы такая маскировка не работала то и не затеивали бы тогда это всё, постили бы просто шум
а я могу предложить вариант когда одной фотографией (любого формата размера и качества лишь бы можно было бы понять что изображено) можно зашифровать один байт. и хуй подкопаешься.
смотри, берем 8 признаков, явно присутствие признака на фото - 1, иначе 0, каждый признак кодирует свой бит в байте.
пример:
1й бит - есть люди?
2й бит - есть животные?
3й бит - день/светло?
4й бит - есть снег?
5й бит - горизонт завален?
6й бит - есть вода (фонтаны в счет) или лёд?
7й бит - фото черно-белое?
8й бит - ориентация альбомная?
вот взять собрать коллекцию где на каждый возможный байт хотя бы по 10 фотографий.
это чуть более двух с половиной тысяч фоток.
потом нужно борду где можно в определенном порядке прикреплять несколько фото.
либо альбом где-нибудь на сайте где можно фотки выкладывать пикаса хуяса инстаграм девиантарт да даже вк группа
а вообще можно заюзать 5бит и кодировать только русские буквы + пробел (без ё и твердого знака)
это значит что признаков будет всего 5 - уже проще, да и возможных комбинаций всего 32, то есть из 32х фоток уже можно составить предложение (правда будут повторы).
ну и конечно же всё нужно дополнительно шифровать до последнего бита каким-нибудь надежным алгоритмом.
с 5битным вариантом можно так:
горизонт завален?
ориентация альбомная?
соотношение сторон очень близко к квадрату?
черно-белая?
есть люди в кадре (очень задний план не в счет)?
первые четыре признака достигаются обрезкой, поворотом, переводом в чб ЛЮБОЙ фотографии
так что собрать подобную коллекцию легко может каждый
нейронными сетями можно автоматически. чтобы не заморачиваться 5битный вариант можно в полуавтоматическом режиме типа "отметьте кадры, на которых присутствуют люди" а потом "отметьте кадры где завален горизонт". как-то так.
зато прикинь сколько майоров нужно чтобы прочитать наноборду. у майоров единственный выход это сидеть вместе со всеми нанозадротами и каждый день осуществлять ручное распознавание фотографий (в наноклиенте это может быть и полуавтоматическое как сказано выше но участие человека все равно необходимо). и попробуй один бит не так прочитай - всё по пизде пойдет (если шифрование чуть сложнее чем просто XOR). для этого целый отдел создавать придется. существуют же всяческие scrypt суть которых - сделать расшифровку оче накладной (путем пожирания оперативы например). это примерно то же самое только ограничение чисто физическое.
Поумерь свой пыл и пафос. Во-первых, наноаутисты никому не нужны. Во-вторых, то, что есть у наноаутиста, есть и у майора.
идешь блядь камушки пинаешь ногой. да не просто пинаешь а группируешь их в группы по 2 или 3 камушка. 2 камушка это ноль, 3 камушка - единица. направление - от начала улицы к концу (по нумерации домов).
или идешь бычки бросаешь определенной марки - слева бросил - 1, справа - 0.
а потом кто-то другой идет и в кармане пальцем жмет на 2 кнопки по очереди - считывает.
всё хуйня
вот следы на снегу это тема. идешь блядь и ногу иногда подворачиваешь вправо. а подворачиваешь на тот шаг, который приходится на единицу. на ноль - ничего не подворачиваешь.
не, хуйня. метишь блядь поручень в одном и том же месте куском изоленты. то метишь то снимаешь метку. каждый день в 12 часов должна присутствовать или отсутствовать метка. за месяц 30 бит передаешь. так-то.
не, хуйня.
>да не просто пинаешь а группируешь их в группы по 2 или 3 камушка. 2 камушка это ноль, 3 камушка - единица. направление - от начала улицы к концу (по нумерации домов).
Лол. Прямая дорога в дурку.
Палево жуткое. Особенно если у пользователя отличающиеся шрифты для латиницы и кириллицы.
палево это, а емкость не "небольшая" а довольно высокая. вот почти без палева но с емкостью ниже раз в 5:
https://jsfiddle.net/yaebpft9/8/
разбиваем текст по пробелам на куски, считаем сколько в кажом куске символов (запятые и прочее - в счет), пропускаем куски в 1-4 символа, остальное считаем битами, кусок с четным количеством символов - 0, с нечетным - 1.
демка недоделанная надо постоянно фигачить кнопку апдейт.
если сделать чтобы подсветка была постоянной то можно подстраиваться и подбирать/менять слова сразу как печатаешь буквы. но так вообще не очень много времени уходит на подготовку.
кодировка от 00000 до 11111:
абвгдежзийклнопрстуфхцчшщ_ыьэюя
можешь объяснить подробнее. как записать туда информацию. Вот разбил ты на слова больше 4 символов. Перевел по своей системе в биты (четное 0 нечетное 1) получилось типа 0110010001 и как сюда что-то записать. Ну поменяешь ты 0 на 1, а как это отразится на исходном тексте? В какое-то слово придется лишнюю букву добавить?
немного не так. у тебя есть соответствие:
00000 - а
00001 - б
...
10001 - с
...
11010 - пробел
11111 - я
вот из этих 5-битных байтов и составляешь свой текст:
111111101010001111110000100000 = я сяба
а потом ты вводишь текст в котором куски (не слова) разделенные пробелом кодируют по одному биту (кроме кусков размером в 1-4 символа). то есть каждый кусочек больше 4х символов это либо ноль либо единица - зависит от того четное количество символов в кусочке или нет
вот пример кусочка:
которые,
как видно сюда входит запятая. можно ее выбросить если надо подправить результат. или вставить слово перед этим другое. или это заменить на другое
то есть тект, который хранит информацию ты создаешь отталкиваясь от двоичного представления текста, который ты хочешь скрыть?
да
да, вот обновленное демо: https://jsfiddle.net/yaebpft9/10/
чего тут не хватает так это шифрования битов.
если взять что-то послжонее XOR-ирования, то без знания ключа никак не отличить обычный текст от текста с таким вот тайным посланием
Ты не только не знаешь английского, но ещё и не умеешь пользоваться переводчиком? Уходи, ты не целевая аудитория наноборды.
Знаешь кто не целевая аудитория? Это те кто сидит в б, а у меня есть желание разобраться и если ты не хочешь и не имеешь жедания написать, так и скажи.
Я считаю, что лучше подстраивать текст который я хочу скрыть под открытый текст то есть контейнер. Это гораздо удобнее+ тотатльное паразитирование на чужих постах, т.к. не надо создавать свои
В отличие от криптографии, которая скрывает содержимое секретного сообщения, стеганография скрывает сам факт его существования. Как правило, сообщение будет выглядеть как что-либо иное, например, как изображение, статья, список покупок, письмо или судоку. Стеганографию обычно используют совместно с методами криптографии, таким образом, дополняя её.
Преимущество стеганографии над чистой криптографией состоит в том, что сообщения не привлекают к себе внимания. Сообщения, факт шифрования которых не скрыт, вызывают подозрение и могут быть сами по себе уличающими в тех странах, в которых запрещена криптография[1]. Таким образом, криптография защищает содержание сообщения, а стеганография защищает сам факт наличия каких-либо скрытых посланий.
А теперь вопрос:
Вот мы придумали наноборду, придумали способ прятать (стеганография) зашифрованные (криптография) посты, например, в текст. Но чтобы этим пользоваться надо чтобы все могли это находить и расшифровывать. То есть получается проблема в том, что любой инсайдер может заиметь инструмент, который позволит ему четко указать на место где был запощен конкретный текст в стегоконтейнере, и если он связан с админом или является админом то можно определить ай-пи человека который запостил это.
Как убрать эту связь?
сам, а что там писать
Я же написал, сделать так, чтобы не нужно было создавать постов. Прятать свои сообщения не в свои же посты а в чужие
чувак ты не "спрячешь" свое сообщение в чужое без постинга информации о том, как именно ты там это "спрятал". а вообще не подменяй понятия
1) все участники постят свои публичные ключи
2) участник выбирает кому отправит сообщение, шифрует его используя публичный ключ
3) участник просматривает сообщения в поисках такого которое он мог бы расшифровать своим приватным ключом
4) все это в стегоконтейнерах которые никак себя не выдают (текст по методу подсчета длины сегментов: https://jsfiddle.net/yaebpft9/10/)
при этом можно вычислить только того, кто воспользовался твоим публичным ключом. и зная как все организовано нельзя со 100% вероятностью утверждать
возможные атаки: майор спамит своими публичными ключами
так что хуйня
думаем дальше
нельзя со 100% вероятностью утверждать что именно ты - автор сообщения а не просто передал чужое. но майору достаточно факта участия (допустим криптография в стране стала запрещена)
Гомоморфная криптография + постквантовая криптография. Хз, зачем это написал.
Хиддач на новом движке разве не децентрализованный?
хиддач вообще-то умер 7 ноября
последний движок там был овер_чановский но это не совсем та децентрализация о которой речь в оп-посте, это, скорее была федерализация (админы, сервера)
Тот-анон-предлагавший irc ,jabber,pastebin, tox,bm и автодобавление постов
мальчик, ты уроки уже сделал? иди делай и мешай дядям разговаривать
если и поднимет кто-то новую борду то все равно ненадежно это будет. нужна децентрализация
>>14350
в декабре 2015 (недавно) начал работу первый полноценный квантовый компьютер.
квантовые компьютеры с легкостью ломают gpg и прочую лабуду с публичными ключами на которой зиждется почти вся современная криптография.
пока что это не ощущается но в ближайшем будущем все кто не перешел на что-то реально невзламываемое - отсосут
Тока у гугла это пока что. Это всё вопрос времени. Стоимость производства будет снижаться. Это как с первыми компами. Спецслужбы государств одними из первых возьмут эти компы на вооружение (о чем, возможно, не сразу станет известно). И целью атак могут стать всяческие Телеграмы, айтупи, меш-сети и прочие решения на основе алгоритмов которые легко ломаются квантовым компом. Уже сейчас надо об этом задуматься при проектировании новых протоколов.
существование односторонних функций не доказано. то есть не факт что завтра не появится алгоритм который их ломает. и не факт что это будет квантовый алгоритм
что не ломается - симметричная криптография. надо придумать как шарить ключ да так, чтобы никто не перехватил (сейчас для этого используются якобы "не поддающиеся взлому" публичные ключи) и все будет ок.
ну и потом надо уходить от интернет-провайдеров, поскольку они под колпаком давно а следовательно и пользователи. то есть смотреть в сторону меш-сетей, что-то решать с дальнобойностью (есть варианты, коротковолновая передача, мобильная связь (роутеры gsm + wifi)
>существование односторонних функций не доказано
Взорвался от этих криптоформулировок уровня /b/.
Слыш, петух, а функция f(x)=1 не односторонняя ли часом?
твой пример попросту неприменим
Ладно, я петух.
gsm (если речь о csd) - дорого и бессмысленно
лучше задействовать имеющиеся мощности того же gprs/edge - палево точно такое же, но скорость выше и стоимость ниже.
чтобы сильно не палиться - нужен особым образом подготовленный телефон (на андроиде) с симкой, не привязанной к личности. во-первых точку доступа вай-фай (скрытую - чтобы свой ssid не транслировала, саму точку сделать без пароля или с очень простым паролем ну чтобы если и найдут то было бы ясно что пользовать мог кто угодно в доме) на нем сделать, во вторых антенну припаять посильнее (а можно вообще wifi-маячок через usb-переходник прикрутить был бы драйвер и тогда не придется телефон разбирать). в-третьих детектор движения на него (через камеру и через гироскоп). чтобы по любому движению отключал все симки, все соединения и ждал (например 1 час) (или хардкор версия - стирать всю прошивку превращаясь в кирпич). и всю эту красоту запрятать на чердаке своего многоэтажного дома или где-то в подъезде за щитком. нужно быть немного электриком чтобы подключить к сети зарядку. если это частный сектор то где-нибудь на столбе повесить ящичек. на таких открытых вариантах можно солнечную батарею прикрутить чтоб автономия была. на крыше заброшки, гаража, магазина. зависит от дальнобойности антенны, которую прикрутишь. в идеале у антенны должна всё время плавать мощность чтобы усложнить детектирование местоположения.
деньги на эту симку закинуть один раз (и много) и не спалиться при этом.
после этого можно и в клирнете сидеть.
о том и спич. Быдлу квантовые компы никто не продаст никогда. Для них наоборот набирается тренд модности планшетов и смартфонов вместо персоналок и наебуков. Быдло только радуется.
ИМХО, скоро персоналки будут доступны только по лицензии для программеров и админов, а остальным - хуй. Типа покупайте планшет
через очко в хуй
так там же бэкдоры от америкосовских спецслужб, оно тебе надо? динахуй сука засланец пиндосовский, гнида. это только они рекомендуют аэс и ты тут сука вылез чмо думал тебя не засекут?
есть salsa20 например.
а если б был способ безопасно передать ключ то не было бы и вопросов типа "а что ж делать когда квантовый компьютер будет у любой спецслужбы куда бижать". пока что с этим неплохо справлялась "криптография с публичным ключом" но это такая афёра что пиздец - нихуя не криптостойко, никто нихуя не доказал и все сука пользуются потому что ничего лучше не придумали.
правда более менее адекватные банки выдают брелок с цифровым ключом который генерится каждые N секунд и без него хуй авторизуешься. вот тут более-менее можно какие-то гарантии давать.
>банки выдают брелок с цифровым ключом который генерится каждые N секунд и без него хуй авторизуешься
Всё больше ахуительных историй...
>существование односторонних функций не доказано. то есть не факт что завтра не появится алгоритм который их ломает. и не факт что это будет квантовый алгоритм
>что не ломается - симметричная криптография.
Неверно. Односторонние функции выводятся из симметричной криптографии через конструкцию Мёркла-Дамгара.
>надо придумать как шарить ключ да так, чтобы никто не перехватил (сейчас для этого используются якобы "не поддающиеся взлому" публичные ключи) и все будет ок.
Надо. Но подписи важнее.
>ну и потом надо уходить от интернет-провайдеров,
Щаас. Если за участие в мешах будут расстреливать, а будут, никакого меша не будет. И даже если не будут расстреливать, после того как копирасты одумаются и будет рубль за фильм на нетфликсе, ваши меш-сети никому даром нужны не будут: для нелегальных применений они не обеспечивают анонимности, для легальных дают слишком низкую скорость и слишком высокий пинг.
>поскольку они под колпаком давно а следовательно и пользователи. то есть смотреть в сторону меш-сетей, что-то решать с дальнобойностью (есть варианты, коротковолновая передача, мобильная связь (роутеры gsm + wifi)
Вернее Дэвиса-Мейра.
>>14411
это не защита а скорее сокрытие от лишних глаз.
>>14403
https://en.wikipedia.org/wiki/Salsa20#cite_note-latin-2
никто еще не сломал 20/20 сальсу
да проще уж брутфорсом ключ подобрать.
для коротких пакетов и часто меняющихся ключей все эти анализы до пизды, поправь если не прав.
ну почитай википедию ну ёбаный в рот. там и определение тебе есть и кандидаты (!) в односторонние функции. + там устаревшая инфа так как есть обратный алгоритм Шора
тот пример скорее всего не подойдет под определение если его нормально выразить. а если и подойдет то в криптографии окажется неприменим.
спасибо
Лол, впервые про OTP-брелки услышал что ли? Я ещё в 98-ом у бати видел.
Или это предъява к косноязычности автора, назвавшего OTP «цифровым ключом»? Тогда без вопросов.
сам ты косноязычный, уёба, "брелок с цифровым ключом который генерится каждые N секунд" (а не "цифровой ключ" как ты вырвал из контекста) - вполне подходящее определение для аппаратного токена
смотри, гандон, определение, впитывай:
Токен (информационная безопасность), или ключ — компактное устройство в виде USB-брелока, предназначенное для авторизации пользователя, защиты электронной переписки, безопасного удаленного доступа к информационным ресурсам, надежного хранения данных;
Наверное, случайно удалил мочератор /crypt/.
пока только один ключ тот что зашит там
меняй ключ на чистой только что распакованной проге. но "все" пока что на старом ключе.
насчет нового треда - хз есть ли смысл его создавать. потрут же к хуям. вот глянь на мой пик если успеешь - допустит ли какой нибудь модератор такой тред? модераторы тут орудуют активно
под винфон - реально если заморочиться. под андроид/айфон - тоже (хамарин).
но пользоваться всем этим там будет неудобно. ведь для постинга нужно заливать пнгшки на другие борды. а посмотреть борду (и даже поотвечать) - проще на компе ай-пи домашней сети использовать для сервера наноборды и с любого телефона уже заходить на этот ай-пи.
Лол, никогда не падал.
Анон уже сделал api,так что можно просто принимать посты шифротекстом через ирк.Profit же
Версия последняя,не dev?
мимо залётный
Да, но ничего не понятно, запустил, а дальше не знаю что делать.
Теперь норм
Это копия, сохраненная 16 августа 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.