Карта сайта

Это автоматически сохраненная страница от 18.02.2014. Оригинал был здесь: http://2ch.hk/b/res/62793289.html
Сайт a2ch.ru не связан с авторами и содержимым страницы
жалоба / abuse: admin@a2ch.ru

Втр 18 Фев 2014 20:01:09
НАНОБОРДА ИДЁТ К ВАМ
НАНОБОРДА ИДЁТ К ВАМ http://arhivach.org/thread/13342/

Если вкратце - наноборда это борда без какого-либо сервера, без необходимости в каком-либо соединении, протоколе. Есть нанопосты определённого формата, ссылающиеся на другие нанопосты (на ОП-пост и на пост, на который отвечает нанопост). Если на какой-то нанопост кто-то сослался как на ОП-пост - этот нанопост становится тредом. Если нанопост ссылается на корневой пост - он тоже становится тредом. Ссылка - хэш, который формируется из содержимого поста (а также его ссылок). Таким образом система полностью распределенная, каждый нанопост в своём текстовом файлике, ты собираешь нанопосты не важно откуда в большой чёрный мешок, а потом...

Что сейчас есть:
проект нанохтмл - https://github.com/jabberx/nanohtml/releases
из кучи файликов с нанопостами лепит целую борду с тредами
позволяет относительно удобно написать ответный пост или создать тред и формирует файлик нанопоста, который нужно распространить
опробовано на аноновском битсинке. есть разметка, картинки.
пикрелейтед.

проект пнг-контейнер - найдёте ссылку в архиваче
суть в возможности упаковки в пиксели пнг-картинки любых файлов. контейнер довольно вместительный. в изначальной идее предполагалось паразитирование на обычнобордах с целью распространять нанопосты.
пока никем не опробован.

Чего нет:
удобный клиент который бы юзал пнг-контейнеры и вертел бы все нормальноборды на хую. клиент в процессе разработки.

но общаться уже можно на битсинке.



Втр 18 Фев 2014 20:02:01
>>62793289
бамп нанообщением


Втр 18 Фев 2014 20:39:01
bump

Втр 18 Фев 2014 20:41:35
Это же реклама, мочератор почему не банишь?

А других так сразу.

Втр 18 Фев 2014 20:43:40
>>62795458
Потому что это наноборда. Ты её видел? Ты можешь на неё зайти?

Втр 18 Фев 2014 20:43:54
Проект обречен гнить в аду

Втр 18 Фев 2014 20:49:49
>>62793289
Я не совсем понял, где собственно будут находиться пикчи, в которых будут зашифрованы треды? И как будет производиться поиск тредов?

Втр 18 Фев 2014 20:49:55
>>62795564
проект живёт и процветает. вот нанокартинка со всеми постами из аноновского битсинка. без картинок.


Втр 18 Фев 2014 20:55:33
>>62795885
Для тех кто не понял, что происходит:

У анонов есть общая папка (файлопомойка) которая синхронизируется пир-ту-пир. Это не какой-нибудь хитромудрый сервер. Туда просто можно кидать файлы.
Наноборда там выглядит как обычная (примитивная) веб-борда - веб-страницы с тредами и постами, кнопками ответа. По нажатию на кнопку ответа появляется поле для текста. Но вместо кнопки отправить - кнопка "Получить нанопост". Предлагает сохранить файл, он сохраняется в файлопомойку и через время пост появляется у всех в нужном треде.
Сердце наноборды - нанопосты. Это текстовые файлы очень простого формата. Ими очень легко обмениваться. Хоть через крипто-пнгшки, хоть через файлопомойки, хоть тупо через почту или даже в открытую здесь прямо в обычных постах в виде текста.
Достаточно, чтобы файлы нанопостов лежали в определённой папке и нанософт построит из них веб-странички-треды.
Пилится клиент, который позволит набигать на обычноборды крипто-пнгшками с кучей нанопостов внутри.

Втр 18 Фев 2014 20:56:05
>>62795552

ВОН ВАНЬКА ТО ЕРОХИН НА РАБОТУ СТРОИЛСЯ, МАШИНУ КУПИЛ, ПО ЗАГРАНИЦАМ ЕЗДИТ
@
А ЭТОТ. НЕТ ЧТОБЫ ДЕВУШКУ СЕБЕ НАЙТИ, ДЕНЬГИ НАЧАТЬ ЗАРАБАТЫВАТЬ
@
В ИНТРНЕТАХ СВОИХ СИДИТ.НАНОБОРДЫ ПРИДУМЫВАЕТ.


ТЕПЕРЬ ЭТО БУГУРТ ТРЭД


Втр 18 Фев 2014 21:03:57
Открываю новый тред
00000000000000000000000000000000Обмен ЦОПЕ
Собственно то, для чего это все задумывалось :-)

Втр 18 Фев 2014 21:06:23
>>62796183
>наноборда это борда без какого-либо сервера
>у анонов есть общая папка (файлопомойка) которая синхронизируется пир-ту-пир
Уебывай отсюда нахуй


Втр 18 Фев 2014 21:07:29
>>62795877
Разрбросаны в тематиках сосача и крупных досках мелкоборд. Каждый сам будет следить за обновлениями в мире имиджборд и обновлять настройки. Заранее можно просто договориться, что в слишком быстрые доски не постить и в слишком забитые тоже не лезть, ведь не все их найдут. Парситься будут все картинки от текущего момента до настраиваемой глубины.

Втр 18 Фев 2014 21:10:21
>>62796762
Ну видишь ли это просто онаны взяли потестить наноборду туда на время. И она им нужна вобщем-то, им же хочется общения, а через блокнотик общаться нихуя не удобно - чужие посты трутся если одновременно редактируешь. Они задумывались о похожей борде ещё до того, как первый функционал наноборды появился. Она обязательно выберется оттуда, она в частности уже в ОП-пикче. Полистай архивач и ссылку на бусчан в треде в архиваче. Планы далекоидущие. Наноборда будет повсюду. От неё будет не избавиться.

Втр 18 Фев 2014 21:11:30
>>62795877
если ты про поиск нанотредов, то не обязательно иметь все сообщения из треда и даже не обязательно иметь оп-пост. что соберётся то и покажется. организованно, без повторений. всё это уже работает.

Втр 18 Фев 2014 21:14:22
>>62793289
Ну и нахуй оно надо?

Втр 18 Фев 2014 21:14:48
>>62796959
> Планы далекоидущие
Ну это как водится. Отсыпь потом пару лямов

Втр 18 Фев 2014 21:17:15
>>62793289
Jabberx, маму твою ебал.

Втр 18 Фев 2014 21:19:18
чо за говно? нахуй нужно если есть сосач?

Втр 18 Фев 2014 21:21:19
оп
нахуй ты как уебан описал это всё?
какое блять нано?
это П2П борда штоле?
так всё уже до тебя изобретено

Втр 18 Фев 2014 21:27:14
Это такой новый дримпрофи?

Втр 18 Фев 2014 21:29:12
>>62797597
нет, это ни разу не п2п борда

это просто кучка файлов. которые повсюду, как вирус. в этих файлах - нанопосты. на всех серверах. не только на компьютерах. но и на обычных бордах. это как закладки барыг. не требуется п2п, прямое соединение, запущенный клиент... не страшно и если одна из хост-борд упадёт навсегда. можно найти десятки вариантов распространять нанопосты вплоть до таких экзотических которые предусматривают отсутствие интернета на всей земле вообще (например запись архивов с нанопостами на СД и разбрасывание их по городу. медленно но работает). ни одна из п2п хуёвин не позволит провернуть такое.

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

Втр 18 Фев 2014 21:29:43
>>62797909
что такое дримпрофи?

Втр 18 Фев 2014 21:33:16
>>62798044
Это как вишмастер, только дримпрофи.

Втр 18 Фев 2014 21:34:17
Один вопрос. Цп планируется, или уже есть?


Втр 18 Фев 2014 21:38:00
>>62798021
Ты как все это дерьмо синхронизировать будешь?

Втр 18 Фев 2014 21:39:49
>>62798021
эта хуйня полное говно, всё всё
говноедство какое-то
чем это лучше той же борды во фринете или и2п?
в чём смысл?
только давай без нанобреда, а чётко и по хардкору поясни мне

Втр 18 Фев 2014 21:41:09
>>62798295
Ты часть наноборды. Если тобой планируется то сам понимаешь. Но могут найтись те, кому это придётся не по нраву и твои посты они возможно будут фильтровать если в клиенте запилят такую возможность (это тривиально, а если и не запилят то можно удалять твои посты ручками).

Втр 18 Фев 2014 21:41:52
>>62798509
Читай внимательней.

Втр 18 Фев 2014 21:42:41
>>62798706
Нахуй послан. Завтра посмотрю.

Втр 18 Фев 2014 21:43:12
>>62798706
Нахуй пошел со своим нанодерьмом, читать тебе блять. Или поясняй по хардкору или в вк сосачне предложи ананаимасами стать

Втр 18 Фев 2014 21:43:12
>>62798606
>чем это лучше той же борды во фринете или и2п?
лучше тем, что:
>не требуется п2п, прямое соединение, запущенный клиент... не страшно и если одна из хост-борд упадёт навсегда. можно найти десятки вариантов распространять нанопосты вплоть до таких экзотических которые предусматривают отсутствие интернета на всей земле вообще (например запись архивов с нанопостами на СД и разбрасывание их по городу. медленно но работает). ни одна из п2п хуёвин не позволит провернуть такое.

Это не отдельная сеть это даже не сеть. Это встраивание, внедрение. НАЧАЛО

Втр 18 Фев 2014 21:43:50
>>62798781
Что тебе пояснять уёба поясни сначала что твой больной мозг имеет в виду под синхронизацией?

Втр 18 Фев 2014 21:44:05
Это что то вроде фингербокса, да?

Втр 18 Фев 2014 21:44:44
>>62798509
Коротко: синхронизация здесь не требуется. Вообще.

Втр 18 Фев 2014 21:46:29
>>62798782
ты какую-то хуету несёшь?
зачем нужна борда без интернета?
если мне нужно схоронить тред - я беру и схороняю

ты себе придумал какое-то гениальное говно и пришёл сюда
и
>не требуется п2п, прямое соединение, запущенный клиент
- это не аргумент

Втр 18 Фев 2014 21:47:01
>>62798833
Ноуп. Это та самая мегаламповая труъ-свободная борда которую давно все ждали. Плюс её в том, что неубиваемая, хаотичная и дерзкая, нитакаякакфсе. Ты постишь картинку на сосаче. Со стороны это выглядит как будто ты постишь картинку на сосаче. Но ты можешь даже и не знать, что в ней - целый нанотред.

Втр 18 Фев 2014 21:47:05
Можете PNG Обрабатывать прямо в браузере через HTML5 Canvas есть доступ прямо к пикселям, сделайте в виде юзерскрипта.

Втр 18 Фев 2014 21:47:21
>>62793289
АХТЫЖСУКА! Запилили таки?

мимохуй из гд

Втр 18 Фев 2014 21:47:46
>>62798998
жаберикса знаешь?

Втр 18 Фев 2014 21:48:51
>>62798998
Процесс запиливания пошел. В какой-то мере всё что нужно для наполнения глобальной наноборды нанопостами уже готово. Осталось только запилить автоматизированный клиент, чтобы уменьшить долю ручной работы.

Втр 18 Фев 2014 21:49:01
Совсем недавно сидел в первом может, и судьбоносном, лол треде. Думал, ОП — фантазёр, а вот оно как! А не вишмастер 2.0 ли это?

Втр 18 Фев 2014 21:49:25
Хочу потестить ибо идея нравится но примерно нихуя не понимаю. Гайд бы хоть скромненький запилили.

Втр 18 Фев 2014 21:49:57
>>62799032
жабер икс
лично нет, но помню его

Втр 18 Фев 2014 21:50:36
>>62799124
Нет, есть же исходники, ну и джабберикс - известная личность, его проекты всегда охуительны и ебануты.

Втр 18 Фев 2014 21:51:27
эта хуйня .net framework требует

Втр 18 Фев 2014 21:52:13
>>62799279
какая ось стоит?

Втр 18 Фев 2014 21:54:09
>>62799332
win7 home.
"для запуска этого приложения необходимо установить одну из следующих версий .NET Framework: v4.0.30319

Втр 18 Фев 2014 21:55:10
>>62799279
http://www.microsoft.com/en-us/download/confirmation.aspx?id=17718

Втр 18 Фев 2014 21:55:40
>>62799451
>>62799504
Скачай, хуйню весит же.

Втр 18 Фев 2014 21:55:53
А наноцопэ там есть?


Втр 18 Фев 2014 21:57:25
>>62799558
А то. Есть порно с яйцеклеткой, могу скопировать, вот: .

Втр 18 Фев 2014 21:58:48
Где находится .SyncIgnore?

Втр 18 Фев 2014 21:59:07
сука из-за тебя в интернете картинки запретят, ведь в каждой будет по треду :)

Втр 18 Фев 2014 22:00:10
Что-то ссыкотно даже инструкцию в txt открывать ввиду близости батника лол

Втр 18 Фев 2014 22:03:59
>>62799726
В папке которая синкается. Это скрытый файл так что поройся в настройках отображения папок. Если это 7я винда - ты его не увидишь, надо открывать в тоталкоммандере. Происки спермоблядские. Ведь в линуксе принято с точкой файлы прятать. Вот они и решили похерить бля ладно не буду.

Втр 18 Фев 2014 22:05:21
>>62799743
И не говори ;)

Втр 18 Фев 2014 22:09:15
>>62800005
Где?


Втр 18 Фев 2014 22:10:36
>>62800339
Configuration - Options - Display - Show hidden files

Втр 18 Фев 2014 22:11:09
>>62800339
И не в этой папке а в корневой синка

Втр 18 Фев 2014 22:13:35
>>62798985
поддвачну.

Втр 18 Фев 2014 22:15:23
>>62793289
Ставь софт, качай пикчи, сохраняй пикчи, загружай пикчи, жри говно. В пизду такое говно.

Втр 18 Фев 2014 22:16:06
>>62800716
Загрузка пикчей планируется автоматической.

Втр 18 Фев 2014 22:19:23
>>62793289
Как посты сортируются по тайм меткам? И сортируются ли вообще? А что если мне ответили в тред и выложили свой пост на куйвам.орг, а он у меня не в парсере? Я проябу пост? А как я узнаю куда он выложит пост? А как он узнает куда я выложил пост?

Втр 18 Фев 2014 22:19:33
>>62798985
А ведь таки и правда. Можно сделать надстройку для браузера и в любой момент граббить картинки с постами со страницы. И оттуда же посты писать.

Втр 18 Фев 2014 22:19:59
>>62800762
А с загрузкой пикчей планируретса загрузка эщо чевото?

Втр 18 Фев 2014 22:20:10
>>62800762
Решил протестировать. Ошибка, нужен .НЕТФреймворк не ниже 4.8.кококо, нахуй мне это мозгоебство.

Втр 18 Фев 2014 22:21:20
>>62801021
такого нет. нужен 4.0 >>62799504
харош сидеть на икспихе или семёрке без сервиспаков

Втр 18 Фев 2014 22:24:00
>>62801098
После четверки перестал читать, нажал "Ок".
7, мне норм, все идет, что мне нужно. Ты бы еще этот клиент на питоне написал каком, чтоб я еще какое говно ставил на свой ноут.

Втр 18 Фев 2014 22:25:01
>>62800963
Никак, однажды ваши посты просто встретятся и появятся в одном треде. Нужно договориться какие борды и разделы использовать в качестве хостов и тогда таких потеряшек быть не должно. Ну и даже если ты и он сидите с разными списками борд - есть её другие аноны которые будут перепощивать вот так ваши посты и встретятся.

По поводу тайм меток - не стоит доверять меткам так как подделать их - плёвое дело. Тем не мене в нанохтмл генерируемые файлы имеют имена УТЦ-времени, то есть сортируются у всех глобально одинаково если кто-то не будет менять время. Если кто-то и поменяет, то пост может просто съехать оказаться выше или ниже чем надо. Но главное что между постами есть связь то есть какой-то пост отвечает на какой-то пост. Если эта связь есть то логика тредов нарушаться особо не должна.

Втр 18 Фев 2014 22:25:33
>>62801276
Ну в принципе jabberx мог бы и на C++ написать.

Втр 18 Фев 2014 22:26:41
Приходи и рекламируй, когда все будет уже реализовано, а сейчас я не понимаю, зачем ты запилил ещё один тред.

Втр 18 Фев 2014 22:26:55
>>62801356
Чтобы потом хуй кто разобрал исходник?

Алсо можно поднатужиться и перебилдить под 2.0, который есть даже на сраном ХР без сервиспаков. 4.0 это в большинстве случаев излишество.

Втр 18 Фев 2014 22:27:37
>>62793289
скрыл хуйню

Втр 18 Фев 2014 22:27:55
>>62801443
На готовенькое хочешь сразу? Пошел нахуй, пидор. Уже дохуя чего реализовано. И если не поднимать эту тему, желающих реализовать и не найдётся. Уже вот чел клиент пилит на питоне.

Втр 18 Фев 2014 22:29:37
>>62801458
Исходник ест на гитхабе + он его положил и в автокомпил.

Втр 18 Фев 2014 22:29:44
То есть, для каждого своего поста нужно запостить пнг-шку на борду?

Втр 18 Фев 2014 22:34:02
>>62801021
Ох, лол.

Вердикт: нинужен!
Ибо дотнет на линуксы не завезли.И не только из-за этого.

Втр 18 Фев 2014 22:34:35
>>62801892
Юзай mono идиот

Втр 18 Фев 2014 22:36:10
Ты предлагаешь хранить на винче целую борду педофилов и наркоманов?

Втр 18 Фев 2014 22:38:35
>>62793289
>>62801458
Ща без проблем закомпилил в 3.0

Втр 18 Фев 2014 22:39:15
>>62793289
>>62801458
И в 2.0 тоже захуячил

Втр 18 Фев 2014 22:40:26
Борда где ответа ждать 10 минут?

Втр 18 Фев 2014 22:40:31
>>62801645
Нет. Ты можешь написать даже несколько постов. И в картинку войдут они и чужие посты тоже. Для лучшего распространения.

Втр 18 Фев 2014 22:41:09
>>62801892
Нинужен был ты живой в роддоме. Под линукс эту хуйню можно спокойно сбилдить с помощью моно.

Втр 18 Фев 2014 22:41:51
>>62802295
Ну фактически для работы борды потребуется распространять пнг шки

Втр 18 Фев 2014 22:41:58
>>62802287
Если будет большая активность (много народу) то и ответы будут чаще.

Втр 18 Фев 2014 22:42:41
>>62801916
I do.

Втр 18 Фев 2014 22:43:11
в тентакль залить картинки планируется?

Втр 18 Фев 2014 22:43:24
>>62802397
Ну как бы да, как один из основных вариантов.

Втр 18 Фев 2014 22:43:26
>>62802401
В теории можно постить даже не на борду да? Чтоб капчу не вводить и автоматизировать пост.

Втр 18 Фев 2014 22:44:27
>>62802486
Думается мне что тентакля жмёт картиночки.

Втр 18 Фев 2014 22:45:39
>>62802576
Да, пнг вроде бы конвертирует в жпг.
Но можно выкладывать картинку как документ - тогда она не пожмётся.

Втр 18 Фев 2014 22:45:46
>>62802576
Можно постить документы.
В группу.
На стеночке.
Анонимное общение.

Втр 18 Фев 2014 22:50:08
Представим помойку с овердохуя картинок. Как программа будет парсить только новые картинки с новыми постами? Тупо скачивать и проверять не вариант. Нужно ввести магию. Типа если название картинки содержит "сосуга", то скачиваем её. Или если пост содержит магию, если это борда.

Втр 18 Фев 2014 22:52:30
Чем вам не угодил https://ru.wikipedia.org/wiki/RetroShare или https://ru.wikipedia.org/wiki/Bitmessage

Втр 18 Фев 2014 22:53:45
>>62803118
Ну тип своё. Мне очень даже нравится идея. Но пока что не очень всё удобно.

Втр 18 Фев 2014 22:53:59
>>62802946
Ну был бы ты программистом, у тебя бы не возникло таких вопросов. Всё элементарно. Простыми словами: программа помнит, какие урл-адреса картинок она обработала и не лезет туда, скачивает только те, что появились позже (на бордах есть таймстампы в конце концоов).
Что до самих постов - то они не могут дублироваться из-за своей природы. Если положить рядом два нанопоста одинакового содержания с разными именами файлов - на выходе будет всё равно один пост. Потому что идентификатор нанопоста - формируется из его содержимого (которое включает в себя идентификатор треда и идентификатор сообщения, на которое этот нанопост отвечает).

Втр 18 Фев 2014 22:55:21
>>62801892
У меня семерка, даунок.

Втр 18 Фев 2014 22:56:12
>>62803291
Лах, у меня давно восьмера. Ссылку на дотнет тебе уже кинули. Алсо тут анон пишет что сбилдил под 2.0, а это даже в ХР заведётся без дотнета.

Втр 18 Фев 2014 22:56:53
А что с защитой от флуда, аноны?

Втр 18 Фев 2014 22:59:11
>>62803344
>у меня давно восьмера
Хуево быть тобой.
>Алсо тут анон пишет что сбилдил под 2.0
Что-то ссылок не вижу на 2.0

Втр 18 Фев 2014 23:01:03
>>62803549
Качай 4.0, ссылку дали. Пригодится. Или если ты такой альтфак ставь себе дос.

Втр 18 Фев 2014 23:02:17
>>62803392
Ты сам будешь себе модератор. Сможешь удалить любой пост и больше никогда его у себя не увидеть. И ты будешь знать что не будешь участвовать в его распространении. Всё это реализуется очень просто через добавление хэша неугдоного поста в игнор-лист.

Втр 18 Фев 2014 23:03:24
>>62803212
Хуйню написал - загляни в будущее. С каждым днём у тебя растёт база обработанных урлов и в скором времени обработка каждой картинки будет занимать продолжительное время.

Втр 18 Фев 2014 23:05:12
>>62803549
http://rghost.ru/52516880
Вот под 2.0
Заменил HashSet на List

Втр 18 Фев 2014 23:07:24
>>62803734
Не тяжко ли будет удалять каждый пост, если, например, кто-то решил вайпнуть тред?

Втр 18 Фев 2014 23:07:41
>>62793289
НаноОП - нанохуй. не ты, случайно, месяца 3 назад на чухаче тред пилил?

Втр 18 Фев 2014 23:08:01
>>62803193
Мне тоже нравится идея ботнета

Втр 18 Фев 2014 23:08:06
>>62803660
Я такой алтфак, что останусь сидеть на бордах со своей куклой, которая обрубает все аяксо/жиси фичи на бордах, и буду хвастать своим детям, что был в этом треде.

Втр 18 Фев 2014 23:09:12
>>62803802
Ещё раз: был бы ты программистом, у тебя бы не возникло таких глупых мыслей. Даже лень что-то объяснять тебе.
Можно обойтись даже без сраной базы.

вот тебе база инфы о том, что обработано:
борда1-раздел1 обработан до поста №222
борда2-раздел1 обработан до поста №231
борда2-раздел3 обработан до поста №432

поспал, утром включаешь клиент он смотри в борде1-разделе1 последний пост - 264й. он берёт все посты от 222 до 264 ищет пнг картинки, чекает сайз (если не 512х512, 1024х512, 1024х256 итп) - скипает, если нет - качает. это так, к примеру.
Короче иди нахуй, сначала разбираться научись, потом лезь кого-то учить.

Втр 18 Фев 2014 23:09:26
Пиздец, чем больше читаю, тем больше нихуя не понимаю и запутываюсь.
Объясните всё еще раз недоразвитому дегенерату МАКСИМАЛЬНО ПРОСТО.
Пожалуйста.

Втр 18 Фев 2014 23:10:42
>>62803895
Нахуя? Разве в 2.0 нет хэшсета? Просто референс добавить на нужную дллку вроде бы надо.
И надеюсь функционал сберёг - перед добавлением проверяешь нет ли уже такого элемента?
И лучше исходник выложи же.

Втр 18 Фев 2014 23:11:54
>>62804138
Да ты ебало заверни нахуй
>>62803895
http://rghost.ru/52517025
Забыл поправить EnumerateFiles на GetFiles

Втр 18 Фев 2014 23:11:55
>>62804050
Вряд ли. Вот летом когда были каникулы я мог пилить эти треды много где.

Втр 18 Фев 2014 23:12:43
>>62804321
толсто

Втр 18 Фев 2014 23:13:20
>>62804138
ftp://ftp.ophuy.ru/pub/
Файл обработан до .......
Соснул блять?

Втр 18 Фев 2014 23:14:23
>>62804319
Я снимаю свою кружевную маску анонимуса и нацепляю кожаный трип-код, чтобы никто не подумал, что это я тут пощу вирусы. Запости исходник, я залью на репу.

Втр 18 Фев 2014 23:15:10
>>62804466
using System;
using System.IO;
using System.Collections.Generic;
using System.Text;
using System.Security.Cryptography;
using System.Text.RegularExpressions;

namespace nanoboard
{
public static class NanoDB
{
public static Dictionary<string, Nanopost> knownPosts = new Dictionary<string, Nanopost>();
public static List<string> knownThreads = new List<string>();
public static Dictionary<string, List<string>> threadAnswers = new Dictionary<string, List<string>>();
}

public class HtmlThreadBuilder
{
#region const header,footer
const string header = @"
<!DOCTYPE html>
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='ru'>
<head><title>Наноборда</title>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
<LINK href='nano.css' rel='stylesheet' type='text/css'>
<script src='jquery.js'></script>
<script src='nano.js'></script>
<script>
function abox(h) {
var win = window.open('', 'nanopost', 'width=400,height=450');
win.document.write('<script src=""FileSaver.js""><\/script><script>function save(txt) {var d = new Date();var n = d.getTime();var blob = new Blob([txt], {type: ""text\/plain;charset=utf-8""});saveAs(blob, n + "".txt""); }<\/script><textarea id=""text"" style=""width:370px;height:370px""><\/textarea><br><button onclick=""save(\'' +h+ '\' + document.getElementById(\'text\').value)"">Получить нанопост<\/button>');
}
</script>
</head><body>
<h1>Наноборда forever</h1>
<div>
<div class='warningbox' id='warning'></div>
<a class='replyLink' href='index.html'>[Главная]</a>
<a class='replyLink' onclick='abox(""00000000000000000000000000000000"")'>[Создать новый тред]</a>
<a class='replyLink' href='help.html'>[Помощь]</a></div>";
const string footer = @"
<div id='foot' style='clear:both'>
<a class='replyLink' href='#foot' onclick='location.reload();'>[Обновить]</a>
</div>
</body></html>";
#endregion
static string MessageBlock(string thread, string hash, string replyto, string msg)
{
msg = msg.Replace("\n", "<br>");
string subthread;
if (NanoDB.knownThreads.Contains(hash))
{
subthread = "<div class='msgNo'>Перейти в тред №" + "<a class='thrNo' href='" + hash + ".html'>" + hash + "</a></div>";
}
else
{
subthread = "<div class='msgNo'>Сообщение №<a class='msgNo'>" + hash + "</a></div>";
}

return "<div class='msg' id='" + hash + "'>" +
"<div class='replyCmd' onclick='abox(\"" + thread + hash + "\")'>Ответ</div>" +
"<div class='replyCmd' onclick='abox(\"" + hash + hash + "\")'>Ветвь</div>" +
subthread +
"<div><a onclick=\"selectMsg('" + replyto + "')\" class='replyLink' href='#" + replyto + "'>>>" + replyto +
"</a></div>" + msg + "</div>";
}

public static string BuildThread(string threadHash)
{
var sb = new StringBuilder();
sb.AppendLine(header);

string msg;
if (NanoDB.knownPosts.ContainsKey(threadHash))
{
msg = NanoDB.knownPosts[threadHash].message;
}
else
{
msg = "Сообщение этого треда не загружено.";
}
msg = Nanopost.Format(msg);
sb.AppendLine(MessageBlock(NanoDB.knownPosts.ContainsKey(threadHash) ?
NanoDB.knownPosts[threadHash].GetPostHash() : ""
,
NanoDB.knownPosts.ContainsKey(threadHash) ?
NanoDB.knownPosts[threadHash].GetPostHash() : "",
"", msg));

if (NanoDB.threadAnswers.ContainsKey(threadHash))
{
var answers = NanoDB.threadAnswers[threadHash];
foreach (var a in answers)
{
if (NanoDB.knownPosts.ContainsKey(a))
{
var post = NanoDB.knownPosts[a];
sb.AppendLine(
MessageBlock(threadHash, post.GetPostHash(),
post.replytoHash, Nanopost.Format(post.message)));
}
}
}

sb.Append(footer);
return sb.ToString();
}

public static string BuildCatalog()
{
var sb = new StringBuilder();
sb.AppendLine(header);
var list = new List<string>();
foreach (var t in NanoDB.knownThreads) { list.Add(t); }
list.Reverse();
foreach (var t in list)
{
if (t == "0000000000000000") continue;
string msg;
if (NanoDB.knownPosts.ContainsKey(t))
{
msg = NanoDB.knownPosts[t].message;
}
else
{
msg = "Сообщение этого треда не загружено.";
}
msg = Nanopost.Format(msg);
sb.AppendLine("<div class='msg'>" + msg + "<br><a class='replyLink' href='" + t + ".html'>[Перейти в тред]</a></div>");
}
sb.AppendLine(footer);
return sb.ToString();
}

public static void WriteBoard()
{
foreach (var t in NanoDB.knownThreads)
{
var ts = BuildThread(t);
var fs = new StreamWriter("web/" + t + ".html");
fs.Write(ts);
fs.Close();
}
var ind = new StreamWriter("web/index.html");
ind.Write(BuildCatalog());
ind.Close();
}
}

public static class Nanoparser
{
public static void ParseData()
{
foreach (string file in Directory.GetFiles("data", "*.txt"))
{
Console.WriteLine(file);
string contents = File.ReadAllText(file);
new Nanopost(contents);
}
}
}

public class Nanopost
{
public readonly string threadHash = "0000000000000000";
public readonly string replytoHash = "0000000000000000";
public readonly string message = "";

public string GetPostTextRepresentation()
{
return threadHash + replytoHash + message;
}

public string GetPostHash()
{
var str = GetPostTextRepresentation();
var md5 = MD5.Create();
var hash = md5.ComputeHash(Encoding.UTF8.GetBytes(str));
var sb = new StringBuilder();
foreach (var h in hash) sb.Append(h.ToString("x2"));
return sb.ToString().Substring(0, 16);
}

public Nanopost(string thread, string replyto, string msg)
{
if (msg != null) this.message = msg;
if (thread != null) this.threadHash = thread;
if (replyto != null) this.replytoHash = replyto;
NanoDB.knownThreads.Add(this.threadHash);
NanoDB.knownPosts[GetPostHash()] = this;
if (!NanoDB.threadAnswers.ContainsKey(this.threadHash))
{
NanoDB.threadAnswers[this.threadHash] = new List<string>();
}
NanoDB.threadAnswers[this.threadHash].Add(GetPostHash());
}

public static bool IsValid(string nanopost)
{
if (nanopost == null) return false;
if (nanopost.Length < 32) return false;
string pattern = "[0-9a-f]{32}";
if (!Regex.IsMatch(nanopost, pattern)) return false;
return true;
}

private static string ImgTag(string nanopost, string ext)
{
var matches = Regex.Matches(nanopost, "\\[img=[A-z0-9]{16}\\." + ext + "\\]");
foreach (var m in matches)
{
var ms = m.ToString();
ms = ms.Replace("[img=", "<img class='pic' src='../data/");
ms = ms.Replace("]", "'></img>");
nanopost = nanopost.Replace(m.ToString(), ms);
}
return nanopost;
}

public static string AutoClose(string nanopost, string opentag, string closetag)
{
var bdiff = Regex.Matches(nanopost, opentag).Count - Regex.Matches(nanopost, closetag).Count;
while (bdiff-- > 0)
{
nanopost += closetag;
}
return nanopost;
}

public static string Format(string nanopost)
{
nanopost = nanopost.Replace(">", ">");
nanopost = nanopost.Replace("<", "<");
nanopost = nanopost.Replace("\n", "<br/>");
nanopost = nanopost.Replace("", "<b>");
nanopost = nanopost.Replace("
", "</b>");
nanopost = nanopost.Replace("[g]", "<span class='quote'>");
nanopost = nanopost.Replace("[/g]", "");
nanopost = nanopost.Replace("", "<i>");
nanopost = nanopost.Replace("
", "</i>");
nanopost = nanopost.Replace("", "<u>");
nanopost = nanopost.Replace("
", "</u>");
nanopost = nanopost.Replace("", "<s>");
nanopost = nanopost.Replace("
", "</s>");
nanopost = nanopost.Replace("[%]", "<span class='spoiler'>");
nanopost = nanopost.Replace("[/%]", "");
nanopost = ImgTag(nanopost, "jpg");
nanopost = ImgTag(nanopost, "jpeg");
nanopost = ImgTag(nanopost, "png");
nanopost = ImgTag(nanopost, "gif");
nanopost = ImgTag(nanopost, "JPG");
nanopost = ImgTag(nanopost, "PNG");
nanopost = ImgTag(nanopost, "GIF");
nanopost = ImgTag(nanopost, "JPEG");

nanopost = AutoClose(nanopost, "<b>", "</b>");
nanopost = AutoClose(nanopost, "<<span class='quote'>", "");
nanopost = AutoClose(nanopost, "<i>", "</i>");
nanopost = AutoClose(nanopost, "<u>", "</u>");
nanopost = AutoClose(nanopost, "<s>", "</s>");
nanopost = AutoClose(nanopost, "<span class='spoiler'>", "");
return nanopost;
}

public Nanopost(string fileTxt)
{
if (!IsValid(fileTxt)) return;
threadHash = fileTxt.Substring(0, 16);
replytoHash = fileTxt.Substring(16, 16);
message = fileTxt.Substring(32);
NanoDB.knownThreads.Add(this.threadHash);
if (this.threadHash == "0000000000000000")
{
NanoDB.knownThreads.Add(GetPostHash());
}
NanoDB.knownPosts[GetPostHash()] = this;
if (!NanoDB.threadAnswers.ContainsKey(this.threadHash))
{
NanoDB.threadAnswers[this.threadHash] = new List<string>();
}
NanoDB.threadAnswers[this.threadHash].Add(GetPostHash());
}
}

public class MainClass
{
private static void CreateIfMissing(string path)
{
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
}

public static string ImageHash(string path)
{
try
{
var fb = File.ReadAllBytes(path);
var sha512 = SHA512.Create();
var hash = sha512.ComputeHash(fb);
var sb = new StringBuilder();
foreach (var h in hash) sb.Append(h.ToString("x2"));
return sb.ToString().Substring(0, 16);
}
catch (Exception) { Console.WriteLine("Error while reading file."); }
return null;
}

public static void Main(string[] args)
{
if (args.Length == 1)
{
var ihash = ImageHash(args[0]);
if (ihash == null) return;
// TODO: keep extension
File.Copy(args[0], ihash + ".jpg", true);
Console.WriteLine("Image saved as " + ihash + ".jpg");
return;
}

CreateIfMissing("data");
CreateIfMissing("web");
Nanoparser.ParseData();
HtmlThreadBuilder.WriteBoard();
Console.WriteLine("Файлы обработаны. Открывайте/обновляйте web/index.html");
Console.WriteLine(".html файлы никому отправлять не нужно, они временные и только ваши!");
Console.WriteLine("КАРТИНКИ: Перетащите файл картинки на nanohtml.exe, отпустите.");
Console.WriteLine("Рядом с файлом появится его копия с правильным уникальным именем.");
Console.WriteLine("В посте напишите [img=1234567890abcdef.jpg] (подставьте имя файла).");
Console.WriteLine("Картинку с этим именем не забудьте отправить вместе с файлом нанопоста.");
//Console.WriteLine("НАЖМИТЕ ЛЮБУЮ КЛАВИШУ, ЧТОБЫ ЗАКРЫТЬ ЭТО ОКНО");
//Console.ReadKey();
}
}
}

Втр 18 Фев 2014 23:15:52
>>62793289
Хуета.
Борды свое отжили.
Мы тут по-привычке или по-незнанию.

Втр 18 Фев 2014 23:16:01
>>62804518
да нунахуй вдруг тут вакаба чего покоцала, хотя бы через пастбин кинь если в [ code ] не хочешь оборачивать

Втр 18 Фев 2014 23:16:55
>>62804562
http://pastebin.com/M8ivrE2K

Втр 18 Фев 2014 23:17:43
>>62804562
Аааа ну ещё пару депенденсов нахуй потри которые скажет.

Втр 18 Фев 2014 23:18:36
>>62804412
с такими гнилыми вариантами придётся слегка подождать если файлов много. выкачивать список файлов, сравнивать по именам. но это же не единственная альтернатива. впрочем мне например не страшно даже диски по городу пораскидывать пособирать - фан же.

Втр 18 Фев 2014 23:22:17
>>62804621
Сори, твой вариант не сработает. Ты тупо заменил хэшсет на лист, функциональность потерялась. Надо пилить свой хэшсет. Я перепилю под 2.0 сам, не парься.

Втр 18 Фев 2014 23:27:07
>>62804734
Ну ты же прогромист, придумай чё нить.
Вот поэтому нужно цеплять метку на файлы. Можно изменить подпись в заголовке.
>>62804969
Вот только не нужно тупить. Отличаются они только в скорости парса на дохуях объектов. Метод сортировки разный.

Втр 18 Фев 2014 23:32:34
>>62805267
Или можно не метку, а предположим 3 первых пикселя делать ровно R, G и B соответственно. Тогда при скачке с фтп достаточно будет прокачать несколько байт, для определения наличия скрытого нано-поста.

Втр 18 Фев 2014 23:39:13
>>62805267
Извини, но, не будучи программистом, тупишь как раз ты.
Пиздуй читать, что такое хэшсет, что такое лист, сколько элементов будет в myhashset и mylist после операций:
myhashset.Add(1);
myhashset.Add(1);
mylist.Add(1);
mylist.Add(1);

Желаю тебе поскорее стать программистом.

Вот запилил под 2.0, гребите кому нужно, сейчас выложу и в репозиторий:
http://pastebin.com/raw.php?i=kikf6jmE

Втр 18 Фев 2014 23:40:30
>>62805844
>Но ведь Энакин соснул у Оби Вана. Все эти медихлорианы ничто по-сравнению с опытом и рассудительностью.
?

Втр 18 Фев 2014 23:43:10
>>62806018
Всем у кого просил .Net 4.0, замена файлика:
https://github.com/jabberx/nanohtml/releases/download/1111/nanohtml.exe

Втр 18 Фев 2014 23:47:29
>jabberx



Втр 18 Фев 2014 23:48:56
картинка с оп-пика весит ~300 кб. Это будет так охуенно, гонять её туда-сюда, чтобы просто узнать кто в каком треде пукнул. Или даже не одну придется гонять?

Втр 18 Фев 2014 23:57:08
>>62806520
Из этих 300Кб 96Кб - полезная инфа. В такой объём можно впихнуть несколько сотен текстовых постов. Идея в том, что картинка будет не на каждый пук создаваться. Пустое место в картинке будет добиваться предыдущими постами твоими и чужими.

Втр 18 Фев 2014 23:59:07
>>62793289
ОП, объясни как поставить и настроить, тред читал по диагонали, сил и времени вникать нет.

Срд 19 Фев 2014 00:00:05
>>62806988
>полезная инфа
Ее слишком дохуя, полезной и бесполезной.
Лучше б нетсукуку допилили, бляди понтующиеся.

Срд 19 Фев 2014 00:04:38
>>62807096
скачай (https://github.com/jabberx/nanohtml/releases/)
@
распакуй
@
запусти батник
@
открой web/index.html

но тебе нужны ещё нанопосты. найди их и сунь в data
свои нанопосты можешь постить, сохранять в data

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

Срд 19 Фев 2014 00:07:46
???

Срд 19 Фев 2014 00:36:33
аноны бля кто в битсинке бля время настройте бля нормально бля а то бля синкаться не может у вас бля а вы бля сидите и думаете бля хули оно сука не синкается бля

Срд 19 Фев 2014 00:43:37
>>62809572
есть желающие попасть на наноборду?

Срд 19 Фев 2014 00:44:22
>>62810012
(которая у нас сейчас в битсинке)

Срд 19 Фев 2014 00:48:19
  ?
? ?

Срд 19 Фев 2014 00:53:14
>>62793289
Объясните долбоебу, что делать со скачанным архивом nano_board_alpha_002? Я нихуя не понял.

Срд 19 Фев 2014 00:59:13
>>62810537
уже ничего, ведь есть более свежая версия, 008 вроде бы
внутри должны быть инструкции

и вот >>62807408

Срд 19 Фев 2014 01:21:42
>>62807408
>но тебе нужны ещё нанопосты
И где мне их взять? тред не читал.

Срд 19 Фев 2014 01:24:18
СУКА БЛЯДЬ Я НЕ ПОГРОМИСТ, Я ОБЫЧНОАНОН
И я тупой и нихуя не понимаю. Ответь мне на два вопроса: зачем нужна наноборда в принципе? Сложно ли этой хуйней пользоваться?

Срд 19 Фев 2014 01:29:37
>>62812095
>Сложно ли этой хуйней пользоваться?
Скачал@запустил@тред создал@нихуя не понял@закрыл@удалил.
Я тоже нихуя не прогромист, я НИХУЯ НЕ ПОНИМАЮ ВООБЩЕ

Срд 19 Фев 2014 01:33:21
>>62812095
>И я тупой и нихуя не понимаю
Если спеть это 12 раз на мотив И Ленин всегда молодой, то получится драм-панк.

Срд 19 Фев 2014 01:45:11
А тем временем на наноборде на Главной у тредов видно 3 последних поста и работают бампы.

Срд 19 Фев 2014 01:47:22
>>62812095
1. Затем чтобы никто и никогда. Чтобы охуеть вообще пиздец. Чтобы мощно так знаешь. Дерзко. И навсегда. И ВЕЗДЕ. Что самое главное.
2. Не очень... любой справится. Капчу вводить не надо. Сейчас закрытое тестирование, вместо набега с пнг-контейнерами на борды мы сидим в своём битсинке и общаться довольно легко. Крутится авторебилдер, всё синкается автоматически через битсинк.

Срд 19 Фев 2014 01:48:37
>>62804518
Что-то недостаточно SCALABLE-ENTERPRISE-SOLUTION

Срд 19 Фев 2014 01:50:41
>>62813085
>битсинк
Щито этоа?

Срд 19 Фев 2014 01:50:43
>>62813133
это джаберикс-стайл, детка
https://github.com/jabberx/doommy/blob/master/doommy.c

Срд 19 Фев 2014 01:55:02
>>62813229
погугли bitsync. общая файлопомойка грубо говоря. аноны там сейчас пытаются общатся с помощью наноборды - и она выглядит довольно подходящей именно для битсинка.
но наноборда задумывалась вовсе не для битсинка.
пока наноборда не имеет клиента который позволил бы быстро и удобно набигать на обычноборды с криптоконтейрнеами в пнг картинках. то есть этот функционал есть, но он требует ручной работы (вручную упаковал, вручную запостил, вручную (что самое страшное) покачал другие пнгшки в поисках чужих контейнеров), чего никто делать не будет. клиент вроде как пилится. так что ждём-с.

Срд 19 Фев 2014 01:56:53
>>62813418
Эх. Видимо, Наноборду мне не освоить.

Срд 19 Фев 2014 01:58:50
>>62813512
Не переживай, запилят юзер-френдли клиент и освоишь. Сейчас она интересна может быть только тем, кто желает участвовать в разработке (и тестировании, что есть часть разработки по сути).

Срд 19 Фев 2014 01:59:08
>>62813512
Лол, если бы в ней был смысл, то за этот ИТТ тред забанили бы половину отписавшихся, как за форс недоборды.
Борды умирают, но это не позорная смерть.

Срд 19 Фев 2014 01:59:28
>>62813589
Да, буду надеяться, что так и будет.

Срд 19 Фев 2014 02:00:50
>>62813610
Вот это точно, даже сосаке похуй.

Срд 19 Фев 2014 02:01:41
>>62813693
Это потому что аура Наноборды вызывает трепет даже у сильных мира сего.

Срд 19 Фев 2014 02:01:45
>>62813610
Шел бы ты отсюда...

Срд 19 Фев 2014 02:08:10
>>62793289
Нанооп, а какая тут нанозащита от нановайпов? Если наноя начнут нанозасирать крупными нанопостами наноборду то все наноаноны будут нанокочать наномного безсмысленного нанотекста?
А наноидея мне нанопонравилась.

Срд 19 Фев 2014 02:14:00
>>62814020
Нанонадо нанополагаться нанона нанотрепет наноанонов, нанокоторый наноподавит в наноних наножелание наносрать. Нанокроме-нанотого наночтобы наносрать нанопридётся нанопостить нанокартинки, а наноэто нанозначит нанонадо нанобудет нановводить нанокапчу. Нанотут наноособо нанонеразгонишься. Нанону нанои нанопотом нанобудут нанофильтры и нанолокальная наномодерация. А нановообще нанофлуд наноэто нанонорма нанодля нанотакой наносистемы. Наноно нанопридумать наноспособы наноборьбы наноможно нанобудет, наноя нанодумаю.

Срд 19 Фев 2014 02:17:36
>>62814311
О наноборде уже нанознает слишком наномного нанонародца, среди нанокоторых полно нанорачья, чтобы в этом быть наноуверенным.

Срд 19 Фев 2014 02:21:18
>>62814461
Да и хуй с ней. Ну возрастёт трафик, появится больше контента. Пусть и мусорного. Зато приятно. И всегда можно поудалять ручками. Это же тебе не двач, где ты не можешь ничего удалить, только скрыть на время если куклоскрипт поставил. Да норм всё будет. Не ссым.

Срд 19 Фев 2014 02:27:44
>>62814622
Вдруг наноборды могут стать неким ковчегом в будущем, как и обычные борды много лет назад.
Или даже больше.

Срд 19 Фев 2014 02:38:09
>>62810046
Да, дай ключ или как там?

Срд 19 Фев 2014 02:57:28
Блядь не работает. Папка data полна бисинковских файлов. Запускаю nanohtml.exe, он перечисляет тексовые файлы и закрываеться но нихуя в index.html нету

Срд 19 Фев 2014 03:01:54
>>62816176
очень очень странно

Срд 19 Фев 2014 03:10:04
>>62816176
Удали битсинковские файлы (все с текстом в названии), тогда заработает.

Срд 19 Фев 2014 03:11:12
Нано-хуйнано.Как тян на оп-пике зовут?

Срд 19 Фев 2014 03:15:26
Ну так сейчас что-то живо? Кто-то с кем-то общается?
У меня битсинк ничего нового не синхронизировал со вчерашнего вечера. Мне нужно скачать новую версию, типо сегодняшнюю?


← К списку тредов