Уже сбились со счета какой Жалуемся на быдлокод, мечтаем о новых транспортах,поливаем говном пикобордуJabberX И смотрим на мозговой штурм в поисках капчи/pow/кармы в духе старой доброй криптоанархии
В начале говорили, что можно просто отклонить контейнер и всё. Для нюфаней заливайте базы на рхост, если они не хотят чистить вилкой. Да и всё. Я уж лучше буду удалять разный спам вручную и отклонять его, чем вводить капчу подписаной ФСБрасстрелявшейшкольника. Ах, да будут ли пасскоды?
>>22097 тут местные критики капчи говорят что плоха сама возможность засрать всё сгенерившим капчепак, а без капчи можно невозбранно срать каждому и в любых количествах.
>>22101 БМ давно надо убрать. КОСТЫЛЬ. А если другие спам репостнут, то так уж и будет. У меня бы скрывались бы все сообщения с текстом подпадающим под регулярное выражение того спама.
>>22108 нахуя? ты хоть представляешь себе как у тебя всё будет тормозить если в файлике 2 тыщи регулярок размером с целый пост? для того чтобы весь пост заигнорить надо просто добавить его ХЭШ в игнор-лист. прикол в том что отклонение контейнера ничего не вносит в игнор лист. если бы школьник сделал последующий игнор всех постов по отклонению контейнера то спамер мог бы легко удалять у людей чужие сообщения путем включения их в свой контейнер со спам-говном в надежде что контейнер отклонять и всё заигнорится включая нормальные посты (которые допустим могли ещё не дойди пользователю). и вот все отклоняют а кто-то не отклонил и репостнул в ретрансляции (немножко). и так ко всем спам просочится потихоньку. тут много тонкостей с этими контейнерами, отклонениями и прочим. как ни крути а руками спам адекватно чистить не выйдет. нужна капча и POW чтобы спамерам серьезно усложнить жизнь и не бояться их как сейчас.
>>22120 почему не питон? потому что твоя мамаша должна была сделать аборт. питон это тормозящий пидорский кусок говна. он медленнее шарпа в 100-200 раз. он уродливей шарпа в 300-400 раз. а за упоминания хипстерского nodejs тебя мразь надо головой в унитаз окунуть.
>>22123 это что еще за логика такая? услышал где-то? а подумать над этим утверждением не пробовал? довольно быстро становится понятно что это заблуждение. особенно когда инструментов может быть много однго вид
>>22117 Есть нативные имплементации для большинства языков. Напомню что я пилю капчи и POW и на следующей неделе предположительно буду вливать это в feature/2.0 (2.0 клиент) а затем солью эту ветку в master тем самым поставлю крест на 1.х клиенте. Для верификации капч - от RSA уже отказался, перешел на Ed25519 там ключи по 32 байта (что очень актуально так как капчепак будет как минимум на миллион капчей). ваш школьник
>>22140 как конкретно ты собрался пилить? это же теперь меняется наноформат. с капчей что? слово с картинки -> salsa20 -> сид для пары ключей что бы подписать сообщение?
>>22159 Тормозное скриптоговно, имеющее по пачке несовместимых между собой версий рантайма и библиотек (отсюда все дцпшные костыли типа virtualenv, rvm), каждая вторая библиотека зависит от нативного велосипеда, который зачастую вообще не компилируется под виндой. Го это вообще червь-пидор от программирования, в /pr/ пояснят.
>>22160 >скриптопарашей лучше бы она точно также везде работала но была скриптопорашей. хотя нет, сам язык блевотный, хуже пхп. ей уже ничего не поможет, а петяны с профессиональной деформацией психики комбайнера будут продолжать засирать интернеты из-за своих неврозов
>>22164 > лучше бы она точно также везде работала но была скриптопорашей. хотя нет, сам язык блевотный, хуже пхп. ей уже ничего не поможет, а петяны с профессиональной деформацией психики комбайнера будут продолжать засирать интернеты из-за своих неврозов JVM это не обязательно джява
>>22165 > пиши год > год исправляй все утечки и вылеты > ебись с конпеляцией под разные платформы Ололо, ты когда в последний раз комплюхтер включал вообще? Или ты нам из 94-го пишешь?
На самом деле надо всё написать на модулях. На ноде наваять сервер который будет отдавать интерфейс. Сканер тредов и качалку картинок писать на расте. Распаковшик пнгешек на перле, запаковшик на питоне. В качестве базы использовать мускуль, но общение с ним реализовать в виде отдельного модуля написанного на го. Капча-модуль на руби. На сишарпе сделать модуль для трей-иконки откуда можно вызвать окошко с версией комплекса и копирайтами. А на джаве написать тулзу которая это всё запускает/останавливает.
>>22188 Причём этим можно воспользоваться и добавлять свои патчи в каждую из платформ при необходимости. Поможет фиксить баги, которые иначе хер дождёшься когда поправят.
>>22143 не сид, сид слишком легко подобрать. просто сами ключи пошифровать сальсой (пароль - разгадка капчи). с ед25519 ключ всего 32-байта + публичный чтобы проверить подпись
>>22244 капча попадается и полегче и потяжелей в клиенте будет возможность бесконечно выбирать себе другую капчу после несколькосекундного ожидания (надо время на подбор [trash=...] чтобы хэш поменялся и всё еще отвечал бы POW-маске).
в нанопосте будут новые теги:
1) [trash=...] - вместо ... - мусор фиксированного размера (hex string - типа f8ab38...). нужен чтобы подогнать хэш поста под соответствие маске (иначе пост будет отвергнут остальными как пост без POW). POW и добавление результата к посту происходит автоматически после того как пользователь запросит капчу. маска пока утверждается, пока что остановился на таком правиле: в хэше должно быть хотя бы 3 байта (причем первые 3 байта не считаются) подряд со значением меньше 2. например ..., 0x00, 0x01, 0x00, ... - годится. этот хэш считается по отдельному алгоритму и никуда не записывается.
2) [sign=...] - вместо ... - цифровая подпись (hex string - типа f8ab38...) сделанная приватным ключом разгаданной капчи (который получен путем применения разгадки к зашифрованному приватному ключу). подписывается непосредственно пост включая тег trash но без тега sign (что очевидно). пост с неправильной подписью отвергается остальными (проверка с помощью публичного ключа который в отличие от приватного не зашифрован) как не решивший капчу. отвергается также и пост без тега sign вообще. создается автоматически после того как капча решена (пользователь однозначно увидит решил он капчу или нет так как ему тоже доступна проверка по публичному ключу).
содержимое обоих тегов как и сами теги не показывается в веб-интерфейсе.
>>22245 ну бывают и полгегче, вообще можно привыкнуть, это же капча первый вариант (пик) был простой, но подверженный авто-распознаванию, пришлось отказаться
Кстати, можешь выдать прямо сейчас, один или два блока капчи - ну картинку, шифрованный приватный ключ и публичный. Есть подозрение что за пару дней можно сбрутфорсить весь твой капчепак.
>>22248 я тоже думал об этом. с одной из самых быстрых имплементаций ед25519 на C на одном 2.3 GHz ядре можно проверять 4 тысячи вариантов на каждую капчу в секунду. а всего вариантов капч (разгадок) почти 8 миллионов. на подбор одной капчи надо полчаса. на подбор всего пака получается 59 лет, а распараллелишь на 100 ядер - за 215 дней. могу ошибаться. прикрепляю начало капчепака. на пике первые 32 байта - публичный ключ, следующие 64 - приватный, зашифрованный разгадкой капчи. саму капчу не прикрепляю, ты же брутфорснуть хочешь. алгоритм которым пошифрован ключ пикрелейтед, если вкратце берется sha512 от utf-8 байтов разгадки и им ксорится ключ. тот же алгоритм и расшифровывает.
>>22248 Да ничего пиздецового, человек привыкнет быстро, нейронные связи настроятся и будет щелкать такую капчу как орешки. В этом и суть — доказать, что ты человек а не спам-бот. А делать капчу как на Доброчане смысла вообще никакого: ну да, просто распознать человеку, но и роботу ведь тоже слишком просто! Ладно на Доброчане есть модерация и удаление всего по ай-пи, но у нас-то этого нет и не может быть, поэтому капча просто обязана быть суровой.
>>22250 А теперь вспоминаем о том, что приватная часть ключа имеет определённые свойства, а именно: 4 первых бита нули, старший бит последнего байта тоже ноль, а следующий за ним всегда 1. В итоге, мы всегда точно знаем 6 бит приватного ключа. Так как у тебя шифруется просто ксором с хешем от ответа на капчу, а спейс капч у тебя 8миллионов, то выходит вот что:
Берём и генерим хеши на весь спейс капчи и сохраняем в лукап. Берём первую капчу и смотрим известные нам 6 бит, это сужает поиск в 64 раза. Итого на каждую капчу нам надо проверить только 125 тысяч хешей. Если предположить что проверка капчи будет идти со скоростью 2к ключей в секунду, то подбор правильного ответа займёт минуту. А если распараллелить на 4 ядра - пятнадцать секунд.
Проверь, действительно ли твоя либа сохраняет приватный ключ согласно формату - с битами выставленными как предлагает автор кривой.
Лишние 20 секунд при генерации спам поста (в довесок к PoW) не так уж и страшно.
>>22253 >Проверь, действительно ли твоя либа сохраняет приватный ключ согласно формату - с битами выставленными как предлагает автор кривой. проверил, действительно так. тогда стоит перейти на public key + 128-битный seed (для получения обоих public key и private key). капчепак готов на 0%
>>22255 Не. В функции WrappedXor хеш бери не просто от введённого ответа на капчу, но ещё в конец добавляй публичный ключ. Тогда не получится составить лукап таблицу, для каждой капчи надо будет считать хеш отдельно.
>>22243 > будущий размер полного капчепака: 596Мб (1024*1024 штуки) > 79% от оригинала, то есть пользователю придется скачать 470 Мб >>22246 > 1) [trash=...] - вместо ... - мусор фиксированного размера Блять, ты бы не хуйнёй страдал, а сделал удаление контейнеров.
>>22262 Уже сто раз объясняли что отклонение контейнеров — не выход. Смотри ещё раз: 1) При отклонении контейнера не получится добавлять его посты в игнор. Почему? Потому что если это сделать то спамер может включать свежие посты из других контейнеров в свой спам-контейнер и если ты получишь спам-контейнер раньше ты заигнорив все посты заигноришь не только спам но и нормальные посты которые должны были прийти тебе следом (например после того как ты подключил новое место в places). 2) Потому как посты не игнорятся тебе один и тот же спам-контейнер можно подсовывать и подсовывать и каждый раз тебе придется отклонять. 3) Если хотя бы один участник не отклонит спам-контейнер и запостил свой ответ — в его контейнере будет спам (немножко) и он попадёт тебе и остальным. Вот так потихоньку спам просочится всем остальным несмотря на то что 90% усиленно отклоняли контейнеры. 4) Мы уже слегка вышли за рамки КОНТЕЙНЕРОВ и наверняка выйдем и дальше. Пример - БМ. В БМ всё приходит по одному посту, соответственно и отклонять придется по одному. Ситуация с ретрансляцией та же самая — кто-то не удалил, сделал ретрансляцию (в контейнере) и всё поломалось.
Стоит абстрагироваться от транспорта и бороться с врагом путём изобретения автоматических пропускных систем, а не путём изобретения лопат для расчистки говён, которые оставил враг зайдя в любезно открытую дверь.
>>22264 так и сделаю алсо уменьшу капчу, она и в 50х20 пикселей прекрасно читается будущий размер капчепака на миллион капч - 189 Мб (в архиве будет около 150 Мб)
>>22269 отмена - именно такого seed-а в шарповой версии нету, к тому же почти миллион капч уже готов (операция длилась 10 часов, до миллиона не дотянул из-за перегрева процессора) буду заливать 100х40 (527 мегабайт, в зип-архиве - 419), лучше читаемость будет
>>22263 > 1) При отклонении контейнера не получится добавлять его посты в игнор. Почему? Потому что если это сделать то спамер может включать свежие посты из других контейнеров в свой спам-контейнер и если ты получишь спам-контейнер раньше ты заигнорив все посты заигноришь не только спам но и нормальные посты которые должны были прийти тебе следом (например после того как ты подключил новое место в places). Это не проблема вообще, в нормальных условиях ты сначала получишь контейнер с новыми постами, а только потом спам. > 2) Потому как посты не игнорятся тебе один и тот же спам-контейнер можно подсовывать и подсовывать и каждый раз тебе придется отклонять. Нет нельзя, для этого его придётся загружать по 100 раз в треды, что само по себе требует капчи и т.п. > 3) Если хотя бы один участник не отклонит спам-контейнер и запостил свой ответ — в его контейнере будет спам (немножко) и он попадёт тебе и остальным. Вот так потихоньку спам просочится всем остальным несмотря на то что 90% усиленно отклоняли контейнеры. Нет не будет, ведь спам уже раньше отклонён. > 4) Мы уже слегка вышли за рамки КОНТЕЙНЕРОВ и наверняка выйдем и дальше. Пример - БМ. В БМ всё приходит по одному посту, соответственно и отклонять придется по одному. Ты сначала для контейнеров нормально сделай, потом о бм думай.
> Стоит абстрагироваться от транспорта и бороться с врагом путём изобретения автоматических пропускных систем Что проще, удалить 100 спам-постов одним кликом, или 10 постов по одному?
>>22285 1) - вполне реальную ситуацию тебе описал. допустим обитаем в борде А. кто-то добавил новое место борду Б пока тебя пару дней не было. но ты не мог знать об этом. запостив контейнер на борду А объявили что добавляют борду Б. на борду Б запостили много контейнеров. спамер берёт посты с контейнеров которые отправлены на борду Б и отправляет их на борду А перед этим щедро сдобрив спамом да так что сразу хочется отклонить. и вот ты заходишь, качаешь конетйнеры видишь тонны спама. отколняешь отправляя в игнор и сосешь хуй потому что ты теперь отрезан от мира и десятки постов и тредов у тебя заигнорены под шумок вместе со спамом. Спамер может добавить в спам контейнер и посты пришедшие с БМ тем самым закрыв к ним доступ всем кто не крутит у себя БМ круглосуточно. 2) >Нет нельзя, для этого его придётся загружать по 100 раз в треды, что само по себе требует капчи и т.п. контейнер с тыщей постов за одну капчу или тыща постов за тыщу капч - видишь разницу? 3) >Нет не будет, ведь спам уже раньше отклонён. а вместе со спамом отклонены и нормальные посты 4) >Ты сначала для контейнеров нормально сделай, потом о бм думай. Никто не будет под каждый транспорт делать "лопату" для расчистки говна, спамер все равно найдет способ завалить говном по уши и еще и остальные посты "подставить".
>Что проще, удалить 100 спам-постов одним кликом, или 10 постов по одному? 100 спам постов одним кликом не удалишь. Там может быть не только спам. Что проще - чистить спам руками или сделать зубодробительную капчу+POW чтобы пребывать в уверенности, что никто борду не засрёт а если и засрёт то тоько ценой титанических усилий ожидая пока посчитается pow и разгадывая капчу (что придется делать именно в таком порядке).
>>22277 upd: нашел норм реализацию для шарпа, делаю на сидах и 50х20 капчи, придется прищуриться или увеличить картинку в браузере (наверное так и сделаю) зато вес капчепака будет более чем в 4 раза меньше
>>22286 > 1) - вполне реальную ситуацию тебе описал. допустим обитаем в борде А. кто-то добавил новое место борду Б пока тебя пару дней не было. но ты не мог знать об этом. запостив контейнер на борду А объявили что добавляют борду Б. на борду Б запостили много контейнеров. Хуйня полная, тут новое место раз в год добавляют, спамер прям будет сидеть и ждать этого? Ты просто высосал это из пальца чтобы оправдать всякие говнокапчи.
> спамер берёт посты с контейнеров которые отправлены на борду Б и отправляет их на борду А перед этим щедро сдобрив спамом да так что сразу хочется отклонить. и вот ты заходишь, качаешь конетйнеры видишь тонны спама. отколняешь отправляя в игнор и сосешь хуй потому что ты теперь отрезан от мира и десятки постов и тредов у тебя заигнорены под шумок вместе со спамом. Спамер может добавить в спам контейнер и посты пришедшие с БМ тем самым закрыв к ним доступ всем кто не крутит у себя БМ круглосуточно. Делаешь ограничение на количество новых постов из контейнера (1, 3, 5, 10) @ профит
> 2) >Нет нельзя, для этого его придётся загружать по 100 раз в треды, что само по себе требует капчи и т.п. > контейнер с тыщей постов за одну капчу или тыща постов за тыщу капч - видишь разницу? Смотри выше.
> 100 спам постов одним кликом не удалишь. Там может быть не только спам. Да нет, там будет только спам, потому что не спам уже получен раньше.
> Что проще - чистить спам руками или сделать зубодробительную капчу+POW чтопосты ебывать в уверенности, что никто борду не засрёт а если и засрёт то тоько ценой титанических усилий ожидая пока посчитается pow и разгадывая капчу (что придется делать именно в таком порядке). Уже есть pow в виде загрузки контейнеров в тред, и капча там же. Зачем ты изобретаешь велосипед, если можно просто сделать один пост на контейнер?
>>22326 не возьмёт, в этом-то и суть, доказать что ты решил капчу можно сделать не раскрывая никому разгадку -- через электронную подпись. 95% готовности капчепака в 2.0 клиенте осталось подправить фронтенд
Это случилосьАноним05/04/16 Втр 21:47:37#137№22338DELETED
2.0 стал 3.0 и перешел на капчу (капчепак на миллион капч) + POW. Ретрансляция, контейнеры - не тронуто. Это казалось невозможным, но это случилось. Мы нашли способ решать капчи и гарантированно доказывать что мы решили их без раскрытия самого решения. До этого момента нашу борду можно было спокойно засирать спамом в автоматическом режиме. Теперь этого уже так просто не сделать. Капча не слишком сложная, если не решили - выдаётся другая (после еще одного POW). Все предыдущие посты больше не смогут ретранслироваться, новички их не увидят. Поэтому переход на новый пароль, новую базу. Есть способ сохранить старые посты в своей базе (чисто для истории, способ описан на странице релиза) но отвечать на старые посты не стоит - новички не увидят родителей таких постов (2.0, карасик, 1.х - на посты с такими заголовками не отвечайте, если вы их сохранили). Будем формировать новую базу. Клиент переименован в 3.0.
Да, 1.х, старый 2.0 а также альтернативные клиенты теперь не совместимы, пока там не появится капча. Все подробности реализации описаны в репозитории скоро выложу ссылки и отвечу на вопросы.
>>22338 Инструкция для тех кто готов начать с чистого листа с капчей и pow: качайте свежий релиз и капча пак ссылки там где и раньше - на странице релиза
создавайте треды, категории, всё как раньше но теперь перед постингом каждого треда, категории или поста вам нужно чуть чуть подождать (меньше минуты, иногда лишь несколько секунд) а затем ввести предложенную капчу
придется заново создать тред координации мест, где договориться о том каким будет ваш places.txt
Each post has it's designated captcha. It is determined by post's SHA256 hash (signature tag and it's contents are excluded from hash calculation). This hash should match POW filter - at least three consecutive bytes with values from zero to one, starting from fourth byte of a hash - otherwise post is considered to be invalid (without POW). First three bytes of hash is captcha index (wrapped by amount of captchas in the pack). The code extracts relevant captcha by index extracted from post's hash, and captcha is public ed25519 key, 32-byte seed encrypted by XORing with SHA512(UTF-8(captcha answer + public key in hexstring form)) and captcha image (1-bit) 50x20 pixels (column by column, each bit represents a pixel (1 - black, 0 - white).
Есть файл captcha.nbc В нём более миллиона капч это бинарный файл там идут друг за другом блоки: публичный ключ ед25519, сид для приватного ключа (зашифрованный) и сама картинка капчи в битовом представлении 50 на 20 пикселей сид для приватного ключа зашифрован простым ксором со следующими байтами: SHA512(UTF-8(captcha answer + public key in hexstring form))
Теперь в каждом посте есть тэг [pow=...] и тег [sign=...] Они невидимые pow=... подгоняет хэш поста под правило (описано выше я там называл этот тег trash) sign выше уже описывал
>>22347 братан а куда ты пост отправил какой у тебя плейсес какие треды будем оккупировать? думаю старые нет смысла - много мусора же там получается с другим паролем
суть pow: в хэше поста (replyTo + мессага без подписи) после первых трёх байт ищется место где 3 байта подряд равны нулю или единице. если такого места нет в конец поста подмешивается мусор формата [pow=..] (внутри 128 байт hex string рандомные) и снова проверяется хэш и так пока не будет нужного совпадения
суть капчи: капча сгенерирована зараниее, перед каждой картинкой записан публичный ключ которым можно проверить подпись поста и зашифрованное зерно для генерации приватного ключа которым можно подписать пост (тэг [sign=..]) алгоритм подписи - ed25519 зерно поксорено хэшом от разгадки капчи + публичным ключом
>>22353 вот см пик. во-первых требуется чтобы в хэше был заметен POW (хэш поста должен соответствовать определенному правилу) и только потом берутся первые байты хэша поста чтобы определить номер капчи для этого поста.
>>22357 нет, ничего не проебётся, капч всего миллион, могут быть совпадения, ничего страшного. условно есть миллион диапазонов для постов и на каждый диапазон своя капча. поменять диапазон можно просто посчитав еще раз POW, считать POW так чтобы выпал нужный тебе диапазон (например диапазон капчи которая уже разгадана тобой) может занять часы
>>22358 он может но обязательный POW помешает ему делать это быстро (придется затратить многие часы а то и сутки). он может запустить в контейнер пост без POW если модифицирует исходники но у других людей такой пост будет отвергнут потому что проверяется и наличие POW и наличие решенной капчи причем никто не спрашивает какую капчу ты решал, каждый клиент вычисляет какая капча реально соответствует этому посту и потом проверяет подпись твоего поста публичным ключом нужной капчи
>>22350>>22352 Ты ненормальный что ли? Я же попросил капчу, а не чистые данные и ебанутый алгоритм кудесника. Меня картинка интересует, чтобы сравнить со своей. Картинка, улавливаешь? Зачем нужно было мешать биты в обратном порядке по восемь штук?
>>22368 >для меня for (int i = 0; i < 8; i++) прямолинейней чем for (int i = 7; i >= 0; i--) Для меня тоже. Почему тогда у тебя биты расположены не по первому варианту, а по второму, м?
Могу за тебя ответить: потому что 1 << 0 = 00000001 1 << 1 = 00000010 1 << 2 = 00000100 1 << 3 = 00001000 А не так, как ты подумал.
pow для простых постов считает за секунд 10 а для картинки (почти хайрез) считало 4 минуты. наказание тем кто постит хайрезы? предлагаю pow подстраивать под размер всего поста - чем больше размер тем проще pow (в алгоритме принимать не только 0 и 1 в байте но и 2, 3 и так далее) чтобы в итоге было равномерное время и для маленьких постов и для хайрезов
>>22375 Я всё же считаю что встраивание картинок прямо в мессадж в виде бейс64 это зло для нборды. Милая свистоперделка, но пусть за неё будет штраф в виде пов. Один такой пост может отнимает ретрансляции у десятков без картинки.
алсо локально капча работает четко, попадается, правда, процентов 20 слишком неразборчивых, приходится снова ждать pow, но это не беда.
надо проверить теперь как из контейнеров приходят посты с решенной капчей.
ну и надо снова выбрать места, заново создать доску Обсуждение ----борды и Тред Координации. в places пока предлагаю занести конкретно этот тред и постепенно завести треды и на других АИБ на которых мы уже сидели
только никаких Кристиночек на этот раз плиз давайте придумаем что-то нормальное
>>22372 Никто твоё говно форкать не будет с таким быдлокодом, вот какая разница. Впрочем, смысла нет, эту версию точно так же завайпают потому что кто-то посчитал, что миллион это очень много.
>>22373 Так и вижу толпы новых пользователей, мечтающих ковырять кривой кусок говна без единого поста и грузящий процессор по пять минут при каждой отправке. Нет, серьёзно, ты долбоёб?
>>22381 >версию точно так же завайпают потому что кто-то посчитал, что миллион это очень много. А можно какое-нибудь основание для такого утверждения услышать?
>>22383 Капчепак весит всего 189 Мб, там более миллиона капчей. Одна капча вместе с картинкой и ключами занимает жалких 189 байт. Можешь сделать меньше — сделай, потом и поговорим.
>>22381 Я и не прошу форкать, пишите свой быдлокод если мой не по нраву. Миллион — число не большое, однако если помножить время ожидания POW (допустим, даже не 10, а 1 секунда) даже не на миллион а хотя бы на тысячу (если остальную тысячу капч ты уже разгадал), то становится ясно что быстрее будет просто вайпать вручную, вводя капчу.
>>22382 Ковыряли и 1.0.х который был тогда гораздо кривее и с минимумом фич. А 3.0 сейчас охуителен. Пять минут это только если запостить хайрез. И то не всегда. Обычно POW для коротких постов на 2.7 GHz core i5 считается за 5-15 секунд, редко - 20-25.
Мы можем решить усилить POW для последующих постов алгоритмом, который еще сложнее параллелить и который будет считать как минимум пол-минуты для короткого поста и немножко выровнять время для хайрезов чтобы не вышло слишком долго. Не пизди на POW, это наша защита, без него как раз даже сама капча была бы бесполезной, а с POW спамер соснёт хуйца.
>>22384 Ключ сменён но тем кто с нуля будет выкачивать — выкачают много лишнего и только пару контейнеров с нужным паролем.
>>22400 Представь что в одном большом-пребольшом почтовом отделеннии ОП-школьник навечно снял миллион абонентских ящиков. И заточил в каждом ящике по гномику. И сделал одного гномика Главным. Главному гномику все шлют нанописьма. Главный гномик читает письмо, нюхает текст чтобы убедиться что оно написано настоящей кровью (POW), перебрасывает пару костей на счетах чтобы определить в какой абонетский ящик передать письмо (определение диапазона капчи). После этого письмо попадает к одному из гномиков. Гномик берет конверт слюнявит его своим шершавым языком, бросает в конверт письмо и карточку с каракулями (капча), после чего выбрасывает письмо наружу. Письмо отправляют обратно отправителю. Отправитель расшифровывает каракули и отправляет письмо назад в абонетский ящик. Гномик внутри ящика смотрит правильно ли разгаданы его каракули и если правильно то выбрасывает письмо наружу со своим личным штампом-печаткой-неподдельной-голограммой. Главный гномик также ставит свою одобрительную неподдельную печать и отправляет нанописьмо в редакцию журнала Наножурнал в колонку "письма наших участников". Вот примерно так работает сейчас капча.
можно в принципе сделать так: пост ссылается на картинку по её хешу, а сама картинка отдельным какбэ постом идёт с флагом image и не требует капчу. спамить картинками не получится - так как на них нужно ссылкатся постом с капчей
>>22409 Как видим: √ каждому посту соответствует определенная капча √ чтобы поменять капчу надо поменять пост √ после каждого изменения поста надо расчитывать POW и добавлять в пост определенный мусор подходящий только этому посту делающий этот пост валидным, иначе пост будет отвергнут √ для того чтобы доказать факт успешного разгадывания капчи достаточно подписать пост электронной цифровой подписью, проверить это можно публичным ключом капчи который доступен всем
>>22412 И еще: >√ чтобы поменять капчу надо поменять пост Если поменять пост и пройти POW — капча будет рандомной, то есть подобрать себе определенную капчу нельзя — только сменить на рандомную путём дополнительного ожидания.
обнаружены исусы: - при нажатии на превью картинки старые превью не пропадают даже когда уже прикрепил картинку - нужна отмена высчитывания POW, а то приходится всю борду перезагружать
>>22385 Нельзя, можно будет увидеть самостоятельно, когда на борде появится активность, а я соберусь написать вайпалку. >>22386 >Я и не прошу форкать, пишите свой быдлокод Я это и имел в виду. Никто не станет писать код, совместимый с такой охуенной реализацией.
>>22386 >на 2.7 GHz core i5 считается за 5-15 секунд, редко - 20-25 >Пять минут это только если запостить хайрез >Мы можем решить усилить POW для последующих постов алгоритмом, который еще сложнее параллелить и который будет считать как минимум пол-минуты >Не пизди на POW, это наша защита, без него как раз даже сама капча была бы бесполезной, а с POW спамер соснёт хуйца. Ты понимаешь, даун, что срёшь на голову не спамеру, а обычным пользователям? Спамер давно забил и съебал, а мы теперь вынуждены жечь свои процессоры.
>>22435 ты не понимаешь зачем тут POW? так и скажи, но без него капча намного слабее становится, т.к. можно легко подгонять хеши под решенную капчу.
мне другое тут не нравится - это зависимость времени POW от картинок. нужно или хранить картинки отдельно без капчи или изъебнуться и запилить костыль в котором POW считается от текста поста, но это костылище получится
>>22436 Я не понимаю, какой вменяемый человек будет гонять свой процессор дольше 10-15 секунд на 60кб пост. Снижай сложность короче, я ебал этот недобиткоин.
я сейчас вот это вот всё разгребаю в его коде что бы на js повторить.
короч серьёзно нужно картинки без капчи отдельно хранить и запилить нормальный порядок бит в капчах по строчкам. и я ещё не добрался до ковыряния что чем закодированно. из псевдокода нихуя непонятно, но уговор был вроде такой:
- сид пары ключей заксорен(сальсой?) словом с картинки - публичный ключ хранится в капчепаке
школьник, поясни плиз в подробностях чем и в каком порядке ты шифруешь?
Finished: http://m2-ch.ru/crypt/res/22086.html Error: Удаленный сервер возвратил ошибку: (502) Недопустимый шлюз. Неправильный результат из-за исключения, возникшего во время операции. См. описание исключения в InnerException.
>>22437 Охуеть. От тебя что, убудет, если ты на 15 секунд процессор нагрузишь? Нет, я понимаю что POW, который нагружает до 100% минут на 5 процессор может не нравится. Ну а тут-то чего? Гоняет не долго, ничего у вас за это время даже слегка не нагреется. Пиздос. Всегда бомбит с POW-ненавистников. Такое ощущение, что будто вас POW на счетах вручную считать заставляют.
кстати сейчас есть такая фигня что если неправильно ввёл капчу - то нужно снова считать POW для дугой капчи. оно прикольно конечно, но наверное нужно говорить что капча введена неправильно и предлагать сгенерить новую или снова попытаться ввести эту
>>22453 в том то и дело что борда становится фактически текстовой, так как гемор считать пов от картинки пару минут. а это одна из составляющих имиджборд
>>22453 >От тебя что, убудет, если ты на 15 секунд процессор нагрузишь? Конечно убудет, почему я должен проёбывать ресурсы компа, электричество и своё время в нихуя, сидя и ожидая пока посчитается это говно? Пов уместен в биткоине, но никак не в капче.
>>22454 Разве капча не должна состоять только из a-z0-9? Школьник проясни
>>22456 капча состоит из неполного алфавита что бы избежать визуальных конфузов(и упростить брутфорс, лол)
пов здесь нужен в меру, что бы он не сильно зависел от размер поста. без пов будет возможность под одну разгаданную капчу быстро пилить много спама.
кстати пока писал пост - пидумал как облегчить пов и отвязать его от величины месседжа - шаг 1 - высчитываем хеш всего поста шаг 2 - генерим мусор что бы мусор+хеш поста соответствовал правилам POW
вот только сам мусор нужно хранить отдельно от самого месседжа
>>22461 я в посте написал что наверное нужно считать пов от хеша поста что бы не зависеть от размера, а ты отвечаешь что наверное нужно считать пов от хеша поста, лол
разрешить много раз пробовать ввести одну и ту же капчу либо предлагать сгенерить другую (снова пройдя pow) - норм, можно сделать
>>22456 >>22455 согласен что pow для картинок это плохо. есть предложение - сделать новый тэг [ximg=....] наподобие [img=...] то есть всё то же самое вот только перед просчетом хэша [ximg=] полностью вырезается либо заменяется на хэш самой картинки. в итоге картинки в посте на POW не повлияют никак. в новом клиенте сделать [ximg по умолчанию. изменений в коде должно быть не много, я берусь это сделать (если нет возражений)
капча - да, как ты и написал a-z0-9? то есть некоторые английские буквы (маленькие), цифры и знак вопроса. других символов нет. всегда 5 символов.
>>22465 Меняем картинку сколько угодно раз, а текст оставляем прежним, следовательно пов считать не надо и всегда выпадает одна и та же капча, зато хеш поста меняется @ Тысячи спама @ Профит
Ты снова жидко обсираешься не успев даже засунуть себе свой очередной недокостыль в анус, хотя тебе уже предложили нормальное решение
>>22465 тоесть ты используешь полный алфавит для капчи, не выбрасывая никаких символов типа i,l,1?
мне кажется проще внешнего хранения картинок или вырезания их - просто считать POW не от пост + мусор, а от хеш поста + мусор. тогда любой POW будет примерно одинаков по времени
и если ты уже тут, о давай выясним что ты и чем шифруешь(честно лень вникать в шарп-код, лол)
я надеюсь сид сальсуется словом капчи? потому что сальса уже есть в проекте, зачем ксор, если это одно и тоже. и не шифруешь ли ты в несколько слоёв что нибудь там?
>>22467 не полный, я же написал "некоторые". пикрелейтед про шифровку - seed не сальсуется, а просто ксорится следующими байтами: sha512(utf8(разгадка капчи + hexstring(публичный ключ ед25519)))
>>22466 ну зачем ты сразу про обсираешься, про костыль. любую оптимизацию можно назвать костылём такая уж природа оптимизаций. смотри: вместо [ximg=..base64..] на вход считалке хэша можно подавать [ximg=..hash..] то бишь хэш этого изображения, я и этот вариант упомянул, так что спамер все равно соснёт
>>22477 считать POW от хэша поста? это наоборот будет ебически долгий POW. ааа, с мусором... ну так количество костылей удваивается получается надо вместе с постом передавать мусор который сегодня в завтрашний хэш не всегда должен влиять, вернее влиять может не только лишь на хэш, но должен прибавляться к хэшу чтобы вычислить хэш
>>22480 >считать POW от хэша поста? это наоборот будет ебически долгий POW >, но должен прибавляться к хэшу чтобы вычислить хэш Ты ебанутый? Хеш поста - хеш части, НЕ содержащей [pow] и [sign]
>>22484 ну да, а потом решили использовать сид вместо приватного ключа(так как из приватного ключа всё равно можно сгенерить публичный, а из сида можно оба, но сид не подчиняется правилам)
>>22482 >Хеш поста - хеш части, НЕ содержащей [pow] и [sign] Я когда-то предлагал поправить формат сообщения чтоб он был "красифше", но мне сказали что формат нихера не текстовый и я загоняю. Нахер вообще делать эти теги когда можно просто байты после месаджа хранить? Ты ведь знаешь что последние n байт содержат мусор и подпись капчи.
Новый релиз, всем качать, проблема медленного POW-а для картинок решена. Теперь у картинок другой тег - xmg (вместо img). При расчете POW-а тег и его содержимое заменяется соответствующим sha-512 хэшом (в виде hexstring). Таким образом POW для маленького поста и POW для поста с "хайзером" в 47Кб займет примерно одинаковое время. Тег img всё еще поддерживается (для обратной совместимости).
>>22494 Ну вообще-то нам нужна обратная совместимость, но мы не понимаем, что нам не нужна обратная совместимость, не забирайте у нас обратную совместимость. Я вот сейчас сниму ногу а там носок и вы поймете что в противном случае будут происходить ответфления или как по вашему сейчас принято называть форки (от слова форк - вилка, то бишь безвыходное положение. НИКто ведь не хочет оказаться в ыбезвыходном положении, Правильно? Я спам всем снофф.
бля, ну нахуя тянуть старые костыли в виде тегов в базу с чистого листа? сейчас нужно прийти к новому формату в котором кроме хеша replyTo и поста есть ещё подпись капчи и мусор. нужно только договорится о количестве байт
>>22499 лол тут пару тредов такой мозговой штурм был по поводу капчи от самых разных анонов. одни не владея сабжом маняпредложения толкали, другие их тут же опровергали.
>>22502 непонял про барина. суть нборды в том что комьюнити договаривается о стандарте, а реализации пилят кто как хочет. школьник иногда забегает наперёд
>>22503 как с теми же картинками капчи. если бы обсудили что это будут монохромные пиксели величиной с бит, то договорились бы и о порятке бит в байте и пикселей в потоке
>>22506 Ну а я что сказал? По факту только один человек что-то делает, вот по этому все решения им единолично и принимаются. А от всех остальных только срач.
>>22505 ту же капчу придумывали сообща. я сам бухой в стельку умудрился первым озвучить несколько идей которые легли в договор о капче, а до этого вайпал тред потоком сознания
>>22509 потому он тред и читает выдёргивая из него годноту. Как пример - добавил в хеш для шифрования капчи открытый ключ. Ну и что там ещё предлагали и это было реализовано?
но прежде чем реализовывать - нужно было обсудить саму реализацию, т.к. сам же школьник учитывает что могут быть другие клиенты и они должны без гемора повторить алгоритмы. а гемор это не только платформа, но и веализации по левой пятке, типа как с обратным порядком бит в капче
>>22511 Ну так кто мешает сначала пилить спеки, а потом как все согласятся - кодить по ним?
Все нихуя не делают, а только пиздят. Потому что тут все сплошные Кнуты и Шнаеры. Так что у школьника развязаны руки и пилить он может как ему вздумается.
>>22511 порядок вовсе не обратный, просто есть два порядка от старшего к младшему и от младшего к старшему. кое-кто решил что порядок всегда должен быть от старшего к младшему. вообще извечная тема срачей это вот такие вот порядки битов и байтов и в этих срачах кодерасты доходят до асбурда
>>22503 Легко было договориться о стандарте на заре наноб-ды. Когда была только идея цепочек: хэш = хэш родителя + текст. И абстрактные "любые" транспорты. Дальше пошли усложнения: - каким будет длина хэша? - какой пост будет корневым? - какой будет разметка? - как вставлять картинки? - каким будет транспорт? - какое будет сжатие и шифрование и будет ли оно? - как синхронизировать места обитания? - каким будет таймштамп? - какие посты разворачивать как тред, а какие считать категориями? - какой будет ретрансляция? - каким будет лимит на размер поста? - какая кодировка? - как в посте сослаться на другой пост, тред? - какие форматы картинок, будет ли webp? - можно ли вставлять внешние картинки? видео? - игнорить ли посты из контейнеров при отклонении контейнера? - будет ли pow и каким он будет? - будет ли капча и как ее организовать без капче-сервера? Тут стандарт уже на целый том. И никто на самом деле не описывал это - все витает в воздухе, в постах, в исходном коде. Если уж описывать то всё в подробностях и с самого начала. И многое надо сделать по-другому. Я думаю во многих проектах приходят к схожей ситуации.
>>22518 Честно говоря возиться лень, но думаю чутка подшаманив картинки и потренировав тессеракт можно заставить его читать капчу, а в случае если прочтение не подходит - перебирать сотню другую вариантов по правилу похожести букв.
>>22514 пацаны вы ебанутые последняя буква тут s запоминайте в этой капче она именно такая вторая тоже s буквы д тут не бывает вообще какая первая буква я хз может p может o ? и j - правильно
>>22520 >перебирать сотню другую вариантов по правилу похожести букв. А кстати это можно внести в клиент, чтобы пользовательский ответ проверялся вместе со всеми похожими буквами.
Давайте всё-таки определимся, от чего считать пов? Уебанский костыль с xmg и прочим явно не подходит, алгоритм пов должен быть универсален и не должен зависеть от содержимого.
>>22528 PoW надо брать как у битмессаджа. Берётся хеш от сообщения и потом подбирается хеш от него+мусор под определённые условия.
В будущем можно будет добавить регулировку которая будет зависеть от чего нужно (от размера, от желаемого времени ретрансляции или что там ещё может возникнуть) - чем сложнее должен быть PoW тем больше должно получиться идущих подряд нулевых битов.
При этом получается что капчу надо будет решать после подсчёта PoW - иначе можно будет быстро подбирать хеш под уже решённые капчи.
Для мусора будет достаточно 8 байт. Подпись от капчи занимает 64 байта. Этот кусок надо дописывать в конец сообщения, а не в какой-то там тег или ещё что. Если хочется оставить всё читаемым - в конец сообщения дописывается base64, а не голые байты.
>>22529 >иначе можно будет быстро подбирать хеш под уже решённые капчи Да его и так можно подбирать десятками в минуту на одном ядре независимо от того, какого размера данные нужно считать. Местные знатоки даже про length extension attack не слышали.
У тебя два варианта - или ты сначала ищешь коллизию в 24 бита, а потом другую тоже в 24 бита. Или ты ищешь один раз, но коллизию в 48 бит.
И где ты там собрался атаковать удлинением, когда всё что нужно сделать, это найти такие 8 байт, которые вместе с 32 байтами хеша поста выдают валидный для PoW хеш? Или ты собрался вместо того чтобы тупо и быстро брутить 8 байт мусора, всех наебать удлиняя сообщение?
>>22540 Давай лучше ты прохешируешь тысячу разных 10 кб файлов, а потом тысячу разных 10гб файлов, отличающихся только последними 10кб. Конечно, у тебя-то скорость получится разная (примерно в 1000000 раз), а вот у меня примерно одинаковая, потому что я знаю о свойствах SHA256, применяющихся при length extension attack.
>>22539 в текущей реализаци как раз и влияет, так как при смене мусора пересчитывается весь хеш, а можно было бы отделить изменяемую часть. а вообще мусор лучше клеить спереди или заюзать друоой алгоритм хеша. в NaCl есть годная хеш функция
>>22554 Так они будут видны одинаково у всех. P2P не как замена,а как маленькая фича. Ящитаю хотя кому интересно моё мнение,что транспортов должно быть несколько
>>22566 Блейк это конечно хорошо. Но тут проблема не в том что старичок Ша не умеет бороться с length extension, а в том что вся крипта придумывается походя без особых мыслей о том что будет дальше.
Нужно один раз написать подробную спеку, один раз хорошенько её обсудить с местными Шнаерами и Кнутами, а уже потом пилить клиент по ней.
>>22572 я долгое время ничего не писал и вообще забил на репу пока(смысла писать что бы потом всё переписывать - не было). как решилась проблема с капчей - я снова принялся за дело. сейчас вечерами ковыряю капчу школьника, как только у меня заведётся - выложу релиз, по сути бета версию. но чуствую что школьник опять всё перепишет - от того и не спешу
Пацаны! Вы не поняли самого главного, вам хотелось течения плавного. Все мы в зеркале славные. Перестаньте скрывать напряжение, эта партия - до поражения. Осторожнее, стены окрашены, вам достался соперник безбашенный. Молитвами вашими.
Предлагаю послать наноб_о_р_ду и пикоборду нахуй и сделать новую борду, назвать Криптодвач. Та же тема - контейнеры (люто бешено двачую присобачивание полезной нагрузки к жпегу - это намного проще кодировать), паразитирование на АИБ. Только начать с совместного написания спеки на какой-нибудь бесплатной вики. Чтобы любой хуй умеющий в кодинг мог бы глядя на спеку написать клиент который был бы совместим с остальными.
>>22591 вот и будет у вас вики, спека, хуека. а борды не будет. потому что википидор это диагноз. потому что есть два типа людей: которые пиздят и которые делают.
>>22595 покормлю. без спеки первый кто сделал хуяк-хуяк и в продакшн - вынуждает либо пользоваться говнокодом, либо писать свой несовместимый код.
описание того что должен делать код - освобождает от прямого выхода на контакт с другими разрабами и тем более вникания в их код. (вспомнился случай как кто-то сказал школьнику что названия функций должны говорить что она делает, а там нужно было читать код что бы понять почему функция так называется)
Когда вы видите аггреггатор ПНГ-контейнеров Наноб-рды, то вам вспоминается нет не аллигатор, вам вспоминается спайдер (англ - spider, в транслиретрации спидер - СПИДер - человек, заражающий спидом. Пацаны... счастливые... вы обречены — я ветеран войны, я заразил вас СПИДом. Больны теперь вы, пацаны. Пока, пацаны.
>>22605 Капча то децентрализирована. Ведь у всех на компьютерах капча, а не на центральном сервере. А то что варианты ограничены ну извините, бесконечность это лишь метафора, как вот по небу летит тополиная стая, пацаны, пацаны, пацаны, умоляю.
>>22603 потому что это веб, а писать под веб на шарпе - это боль и унижение, если хочется выйти за пределы "ставишь моно, компилишь клиент"
по поводу того что подобные приложухи должны быть на скриптоговне - я даже не хочу расписывать почему
я потихоньку пилю на js, хотя можно было бы точно также на питоне или даже руби. почему js? потому что код изоморфный, на одном и том же коде можно сделать классический клиент, клиент для девайса на phonegap, десктоп приложуху без надобности ставить ноду на каком нибудь electron/nw.js и даже ебать его в рот chrome-app который будет ставится в браузер по одному клику
охват аудитории какбэ больше при меньших усилиях. но я не хочу холиварить, это моё имхо
>>22610 >производительностью нет, ты просто обосрался. нахуй тут производительность? ты пр0теины вычислять собрался? к тому же тот же js на V8 в плане математики не сильно отстаёт от низкоуровневых языков
у скриптоговна есть одна киллерфича - не нужно компилить и разворачивать среду разработки. открыл в любом текстовом редакторе и поменял что угодно
но тебе с дивана виднее, лол
>0.1 клиент в виде многооконного приложения ну могу помахать ручкой маргиналам которые будут юзать через жопу хуйню которая один хуй работает с интернетом и показывает внезапно вебстраницы, но что бы это было переносимо - нужно либо юзать яву и охуеть, либо "по-хипстерски"
>зачем нужны другие клиенты ну какбэ карасик для тех кто любит обмазаться явой, а ванильный клиент был первым рабочим. я думаю они устроят js-хейтеров. но если серьёзно то я не против если все перейдут писать вместе со мной на js, но очевидно что этого не будет
>>22603 >Почему не пользоваться одним клиентом? Потому что в нём всегда будут недостатки. В других тоже будут недостатки, но так хотя бы можно будет выбрать, какие недостатки ты согласишься терпеть.
нужно создавать на мелкобордах скриншот треды рабочих столов, папок с музыкой, скриншотов из интернетов етс
>>22612 один раз скачал и всё. не навсегда, конечно. а вообще это уже обсуждалось, что нужно сделать возможность иметь сколько угодно капчепаков. посты будут апрувится по тому капчепаку что есть у тебя. вот хочешь онимэ обсуждать и обмазываться катаканокапчей - качай пак
>>22617 А как мне проверить, что они правильные? Вдруг они неправильные? Кое-кто не понимает различия между централизацией и децентрализацией. >>22621 >кто тебе мешает? Школьник. Спеки не пилит, быдлокод пилит. Писать программу не на чем, только реверс-инжинирить петушиный код. И я не зря употребил понятие «реверс-инжинирить».
>>22625 > А как мне проверить, что они правильные? А как ты докажешь, что ты верный код залил на гитхаб/...? ОМГ СУРСЫ НА СЕРВЕРАХ ХРАНЯТСЯ, ВСЕ ПИЗДЕЦ!
> Школьник. Спеки не пилит, быдлокод пилит. Писать программу не на чем, только реверс-инжинирить петушиный код. Так иди блядь и пили свой ебаборд с блекджеком и спеками, а от нас отъебись.
>>22613 ты видимо код только на картинках в интернете видел какой нафиг текстовый редактор без нормального IDE ты разве что хеллоу ворлд напишешь любой более менее серьезный проект требует IDE а не блокнота
пацаны вы гомосеки вы понимаете что вы все гомосексуалисты конченные? что вы сделали? какой шарп какой джэ эс? одно тормозней другого. я начинаю пилить свою фемтоборду на портабельном си а вы дальше занимайтесь гомосексуализмом гомики геи противные
>>22643 >портабельном си Когда мне кто-то начинает затирать про портабельный си, я невольно расплываюсь в улыбке. Вроде, и портабельный в теории, вроде все хорошо, но обычно все как-то не так как надо.
>>22646 >через llvm-ecmascripten перегоню в js и результат тот же будет Ты шизик какой-то или что? Зачем намеренно снижать производительность и перегружать процессор?
>>22649 я же выше уже расписал что js можно впихнуть в любой девайс и даже на пк его можно самыми разными способами заюзать. потеря производительности в половину в случае нборды - хуйня, так как тут нет сложных вычислений.
>>22653 В любом случае, клиент на js может очень упростить расширение клиентуры. Клиент, который будет работать на всяком мобильном говне - это прорыв. Ненавижу это ублюдское говно. Телефоны (как и планшеты) - мерзкое говно. В топку!
>>22655 И вк тоже говно, и фейсбук, и телеграм, и лавйжорнал, и инстаграм. Все говно. И мобильная связь тоже говно. Все в топку. Хочу письма для неспешных сообщений, и телеграф для срочных! Верните мне мой 67!
>>22663 ты понимаешь что ты гомик конченый? какой фонгап какие *-фоны? иди блядь броди ты не туда зашел это криптоанархия. ты никогда не вычитишь анальные зонды из своего гомогейского говна. тебе сука за плечо через плечо нахуй в экран посмотрят примут с поличным мусора ты с собой носишь ПАЛЕВО даун ты уебанский ты просто кретин а не криптан. дже ес у него, фонгап у него, охуеть. "в 2 раза" он думает у него просядет производительность, вот это пушка! си и только си чистый анси си под юникс вот каким должен быть клиент криптодвача
>>22675 Там было несколько по-иному. Мне там больше нравилось. И негров там меньше было. Ну, до вайпов. Наверно, это такой закон мироздания. Если сначала нет негров, то потом их станет МНОГО.
>>22683 Смотри сам. Борда существует и РАБОТАЕТ уже 4 ебаных месяца. Да, еще много чего можно улучшить, можно еще 10 раз переписать на скале, шмале, на расте, на пидарасте, поменять формат, поменять контейнеры. И она всё это время и улучшалась и будет улучшаться, такова ЖИЗНЬ этой борды. Ждать какой-то точки охуенности и только тогда пеарить - ну хуй знает, понятие это относительное всё-таки, вот например я считаю точкой охуенности клиент 1.7 с хуем когда фрактальную музыку навернули (да, я говноед), внешние картинки, предпоказ содержимого создающегося контейнера. Этого до сих пор в 2.0 (уже 3.0) нет. Зато есть капча и POW. Когда можно было бы просто сделать удобное отклонение контейнеров и не разрешать пихать в контейнеры по 100 постов - и десятка родительских достаточно (вообще родительские обычно редко являются спамом так что тут все четко). Короче идея хорошая, надо пиарить, а реализация всегда будет хромать - все ж мы люди, несовершенные и наши творения такие же недоделанные как и мы.
Ладно, немножко депресухи: как все будет на самом деле: нб тихо сгниет от отсутствия посетителей и постепенного морального устаревания. Борды никому не нужны, все сидят в соцсетях. Пидорасы. У 90% этой борды есть акк вк. Ничтожества. А стегоборды-тем более никому не нужны. А стегоборды, контейнеры которых нужно постить самому-совсем-совсем. Ну да ладно, все равно стегоборда-это интересно, хотя и загнется скоро. Но нужно четко сознавать, что проект обречен. Ну хоть чуть-чуть поборемся.
>>22688 да ты походу слишком серьезно относишься к сабжу. релакс. это просто стимпанк такой - качать картинки, заливать картинки. именно этим она и привлекательна. это в общем только для мисье, а они всегда существуют в некотором проценте
>>22688 Да почему депрессуха? Обычное дело. Так же скукожились КОТы и GS-ORMT на хиддаче. А ещё до них так же скукожились другие кукольные стегоёбы.
А год назад точно так же сдох ДДТ. В начале когда скрипт был вообще кривой вот движуха-то была! И наши борды и 4- и 8- чаны, человек триста было. Общались, хитрые планы придумывали, "бункера" строили. Реально движняк. И весь девелопмент был в ДДТ, а не просто в треде - срачи всякие за крипту, за форматы. А потом появился стег, все самые стрёмные баги выпилили, потом более лучшая криптография появилась, анонимный постинг - и всем надоело. Наигрались. Ибо нахуй оно не надо на самом деле. Разве что поковыряться кривым пальцем в говнокоде, но это быстро надоедает. А реального применения всей этой стеготе как не было так и нет.
>>22716 а какого хуя там делаю посты карасика времён когда ещё не было капчи? я только что последний релиз выкачал и собрал контейнеры и у меня как на пике
>>22717 объясняю из старых хэшей сохранился только Категории ... и Бред/разное - они программно добавлены в базу. остальное создаётся с нуля неизвестно кем (просто аноны создают или воссоздают посты подписывая их решенной капчей)
>>22747 нужна же точка координации чтобы любой мог создать тред и только потом выкачать остальные треды; в противном случае каждый создавал бы свои категории и чаще всего свой Бред. на слоу-борде обычно бред самая популярная категория (да и не только на слоу борде)
>>22749 > в противном случае каждый создавал бы свои категории и чаще всего свой Бред. Чтобы этого не было нужно сделать чтобы у всех был свой произвольный набор категорий. А вообще категории должны скачаться из контейнеров, зачем кому-то кроме нас трёх с половиной создавать новые пустые категории?
public static int CaptchaIndex(string post, int max) { post = post.ExceptSignature(); var hash = _sha.ComputeHash(Encoding.UTF8.GetBytes(post)); if (hash.MaxConsecZeros(PowByteOffset, PowTreshold) < PowLength) return -1; return (hash[0] + hash[1] 256 + hash[2] 256 * 256) % max; }
ты делаешь меня плакать. вот нахуя так на тяп ляп хуярить? у тебя в разных местах используются то хеши с подписью, то без неё. нахуя так делать на скорую руку? аноны после спамозасирания никуду не торопились. можно было написать в тред, "антуаны, я сделаю так и так, рейт ми", тогда бы бОльшая часть не попала бы в релиз
>>22759 а зачем пов хранить отдельно? или это типа хеш поста отдельно, но хеш + пов должны правилу соответсвовать? если так, то зачем всё так запутывать?
я сегодня осознал что идея с тегами внутри сообщения не так уж и плоха. это лучше чем договариваться что, допустим, первые 32 - это replyTo. можно вообще в тег вынести. и будет просто монолитное сообщение в формате urf8 которое будет проходить препроцесинг некоторых тегов с их вырезанием. такие как replyTo, подпись и пов. заменять картинку на хеш - не правильно, нужно просто высчитать хеш от всего сообщения и уже к нему добавлять мусор что бы высчитать пов. тег картинки таким образом не обрабатывается на стадии препроцессинга и попадает в конечное сообщение
>>22762 это реально гибко будет. можно задавать разную длину хешей, подписей(хотя она вроде всегда 64), мусора для обратной совмести можно либо ввести тег версионности или обрабатывать по утиному, например если replyTo не 32 а 16, то ищем по первым 16
>>22757 хэш с подписью это классический хэш поста (обрезанный). хэш ПОВа это вообще другой хэш он никуда не записывается вместо этого он вычисляется на компах юзеров для валидации. для pow нужен совсем другой хэш без подписи иначе не получится проверить сам pow ведь пост подписывают уже когда в него добавили pow и pow основан на хэше поста в который еще не добавили подпись. а сделать подпись ДО того как вставлен POW невозможно
>>22770 >и никаких base64 внутри жсона бейс64 в джейсоне школьника не просто так - JSON.NET рандомно портит не-ASCII символы (коими является рюзке текст). если клиент не на моно а на чем то другом то похую конечно
>>22773 >JSON.NET рандомно портит не-ASCII символы Так пусть ищет нормальную жсон библиотеку, отсутствие UTF-8 в 2016 это дно ебаное. JSON по умолчанию в UTF-8 блять, это чёрным по белому в RFC, это знать надо!
>>22774 >>22777 Там из коробки можно вписать код символа как \u1234
если хуйня нигде не участвует и не показывается, то зачем от неё всей вычислять хеш на который потом посты ссылаются? а капча я так понял определяется по хешу поста в котором есть в формате хекс+тег, а не извлекает его и не переводит в масив int8 а потом только добавляет к посту. а картинки когда кропаются - их хеш внутрь тега вставляется или по внешним границам? нахуя так делать сразу в релиз? это ж пиздец
1. для обратной совместимости и для здравой логики хеш как и раньше нужно вычислять по посту из которого кропнуты капче-теги. 2. POW считать так: (int8[])trash + post_hash, где trash [pow=trash] 3. по POW которое подходит под правило(три нуля подрят в хексе в любом месте?) - мы получаем индекс капчи.
>>22778 >Так пусть ищет нормальную жсон библиотеку под моно больше ничего нет
>>22783 ты путаешь хэш поста и какие-то промежуточные хэши которые никуда не записываются. для POW-а вот тот обрезанный хэш поста какбе не подходит, нужен полный для POW выбрасыается только подпись остальное участвует. ты предлагаешь подпись поста нести отдельно от поста? а какой смысл если это реально подпись конкретно этого поста? то что она не отображается это решение конкретного интерфейса может кто-то захочет эту подпись и отображать или отображать галочку если там есть подпись
>правило(три нуля подрят в хекс 000000 010000 000100 000001 010001 010100 000101 010101 и так далее в хэксе подходит. то есть нужны 3 байта от 0 до 1 включительно подряд
>>22790 кстати норм идея. я бы еще сделал сервак через который ты можешь отправить пост.ты платишь за посты за каждый допустим килобайт по 1 рублю. автор сервака уже сам занимается постингом контейнеров с постами. как бонус ты получаешь бесплатный онлайн доступ к свежей базе постов (сборкой постов занимается сервак).
>>22792 да путаница вышла с этим хексом(пример то в хексе приведён) и я в глаза долбился, не видел что там <= а не просто < и искал при нуля, хотя там может быть и три единицы даже
>>22793 а ещё когда сервак станет посещаемым можно будет сдавать торговые площади и покупать более мощный сервак. ну там можно ещё будет сделать регистрацию по инвайтам и возможность за донат прятать своё мыло и аватарку
>>22801 йоу йоу школьник на связи там не нули да сначала планировал нули даже метод назвал МаксимальноПоследовательныхНулей но потом увидел что 2 нуля находятся быстро - за пару сек, а 3 нуля слишком долго (ну тип в 256 раз дольше) пришлось добавить параметр на лимит значения байта и принимать не только нули но и единицы. с таким вот подходом 3 байта подряд 0 или 1 дали более-менее норм время ожидания и не слишком быстро и не слишком долго. тестил на iMac core i7 4.0Ghz на слабых компах может быть и дольше но все равно не больше минуты (если там не стена текста на 50Кб)
- пидор пидор хули над? - выпей сука лимонад - не хочу я лимонад, сделай сука хулинад - хули блядь за хулинад? - это типа лимонад - сделаем стартап бомбезный, людям впарим хулинад!
ай вондер хау ай вондер вай пидор пидор пидор пидор блю блю скай хуец блядь отсоси сука пидор лемон три
- мёртый мёртвый мёртвый пидор под окном он всю ночь хуярил хулинад. пацаны вложили в этот хулинад силу сотни демонов золота карат маленькую мышку юлькину подмышку наноб_рды сервер с цп и наркотой пейте пейте люди чудо-хулинад будет сатана вам очень очень рад
>>22806 немедленно беру в релиз, версию меняю на 4.0 остальные удаляю. и да контейнеры теперь будут в торентах магнеты постить на сами же торренты так будетторент в торенте и не понадобиццо никто здравстувуй енм меня звоут клаша я гварливая наташа меня пульки расдробили шипцы метан замочили расмустэк меня мустэк почемуты ложил на стэк? с увожениям ваш кшольник
>>22807 >если там не стена текста на 50Кб можешь объяснить почему не считать пов от хеша поста? почему пов должен зависеть от длины поста. тогда и с вырезанием картинок не нужно изъёбываться. причём пов нужно считать ставя мусор в начало, а потом хеш поста
>>22808 надо наказать тех кто постит стены текста. пов как способ наказания. ты платишь за ретрансляцию так. это как плата за вес при отправке посылки.
>>22809 ахуенно пиздец. можно локально поправить и считать длинный хеш один раз, пов-мусор то в конце поста и разницы не будет, а только кривая реализация которую нужно тянуть к себе для совместимости.
>>22812 > пов-мусор то в конце поста я про то что хеш - можно считать не с начала, а один раз посчитать неизменяемую часть, а потом к ней плюсовать мусор. т.е. или оставляем текущую реализацию, но тогда пов нужно хранить в начале поста или делаем реализацию на хеше и клеим хеш после пов и не ебёмся с вырезанием картинок.
PoW считать от хеша поста (этот хеш потом является идентификатором поста, используется в рефлинках). Считать как H(trash + hash). Сам вот этот trash хранить отдельно от поста. Как вариант - в конец сообщения дописывается base64 с мусором и подписью капчей.
Проверялку PoW сделай так - берёшь первые 64 бита от PoW-хеша и превращаешь в целое беззнаковое. Это вот число должно быть меньше некой константы. Константу подбираешь так, чтоб подбор PoW занимал в среднем секунд 30 (на одном ядре проца)
Как только PoW посчитался - берёшь следующие 64 бита из PoW-хеша и используешь их для определения капчи которую надо решить. Или как вариант берёшь H(H(trash + hash)) - и используешь её первые 64 бита.
Если капча решена - подписываешь ею и пост и мусор. Если чел не может решить капчу - просишь ввести её же ещё раз. При этом должна быть кнопка "пересчитать PoW" - на случай если капча попалась трудной.
>>22813 В принципе нинужно, просто у тебя алгоритм кривой вот и считает три часа. Надо только отделить мусор и подпись от сообщения, вот так считать хеши PostHash = Sha256(replyTo + postText) PowHash = Sha256(replyTo + postText + trash) Signature = Sign(replyTo + postText + trash) мимо карасик
>>22829 Капча теперя у нас тута. Капчуем. Защита от спама такая. Ну и POW. Написал пост, жмешь отправить, ждешь POW несколько секунд потом только появляется капча. Решишь капчу — получишь ключ которым можно подписать весь пост вместе POW. Если подпись оказывается не валидная, значит ты не разгадал капчу. Разгадкой при этом никто не делится, так как сама подпись достаточно убедительно доказывает, что ты действительно разгадал капчу не раскрывая разгадку. Капч всего чуть больше миллиона, сгенерированы заранее школьником и упакованы в единый капчепак. Теперь чтобы работать с 3.0 клиентом надо отдельно скачать капчепак (190Мб). 1.х и 2.0 признаются устаревшими и больше не поддерживаются.
>>22831 Ну и еще из тонкостей - каждому посту (по его содержимому определяется) соответствует одна капча. Подобрать своему посту определенную капчу нельзя (можно но оче долго за недельку например) из-за POW. В капчах английские буквы (не все), цифры (не все) и знак вопроса. В каждой капче ровно 5 символов. Буквы всегда маленькие. Вся эта ебота призвана защитить нас от нещадного спама.
предлагаю такой переход с обратной совместимостью. если после распаковки сальсой и инфлейтом первые четыре байта (вместо 6ти хекс байт количества) будут равны cbor и с пятого байта до конца контейнера будут данные запакованные cbor
>>22834 А лучше сразу пойди вскрой себе вены. Ваша сальса нахуй там не нужна это ебанизм - пароль то на гитхабчике лежит. Лишнее усложнение кода. Инфлейт тоже хуйня, ну 20% в лучшем случае даёт, а вот предугадать размер который будет после упаковки нельзя и это очередной источник усложнения кода и костылей. СБОР ваш травяной сука это ж байтоёбский пиздец. А ретрансляция - никто вообще не понимает как она работает и как должна работать. Копните поглубже - у вас же сотни повторений сконцентрированы в одном месте. Раздутые ПНГ-шки с парой десятков постов которые есть в предыдущей ПНГ-шке и часть которых есть в предыдущей и так далее. Вы совсем не экономите ни пространство в "контейнерах" ни трафик участников. Хорошая система ретрансляции вела бы учет запощеных контейнеров на разных АИБ и сама решала бы когда нужно ретранслировать тот или иной пост (когда не осталось ни одного контейнера с этим постом доступного на АИБ). Смысла в ПНГ мало, резать админу АИБ пнг-шки не намного сложней чем джпеги с невидимым мусором в конце. Но хуй бы с ними если бы вы не раздували их до беспредела. У вас решения принимает какой-то вонючий школьник потому что у него хватает ЕБАНУТОСТИ программировать всё это. Мало того - принимает он их наслушавшись всякого бреда про сальсу, про капчу, про СБОР. Адекватный и взрослый человек нет, не застрянет на этапе планирования, он просто сюда не зайдёт вообще, у него другие заботы. Ну есть еще борщехлеб без амбиций который тупо повторяет весь бред который школьник втянул в клиент, но не заботится о том, чтобы кто-то мог его борще-клиент запустить. И вроде бы на горизонте маячит еще более забитое чмо которое на ДЖАВАСКРИПТЕ блядь пытается опять же повторить всё за школьником. Ёбаный цирк блядь.
>>22838 А ведь идея-то хорошая. Борда которую никто не закроет. Борда где нет спам-листов, модеров, удалений, админов, банов. Имеет право на жизнь, даже если реализация не совсем идеальная по коду и техническим решениям.
Я вот думал о борде на досуге, и пришел к выводу, что ей нужен p2p протокол для какой-никакой перспективы выжить. Эти ваши контейнеры-это хорошо, для начала, но они довольно слабо масштабируемы, и требуют ручной постинг и координацию.
>>22842 Двачую, тоже считаю отсутствие полной автоматики транспорта камнем преткновения. Да есть минус в палеве ай-пи но чесночный роутинг должен хоть как-то успокоить параноиков.
>>22843 Да, на самом деле, не обязательно так. Достаточно просто создать систему, где пост не обязательно передает именно его создатель. Например, чтобы запросы к твоей базе были доступны снаружи. При такой системе ты не обязательно будешь скачивать пост именно у его автора, это может быть кто-то, уже скачавший до тебя.
>>22843 >есть минус в палеве ай-пи Для начала можно использовать торовские хидденсервисы и вместо айпишников палить друг другу onion адреса.
Но вообще уже есть битмессадж которому просто не хватает рендера сообщений в треды. PoW есть, ретрансляция есть. Остаётся только добавить чуть-чуть кода который парсит посты из чана как нанопосты (хеш кому отвечаем + сообщение) и собирает из этого треды.
>>22849 Я бы убрал всю лишнюю прослойку между битмессаджем и рендером тредов.
Это очень весело таскаться с опухшими пнгешками по бордам и если всё дело в этой забаве, то можно оставить как есть. Если же хочется независимую борду, то нужно либо делать свой p2p либо использовать чужой. На мой взгляд накидать простенький конвертер чанов битмесаджа в треды это самый оптимальный вариант.
>>22852 Базу с постами, шифрование, PoW, капчу, пнг-контейнеры и тому подобное. Всё должно быть просто - вот все посты из чана, считаем хеши, расставляем в тред, всё.
>>22855 На моем ноуте, он не очень мощный, да, 10 секунд-это 1-2 дня ретрансляции. 28 дней считаться минут 7, наверное, считаться будет, если не больше.
Любой классический PoW ущербен. Либо - Делаешь реализацию на CPU и сосёшь от вайпера, быстро набылокодившего вычисления на GPU. - Делаешь реализацию на GPU и вынужден тащить с собой весь OpenCL, а вдобавок теряешь все лоу-энд машины без хорошей видеокарты.
Капча ущербна. Разпознавалка уровня «Первая буква это j, i, l или f; Вторая буква это a, o или c. Третья буква...» пишется за вечер и сводит количество вариантов брутфорса к ничтожно малому.
>>22854 Если бы не омерзительно короткий ТТЛ то можно было бы сделать так как ты говоришь, без базы с постами. Но я не хочу чтобы вся моя борда вайпнулась через 28 дней, я хочу чтобы у меня всё сохранялось. А так БМ-транспорт уже готов, бери да пользуйся.
>>22858 А еще можно сделать алгоритм который ну никак не переносится на GPU и требует 2 раза прервать вычисления ради ввода капчи. А капчу можно сделать не буквенную а из картиночек. Схема когда разгадку не нужно постить позволят создать вообще любую капчу.
>>22865 >можно сделать алгоритм который ну никак не переносится на GPU Удачки. Криптовалютчики вот уже года три активно пытаются, да что-то всё никак не получается. >не буквенную а из картиночек Нейросети похуй, что распознавать.
>>22863 Тогда оставляем базу с обработанными постами и просто подтягиваем новые из чанов, будет твоя борда жить пока ты её сам не потрёшь.
>>22868 Ну-ну. За всю историю небось распечатают два QR-кода. Один наклеят на остановке в Сергиевом Посаде, а вторую в Красноярске на пивной ларёк. А ты сидя в своём Мурманске даже знать об этом не будешь. Люди даже половину Москвы мешнетом на Вай-Вай роутерах покрыть не могут, а ты про QR-коды. Хотя если делать сходочки на Петровско-Разумовской и там этими кодами обмениваться, то может и взлетит.
>>22858 Мне кажется, ты диванный. Есть алгоритмы, которые очень хуево распаралеливаются. В треде уже вспоминали scrypt. А с капчой, ну, там и человеку-то не отгадать часто, содается мне, соснешь ты с распознавалкой.
>>22873 >Тогда оставляем базу с обработанными постами и просто подтягиваем новые из чанов, будет твоя борда жить пока ты её сам не потрёшь. Так ведь именно так сейчас и сделано.
>>22879 да хули разбираться качай со страницы релизов 3.0 (release2.zip) распаковывай, качай в ту же папку капчепак (captcha.nbc). на странице релиза же ссылка на битмесседж транспорт. но им никто не пользуется.
>>22867>>22874 >scrypt Для которого есть даже асики (специализированные чипы), не говоря о реализации алгоритма для видеокарт, которая появилась хуй знает сколько лет назад. С подключением, услышавшие-умное-слово, ознакомьтесь с матчастью криптовалют прежде чем высказываться. А если учесть, что подсчёт хешей в страндартном клиенте будет реализован дебилом на C#, то и придумывать ничего не нужно — умная реализация сразу обгонит его раза в 3. >человеку-то не отгадать часто, содается мне, соснешь ты с распознавалкой А компьютеру не нужно отгадывать, он будет брутфорсить с подсказками. Читай внимательно: >Разпознавалка уровня «Первая буква это j, i, l или f; Вторая буква это a, o или c. Третья буква...» пишется за вечер и сводит количество вариантов брутфорса к ничтожно малому.
>>22885 Это не формат, это часть имени файла — расширение. Вечер открытий на криптаче: содержимое файла никак не связано с его именем.
>>22896 Нет, я понимаю, конечно, что если изъебнуться, то можно много чего. Но ты правда думаешь, что средний спамер будет покупать специализированный чип? Сдется мне, нет. А по поводу распознавалки. Давай так, закину тебе 1000 на если ты представишь такую более-менее стаибльно работающую распознавалку для капчи.
>>22897 >покупать специализированный чип Не нужен он никому, видеокарты достаточно. Как было сказано выше: либо придётся тащишь с «нано»-бордой opencl и послать нахуй всех без игровых видеокарт, либо делать реализацию на CPU и сосать у одной видеокарты. >закину тебе 1000 Давай лучше по-другому: если я сделаю распознавалку, ты признаешь, что затея «децентрализованной» капчи ущербна как класс.
>>22898 Боюсь, отвергнуть идею совсем я не могу. Но это, конечно, покажет, что все наши подходы координально не верны, для хорошей защиты нужно что-то принципиалтно другое,
>>22900 >отвергнуть идею совсем я не могу Какой тогда смысл распинаться? Ты просто послушаешь очередного петушка с идеей «капчи посложнее, которую нельзя распознать».
>>22902 Ну, я же говорю, принципиально иное. А это значит что все что было предложено выше не катит. Ну, ладно, дело твое. Скажи хоть, в какую сторону копать стоит? Резать на куски и кормить нейросети? Наверное так. Можно, наверное, еще по площадям определять.
>>22903 >Резать на куски и кормить нейросети? Интуиция и опыт подсказывает, что даже нейросеть не понадобится, обычной суммы горизонтальных и вертикальных чёрных пикселей в пределах области должно хватить с головой. Пикрелейтед, когда он был без поворотов и больших кусков мусора, такой алгоритм распознавал на ура. Может и забабахаю что-нибудь на днях, если не лень будет разобраться с проверкой подписи.
>>22904 >если не лень будет разобраться с проверкой подписи Посмотрел. Слушай, школьник, а что у тебя за локалмемчики вместо криптографии? Ты не подумал, что не стоит хуячить в мастер код, реализация которого присутствует только для одного ЯП? Я о Ed25519.ExpandedPrivateKeyFromSeed, если что. В libsodium его нет, в python-nacl нет, в ed25519 для nodejs нет, в BoringSSL нет, в OpenSSl ed25519 вообще только в проекте. Ты, блядь, необучаемый что ли?
>>22908 Ну так покажи мне, тупому, реализацию на питоне, руби, перле или хотя бы на C/C++. В жаве это, похоже, делается через >public EdDSAPrivateKeySpec(byte[] seed, EdDSAParameterSpec spec) но жава это тот же сорт говна, что и шарп.
>>22910 Не кипиши. Дядя Бернштейн придумал что из сида ключ получается через SHA512. Первая половина - сам ключ, вторая - приватная часть подписи. Это везде можно реализовать.
>>22912 Ебусь. Я, конечно, мог бы сесть и на досуге разобрать весь ed25519 вплоть до операций в поле, но сейчас у меня была задача набыдлокодить на доступных мне языках за полчаса то, что уже набыдлокодил школьник. >>22913 Действительно, ни разу не очевидно.
Да, и скиньте, пожалуйста, первый приватный ключ, чтобы мне было с чем свериться. Тот, у которого публичный и зашифрованый сид это c60305d77e628f18fe9328dfbd5b2a175d31ed6f64a604e999ad364019e95cea 9b5dc5cee7114d75376b72901e33ca2d0af5748a46a16e1ddb360ca128c53509
>>22919 Мне просто лень уже сегодня прогать, а завтра легче будет посмотреть сразу, правильный ли ключ, чем гадать, где я ошибся — в генерации из сида или в выводе публичного. Я же не профессиональный погромист.
>>22920 Эту проверку по любому делать. Потому что неправильно расшифрованный сид всё равно выдаст тебе приватный ключ которым можно подписывать, так что прежде чем подписывать пост надо ещё получить публичную часть ключа и свериться с капчепаком.
>>22922 Нужно будет, но потом, а сперва: >легче будет посмотреть сразу, правильный ли ключ, чем гадать, где я ошибся — в генерации из сида или в выводе публичного
>>22923 Да, а ведь ещё нужно будет угадать капчу — prijs, prjjs, qrijs, qrjjs или что-то ещё. А ещё понадеяться, что вызов Encoding.UTF8.GetBytes(key) всегда возвращает правильные байты, даже когда byte[] key это случайный мусор, не обязательно соответствующий UTF8. А ещё догадаться, что за охуенный метод Stringify() у byte[] _publicKey http://ideone.com/rVwhqw
Школьник, ты говно, читать твой код — мучение. Гони сюда >_encryptedSeed >_publicKey >_publicKey.Stringify() >guess >SHA512.Create().ComputeHash(Encoding.UTF8.GetBytes(guess)); >dec_seed = ByteEncryptionUtil.WrappedXor(_encryptedSeed, guess + _publicKey.Stringify()) >privateKey = Ed25519.ExpandedPrivateKeyFromSeed(dec_seed) для первой капчи в паке. Всё в hex.
только с чего это он взял что >А компьютеру не нужно отгадывать, он будет брутфорсить с подсказками. Читай внимательно: >Разпознавалка уровня «Первая буква это j, i, l или f; Вторая буква это a, o или c. Третья буква...» пишется за вечер и сводит количество вариантов брутфорса к ничтожно малому.
поехавший? буквы идут в случайном порядке, кто бы пилил такую капчу в которой слова по маске собираются?
незнаю какие точно буквы школьник выпилил, но даже 30, например, букв, цифр и ? на 5 символов - это 30^5 = 24000000+, т.е. 24 ляма вариантов для брутфорса. удачи, хули
а вот с другой стороны я подумываю что такой капчей нужен бруфорс частично разгаданной капчи. типа пишешь 43pj и оно вместо перебирает все возможые символы
>>22936 Ты не понял сути. Компьютер не может отличить в такой разъебаной капче j от i или от t, но i от a или o легко отличает. Таким образом у нас будут группы букв, внутри которых и нужно брутфорсить.
>>22945 >Для того, чтобы использовать уже существующий код, сообщество открытого ПО создало конверторы исходного кода для: ActionScript 3 в Haxe[28] C# в Haxe[29]
>>22950 уже много обсуждалось. всё упирается либо в POW либо в доверие создателю капчи. если создавать капчи на основе постов. любой рандом на основе постов не катит, т.к. не у всех могут быть все посты или же злоумышленник может использовать свои же посты
>>22954 >Это же проверка подписи поста, а не капчи. точняк, я ещё не пилил подписывание постов, там неясно нахуя он добавлял к секретному слову публичный ключ и использовал xor когда уже в других местах есть аналог получше - salsa20
у меня со времён пруф оф концепта работы на js так руки и не дошли запилить упаковщик контейнеров, сейчас как раз сижу над этим, а потом уже и постинг буду делать, хотя можно и наоборот, лол
>>22954 >Скиньте хотя бы ёбаный приватный ключ первой капчи слу, мб если у тебя такие серьёзные проблемы на стадии "сделать проверку отгадки капчи", то питон уже не поможет?
что тебе мешает запостить локально рандом текст, что бы его капча пропустила, потом по хешу поста извлечь капчу из пака что бы у тебя было всё что нужно: публичный ключ капчи, подпись и слово разгадка. потом смотря в исходники где капча подписывается пытаться сделать так что бы всё работало?
>>22956 >что тебе мешает Лень. Я повторил алгоритм из кода школьника, я получил другое значение публичного ключа на всех четырёх вариантах капчи, я забил хуй потому что не собираюсь дебажить без знания промежуточных результатов и неизвестного мне поведения C#. Вдруг у него там string + string делается с нуль-байтом посредине или Stringify() режет по первому нуль-байту — ковыряться в шарпе я ебал.
>>22973 Это точно. >>22977 Ага, очевидно (она не магическая, она низкоуровневая) но только не повторяется нихуя. Вангую, что из-за особенностей шарпа. Школьник, гони референсные решения, блядь >>22926.
>>22977 Да нет, смысл математической и тем более битвайз дрисни очевиден компьютеру, но не человеку. Чтобы она перестала быть магической, рядом с ней должно быть пояснение, что она должна делать и почему сделано именно так, а не иначе.
- Пов и подпись отдельно (не в тексте) - Хеш поста считается от текста (без пов и подписи) - Упаковка в контейнеры этим https://github.com/peteroupc/CBOR
>>22987 выигрыш только в прямоте реализации. та же пикоборда имея здравые идеи(кроме генерации хтмл файлов) - написана дементным полудурком на выходе говно эс ис
я с мыслями о подобном набрел на этот тред ещё в начале года, но чёт я не думал что то что изначально должно паразитировать через стего может в итоге прийти к п2п
вот какие идеи у меня были: - недостаток всех этих ваших торов и и2п со фринетами в том что это маргинальные,а в случае ретрошары ещё илитноконфочные явления. т.е. порог входа выше среднего, а наличие контента/скорость/доступность никудышние. и вот меня посетила идея, а что если сделать анонимную децентрализированную надстройку над интернетом. в том смысле что на основе адреса сайта реального интернета связывается контент подкачиваемый из п2п сети. в первую очередь это будут юзать всякие пираты и педобиры, лол. но так как они будут пирами и будут делать ретрансляцию чужого трафика - то для подъёма сети это даже на пользу
- нет единого списка айпи адресов как в торе. на самом первом уровне происходит DHT поиск среди известных пиров и PEX короч как в торрентах всё. можно вообще прикидываться клиентами торрентов
- на втором уровне происходит луковая маршрутизация и п2п обмен трафиком между участниками. примерно так: в DHT публикуются выходные ноды тех кто причастен к какому-то ресурсу, как те что имеют файлы так и те что их ищут. через луковый роутинг участники ресурса обмениваются файлами. причём не обязательно иметь связь со всеми участниками сразу - здесь работает правило пяти рукопожатий.
- о новых файлах автор сообщают пяти(или больше, это сейчас неважно) дугим пирам, а те дальше пяти другим, но только один раз. таким образом все узнают о новых файлов и могут их выкачивать
чем пиздат cbor? тем что не нужно байтоёбство с упаковкой/распаковкой контейнеров. сейчас у нас всё жестко привязано к формату "первые 32 байта это replyTo, остальное тегами в теле сообщения". отсюда эти непонятки с хешами. с cbor'ом всё можно будет менять гибче без переписывания тонны кода. оверхед который даёт cbor сравним со списком длин постов(6 байт на пост) но он однороднее, а значит лучше жмётся deflate'ом.
и лирическое отступление: ну и если бы не картинки, то для текста можно было бы запилить Хоффмана на основе цепей Маркова. текст тогда бы хорошо жался бы, что реально хоть на QR коды. мб кто и возьмёт на вооружение
короч новый положняк. пнг постим в одном треде, в контейнере заполняем только зашумленные области на картинки, но сам текст шакалим до наноразмеров. картинки в отдельном треде на отдельной борде в зипджипеге
Жалуемся на быдлокод, мечтаем о новых транспортах,поливаем говном пикобордуJabberX
И смотрим на мозговой штурм в поисках капчи/pow/кармы в духе старой доброй криптоанархии