Кресты / Говнокод #25864 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
Ня, привет.

Знамя NGK вновь поднято по адресу https://gcode.space/.

Версия исходников старая, новых фич нет. Пока работает в тестовом режиме, возможны перебои. Домен купил на год, а там — посмотрим.

Какой A+ SSL )))

Запостил: gost gost, (Updated )

Комментарии (886) RSS

  • Сделай фичу поиска по нику и фильтрации по дате. Самая полезная фича, которой я пользовался.
    Ответить
    • У Борманда там всё на «Ангуляре», я его не понимаю.
      Ответить
    • Сделал какую-то хуйню посредством «Ctrl+C, Ctrl+V». Правда, ГК ещё не индексирован, поэтому практически ничего не ищет.
      Ответить
      • Хуёво сделал. Зачем отдельную форму? В этой же форме в качестве фильтра сделай. И границы дат тоже.
        Ответить
  • Только что обнаружил, что «MySQL» не поддерживает методу поиска, которая используется в бормандостоке. Пойду менять БД. Какой багор )))
    Ответить
    • Починил, посты с комментами заново сканируются.
      Ответить
    • Используй нормальную СУБД , люк
      Ответить
        • Молодец!

          Ты самый вменяемый из тех, кто остался на говнокоде.
          Пока остальные ныли, ты взял, и сделал. Да еще и на нормальных технологиях.
          Ответить
          • Нормальные это какие? Кто ныл, свинина? Я предлагал поучаствовать, вам же всё готовое подавай.
            Ответить
            • ахаха, поджечь семин пидрак можно даже случайно
              Ответить
              • Сёма считает, что пердак может гореть только у ватников, причём ватников он назначает сам. Видел я таких же чудаков на других сайтах: у них непрерывно горит пердак, при этом они флудят картинкой «охладитель ватных пуканов». Правда, это было году в 2014-м. Ах, да, Сёма же любитель ретро.
                Ответить
            • Лишнехромосомные говорят у тебя баттхерт, значит у тебя баттхерт, не спорь!
              Ответить
  • Так это на каком движке? От оригинального ГК?
    Ответить
    • Это старая версия Бормандостока, написанная Бормандом. Сорцы новой версии он снёс.
      Ответить
        • Смысл чего? Бормандостока или сноса сорцов?
          Ответить
              • Он наебнулся? Я просто туда не хожу.

                У тебя протокол ssl какой-то не такой 🙂 Добавишь ссылку на коменты на хуз?
                Ответить
                • Да, Борманд някнул, крякнул, снёс свой сток и свалил в закат.
                  SSL у меня самый новый, «SSLLabs» даёт «A+», проверь.
                  Как на хузе с айдишниками обстоит вопрос, с ГК совпадают?
                  Ответить
                  • Бле. Не совпадают и ты хер установишь идентичность комментариев. Тут надо иньо попинать чтобы он айдишники на хуз копировал, а как быть с коментами с хуза - не понятно. Пока добавь просто ссылку на гк.

                    В смысле снес? Хостинг отключил? Ну непорядочно немного, выложил бы бекап + сорцы.

                    >SSL у меня самый новый
                    В этом и проблема - не открывается на свинье.
                    Ответить
                    • Я в восьмых гуестах не разбираюсь, кто из вас Иньо — не знаю. Ты, я вижу, человек опытный — попинай Иньо за меня, будь так добр.

                      > В смысле снес? Хостинг отключил? Ну непорядочно немного, выложил бы бекап + сорцы.
                      Ня: http://govnokod.ru/25814.

                      > В этом и проблема - не открывается на свинье.
                      Ой, блядь. Понизил до 1.1.
                      Ответить
                      • Там не в версии дело, а в шифрах, где-то обсуждали уже.
                        Ответить
                        • А, точно:
                          Note: If you need more compatibility with older browsers/operating systems, such
                          as Windows XP and Android 3.0 and earlier, please check out our Pro, Business, or
                          Enterprise plans.

                          $20 в месяц нет, я нищеброд. Попробуй «Firefox».
                          Ответить
                          • Это где? Ты себе SSL не сам настраивал?
                            Ответить
                            • Это «Cloudflare». Сток стоит на впске, от впски до CF трафик ходит по серту «Letsencrypt», от CF до клиентов — по сертификатам и протоколам CF.
                              Ответить
                              • А зачем тебе нужен «Cloudflare»?

                                Хуёво, конечно, «Cloudflare» оказывается не такой уж и бесплатный.
                                Ответить
                                • Модно, стильно, молодёжно, секьюрно, удобно.
                                  Ответить
                                  • Я нихуя не понял, еще раз. Зачем тебе нужен «Cloudflare»? У тебя дохуя статики? Или ты как-то антиддос используешь? Бырманд как-то без него обходился.
                                    Ответить
                                    • В первую очередь таким образом я прикрываю жёппу от ботов, случайных кулхацкеров и прочей нечисти. На впсочку допускается только фильтрованный на CF трафик, всё остальное блокируется. Дополнительно CF обеспечивает кэш, крайне удобное управление DNS-записями и много новых модных фич, вроде «HTTP/2».
                                      Ответить
                                      • А от осетинских долбоёбов, спамящих с проксинета, как-то можно защититься через cloudflare? Хотя по-хорошему для такого нужно капчу делать.
                                        Ответить
                                        • Только массовые баны спасут ГК!

                                          От этого проще защищаться на уровне сервера.
                                          Ответить
                                        • У меня есть идея защиты от спама.

                                          1. Вернуть гуеста и создавать для гуестов сессии. Т. е. выдавать каждому гуесту куки с PHPSESSID или типа того.

                                          2. Ввести shadow ban. Допустим, кто-то написал про русню, про хуи или про спайсы — автоматом скрывать этот и все последующие его комментарии от почтеннейшей публики, но, как ни в чём не бывало продолжать принимать комментарии, чтобы спамер ничего не заподозрил. Т. е. комментарии спамера будут видны только ему самому.

                                          3. Объединить эти два пункта, т. е. выдавать shadow ban по PHPSESSID.

                                          4. Чтобы спамер заебался чистить браузер, бэкапить айдишник сессии в зомби-куки:
                                          https://samy.pl/evercookie/
                                          Ответить
                                          • До кучи еще нужно привзать IP, и просто банить по IP на 24 часа.
                                            Ответить
                                            • Стертор выходит через «Тор». Забанишь выходную ноду — выйдет через другую. Да, можно у «Тора» запросить список всех выходных нод и забанить их все, но не знаю, насколько это будет эффективно.

                                              Ещё можно банить по «слепку» компьютера: по User-Agent и по информации, добытой из браузера жопоскриптом (а ботам, не поддерживающим жопоскрипт, просто запретить писать). Например, можно вытащить список плагинов (в последних версиях «Фуррифокса» и «Хрома» зачастую кроме «Flash» и «PDF» ничего нет), список поддерживаемых мимими-типов, размер окна, название и версию ОС, список установленных шрифтов:
                                              http://ip-check.info/?lang=en

                                              Хотя «Тор-браузер» обычно эти данные затирает. Зато обладатель «Windows XP» гарантированно на сутки отправится в бан после флуда.
                                              Ответить
                                              • А как ты понял, что он ходит через тор?
                                                Ответить
                                                  • На полном серьёзе спрашиваю. Айпишнеги спамера действительно есть в этом списке. Может это ты спамишь?
                                                    Ответить
                                                    • Я несколько лет назад в какой-то из тредов кинул ссылку на сервис типа iplogger.com. В том говнокоде активность проявляли Сёма и Стертор. Я поймал два айпишника: один какого-то провайдера из Баварии, другой принадлежал выходной ноде «Тора». Стертор тогда на меня сильно обиделся из-за того, что я поймал его айпишник.
                                                      Ответить
                                                      • Стертор обиделся на то, что ты поймал айпишник Тора? Да он же поехавший!
                                                        Ответить
                                                        • Видел когда-нибудь людей, которым кажется, что их окружают агенты «КГБ», облучающие их психотронными волнами?
                                                          Ответить
                                                    • Потому что это инканус срёт однотипным фразами про "РНР", а когда жопа сильно болит - горящими турами.
                                                      Ответить
                                                      • Горящие туры — не моё. Чужого мне не надо.

                                                        В пользу Стертора говорит то, что он неоднократно призывал забанить гостя. Кто-то из пишущих от имени гостя, задел его самолюбие.
                                                        Ответить
                                                        • Ва­тник, тебя это переключение аккаунтов с головой выдаёт. Русне интеллекта в лишнюю хромосому чота не закодировали.
                                                          Ответить
                                                        • Стертора все его детство обижал его папа, причем делал это стертору в рот.

                                                          В конце концов Стертор зарубил папу топором, но дурной привкус во рту у него так и остался. Как и дурной характер
                                                          Ответить
                                        • Дополнительно можно защититься от тех, кто спамит не браузером, а тупым софтом: по событию oninput вычислять длину текста, передавать её отдельным полем, а на сервере сравнивать длину пришедшего текста со значением этого поля. Чтобы спамеру было труднее, передавать не непосредственное значение, а зашифрованное переменным ключом.
                                          Ответить
                                          • Это всё хуйня, и стертор это с легкостью обойдёт. От рандомных спамеров может и защитит.
                                            Ответить
                                        • Иньо, смотри, что нашёл!

                                          Есть так называемые DNSBL = DNS black lists.

                                          Например, сервис cbl.abuseat.org.

                                          Допустим, к тебе пришёл клиент с IP = 195.9.162.186. Ты хочешь узнать, не принадлежит ли он публичному прокси-серверу. Записываешь айпишник задом наперёд, прицепляешь к нему домен «точки входа» и делаешь запрос к DNS:
                                          dig 186.162.9.195.cbl.abuseat.org

                                          В ответ получаем A-запись со значением 127.0.0.2, что на языке DNSBL означает «HTTP-прокси».

                                          Адрес 195.9.162.186 я взял с сервиса hidemy.name.

                                          Если же в ответе A-записи нет (IP-адрес не разрешается), значит, в списке известных прокси-серверов этого айпишника нет.

                                          Другие варианты ответа:
                                          127.0.0.3 — известный SOCKS-прокси.
                                          127.0.0.6 — известный спамер.

                                          Дополнительная информация:
                                          https://en.wikipedia.org/wiki/DNSBL
                                          Ответить
                                          • Ничего себе, какой свежачок:)

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

                                            Потом оказалось что попасть в такой лист можно и случайно, а выбраться почти нереально, и теперь их почти никто не использует.
                                            Ответить
                                            • Но для чего-то эти сервисы до сих пор поддерживают. Они даже научились проверять адреса IPv6.
                                              Ответить
                                              • Для ирки, которой никто не пользуется?
                                                Ответить
                                            • Проверил навскидку сервисом cbl.abuseat.org несколько айпишников из списка hidemy.name и несколько безобидных. Пока ошибок нет.

                                              Можно устроить тестирование: если айпишник отправителя попал в список cbl.abuseat.org, добавлять в заголовок комментария фразу «Возможно, это спам».
                                              Ответить
                                          • Я уже нашел похожее HTTP API, но это всё ненадежные костыли.
                                            Сейчас тестирую капчу, какого-то хуя она не всегда показывается на клиенте, я не пойму что за хуйня.
                                            Ответить
                                            • Последняя рекапча не показывается, если она уже знает, что ты не робот
                                              Ответить
                                              • Это понятно. Но у меня то показывается, то не показывается. Но я капчу специально не разгадываю, чтобы дебагать. V2 invisible у меня.
                                                Ответить
                                              • а как сказать ей, что я опять робот?
                                                Ответить
                                                • открой "порно режим" (aka incognito)
                                                  Ответить
                                                  • А если я порно смотрю в основном режиме, а режим incognito использую, когда занимаюсь чем-то серьёзным?
                                                    Ответить
                                                    • А если я ничем серьезным не занимаюсь, и везде смотрю только порно?
                                                      Ответить
                                                      • На порно можно зарботать куда больше, чем ты зарабатываешь.

                                                        "несерьезно", бля
                                                        Ответить
                                            • > Можно устроить тестирование: если айпишник отправителя попал в список cbl.abuseat.org, добавлять в заголовок комментария фразу «Возможно, это спам».
                                              А вот это вот очень годно. Даже, скорее, добавлять какую-нибудь фиксированную случайную строку, вроде «6c61e781e81596105a038293ecfb7a2c»: так можно будет легко и просто скрыть спам.
                                              Ответить
                                      • А в чём эта фильтрация заключается-то? айпишник твой боты и так насканят. Кэш чего? Статики? Сколько ее там? Содержимое тредов - не статика. http/2 нинужен.
                                        Ответить
                                        • Пускай сканят, там всё анально огорожено, подключаться могу только я и CF. У Борманда, насколько я знаю, была отдельная впсочка под сток, у меня она используется для нескольких тестовых проектов/сервисов, которые не хочу светить наружу.
                                          Ответить
                                          • А сейчас они куда светятся? Всё это можно настроить и локально. CF имхо нужен для антидоса и кеша, но тебе это не надо.
                                            Ответить
                                          • зачем ты плодишь домены?
                                            сделай себе одну зону, и делай в ней все поддомены
                                            Ответить
                                            • У меня на основном домене «HSTS» с «includeSubDomains», поддомен без «https» не сделать.
                                              Ответить
                                                  • А ты как относишься к говно-бухачу? Ты из масхвы?
                                                    Ответить
                                                    • Я из Дальнежопинска и не употребляю алкоголь, наркотики и сигареты.
                                                      Ответить
                                                      • Также интересно, что у человека, скурившего "косяк" на несколько часов пропадают болевые рецепторы.
                                                        Ответить
                                                      • Какой багор ))) У тебя время в говностоке UTC+2
                                                        Ответить
                                                        • Значит Дальнежопинск в другую сторону.
                                                          Ответить
                                                        • Исправил, теперь дату пишет в локальной таймзоне. Но до чего ж уёбищная в «JavaScript» работа с датами: даже сраный формат задать нельзя!
                                                          Ответить
                                                    • Я за, кстати. Но я не из Москвы
                                                      Ответить
                                        • Короче, скоро запилю костыль для пользователей лучшей ОСи.
                                          Ответить
                                      • Ещё "защита emailoв" одна из известных фич )
                                        Ответить
                    • А что вы хотите сделать? Зачем пользователям хуза гостосток, и зачем пользователям гостостока хуз?
                      Ответить
                      • >Зачем пользователям хуза гостосток
                        Чтобы скрывать осетинских ослоёбов в один клик.
                        Ответить
                • Борманд ёбнул сорцы с незакоммиченными изменениями, и базу, чтобы не было соблазна вернуться.
                  Ответить
                  • И сжег женскую одежду, чтобы не было соблазна нарядиться и пойти в бар.
                    Ответить
                    • Кстати, ркг, ты же из питера? Будешь в резиновке, есчо пиши, можем взять за шкирку икаруса и ещё кого, и собраться в баре.
                      Ответить
                          • у русни два союзника: перефорс
                            Ответить
                              • у русни два союзника: перефорс
                                Ответить
                                  • У него три врага: Гиви, Тофик и Ваган — все они работают в такси.
                                    Ответить
                                    • Два Кирилл Кирилыча Кириллова
                                      От Кирилл Кирилыча Кириллова
                                      Ответить
                                  • При бахатом количестве хромосом русни хватает только на НЕТ ТЫ 😀
                                    Ответить
                        • Сёма, и ты на пьянку приезжает
                          Мы подарим тебе портрет Путина, георгиевскую ленточку и сводим в музей Новороссии
                          Ответить
                          • Давайте Сёму следующим летом затащим на какой-нибудь исторический фестиваль, покажем ему реконструкторов в форме НКВД.
                            Ответить
                          • А в музей ват­ной генетики зайдем?
                            Ответить
                          • Уж лучше ты в Украину с колорадкой.
                            Ответить
                      • Почему ты думаешь, что это писал ркг?

                        Я редко понаезжаю в нерезиновую, уж лучше вы к нам
                        Ответить
                        • Методом исключения.
                          Сёма не стал бы так шутить, это денег не приносит.
                          Стертор спёзднул бы что-нибудь про «ватника».
                          Ркг точно не мог.
                          Осталось последнее: я пизжу с самим собой.
                          Ответить
                          • Кто-то из нас двоих
                            Точно сошёл с ума.
                            Осталось лишь определить,
                            Весь мир или я.
                            Ответить
  • А что там за новые фичи были?
    Ответить
    • Кастомный фильтр, продвинутый поиск, дампы ГК, кнопочка «ответить». Может, и ещё что-то, не помню.
      Ответить
      • Вспоминайте, может, их нехуй делать реализовать.
        Ответить
      • Ценность бормандостока ещё и в том, что он хранил удалённые «сракером» комментарии. У кого сохранился самый последний дамп?

        Есть идея: подтянуть удалённые комментарии с web.archive.org и с хуза. Это можно сделать отдельным скриптом.
        Ответить
  • Накостылил&наговнянил кастомный фильтр. Ctrl+F5 для сброса кэша.
    Ответить
  • Поставил дампиться все посты, через ~сутки должно закончить.
    Ответить
  • Если ты натянул мамины трусы на палку, то это не делает их знаменем. Даже если они 70-го размера.
    Ответить
    • Нарисовал на тебе жёлтую звезду и отправил в Германию 1941-го года, проверь.
      Ответить
      • Кстати, я раньше почему-то думал, что звезда Давида должна быть жёлтой. Сильно удивился, когда на израильском флаге увидел синюю.
        Ответить
  • Сдамплено уже ~17000 постов, а тем временем появилась проблема: оригинальная метода поиска Борманда выглядит вот так:
    with ScopedSession() as session:
            q = flask.request.args.get('query')
    
            query = session.query(Comment, User, Post, func.ts_headline('russian', Comment.text, func.plainto_tsquery('russian', q), 'HighlightAll=true').label('highlighted')).filter(Comment.user_id == User.user_id).filter(Comment.post_id == Post.post_id)
    
            query = query.filter(func.to_tsvector('russian', Comment.text).op('@@')(func.plainto_tsquery('russian', q)))
    
            for comment, user, post, highlighted in query.order_by(func.ts_rank_cd(func.to_tsvector('russian', Comment.text), func.plainto_tsquery('russian', q)).desc(), Comment.posted.desc()).limit(100).all():
                comments.append({
                    "id": comment.comment_id,
                    "parent_id": comment.parent_id,
                    "post_id": comment.post_id,
                    "text": normalize_text(highlighted),
                    "posted": comment.posted.strftime(DATE_FORMAT),
                    "posted_timestamp": comment.posted.timestamp(),
                    "user_id": user.user_id,
                    "user_name": user.name,
                    "user_avatar": user.avatar_hash,
                    "comment_list_id": post.comment_list_id
                })

    Но уже 17к постов с комментариями моя впска не выдерживает, и поиск начинает дико тормозить, заодно съедая 100% процессора. Я так подозреваю, что это происходит из-за того, что на каждый запрос каждый коммент из базы разбивается на вектор термов. Исправлением этой проблемы занят весь наш инженерный отдел, а пока поиск отключён.
    Ответить
    • а рази в постгре нельзя полнотекстовый поиск с индексом сделать? гист или както так?
      Ответить
    • А как оно у бормана работала? Или у него впс-ка м0щнее была?

      Кстати и дапмпится как-то долго.
      Ответить
      • У него тоже поиск тормозил, но меньше — скорее всего, действительно впска мощнее.

        Дампится долго намеренно: я сделал дамп по одному посту раз в 8 секунд чтобы не перегружать говнокодик, он и так на ладан дышит.
        Ответить
        • Да сделай точный поиск, и сортировка по дате. Бесит, когда находит нерелевантное старое говно, а то что нужно не находит.
          Ответить
          • Наши инженеры уже приступили к правке базы на продакшене, не переключайтесь!
            Ответить
          • Инженеры закончили кромсать базу на живую, вроде бы даже всё заработало. Улучшением поиска инженеры займутся в самое ближайшее время!
            Ответить
            • [SQL: INSERT INTO posts (post_id, comment_list_id, user_id, language, code, text, text_tsv, posted, vote_plus, vote_minus, rating) VALUES (%(post_id)s, %(comment_list_id)s, %(user_id)s, %(language)s, %(code)s, %(text)s, %(text_tsv)s, %(posted)s, %(vote_plus)s, %(vote_minus)s, %(rating)s)]
              [parameters: {'user_id': 6401, 'posted': datetime.datetime(2014, 12, 15, 4, 56, 40, tzinfo=datetime.timezone.utc), 'text_tsv': None, 'vote_minus': 102, 'language': 'C++', 'code': 'int GUIFont::getTextSize (std::string::iterator &begin, std::string::iterator &end ) { \r\n    int size = 0; \r\n    while(begin != end ) { \r\n      ... (376 characters truncated) ... ;\r\n    utf8::utf16to8 (text.begin (), text.end (), back_inserter (utf8text ));\r\n    return getTextSize (utf8text.begin (), utf8text.end ());\r\n}', 'comment_list_id': 17247, 'post_id': 17314, 'rating': Decimal('56'), 'text': 'Вот так я зафейлил...<br>
\nИ что самое главное - студия сожрала и даже ворнинга не кинула, а эклипс ни в какую.<br>
\nБез добрых людей на гейдеве не допер бы что к чему.', 'vote_plus': 158}]
              (Background on this error at: http://sqlalche.me/e/9h9h)
              psycopg2.errors.InvalidParameterValue: text search configuration name "russian" must be schema-qualified

              Гыгыгы.
              Ответить
              • Скорее всего надо указать в одинарных кавычах и TEXT и russian.

                А вообще в постгришечке иерархия такая:


                база(она же каталог) --> схема (она же неймспейс) --> объект(например таблица(она же релейшен))

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

                Схема называемая default есть в каждом каталоге, туда обычно все срут.

                Клиент psql имеет переменную "search_path" (ее можно менять).
                По умолчанию она

                search_path=$user, default

                то-есть если ты пишеш select * from petuhi, то сначала будет искаться схема с твоим именем (ее обычно нет) а потом схема default.

                Тоже самое и с созданием таблицы

                Ну или в твоем случае 'default.russian'
                Ответить
                • Спасибо, починил через 'pg_catalog.russian'. Ошибок не видно, новые посты индексируются.
                  Ответить
                  • действительно, схема же pg_catalog для системных таблиц и вьюшек, я проебалн
                    Ответить
  • Тест поиска
    0a8eb981df989a84200ab33c3c3b4602bfac6e1c 12e573509810d7c364557bec
    Ответить
  • Изменил поиск: теперь можно искать как по нику, так и по содержанию. Если одно из полей не задано — оно игнорируется. Результаты сортируются только по дате. Ctrl+F5 для обновления кэша.

    Какие ещё фичи можно впилить в поиск, чтобы сделать его более удобным?
    Ответить
  • Наш инженерный отдел принялся за датамайнинг бигдаты про способы дампа всего сайта с вебархива, а также начал изучать возможности впихнуть в базу удалённые комментарии и ничего не проебать. Следующий на очереди — хуз.
    Ответить
    • С хузом беда: у него айдишники комментариев не совпадают. В принципе, из него можно вытаскивать полностью удалённые говнокоды, всё равно в них комментариям можно назначить фиктивные айдишники.

      С вебархивом чуть получше. Кстати, у вебархива даже есть API.
      Ответить
      • Можно для каждого комментария ввести дополнительное поле «source» — откуда он: с хуза, с гк, с вебархива, с другой планеты…
        Ответить
        • Две подсказки по веб-архиву:
          1. Инфа по конкретному URL:
          http://archive.org/wayback/available?url=http://govnokod.ru/1
          Ответ приходит в формате «JSON», содержит в том числе URL последней копии.

          2. Список всех страниц, сохранённых в архиве:
          http://web.archive.org/web/timemap/?url=http://govnokod.ru/&matchType=prefix&collapse=urlkey&output=json&fl=original,mimetype,timestamp,endtimestamp,groupcount,uniqcount&filter=!statuscode:[45]..&limit=100000


          Ответ в формате «JSON».
          matchType=prefix означает, что нужно искать страницы, URL которых начинается со значения параметра url.
          fl — список полей, которые будут возвращены.
          filter=!statuscode:[45].. означает «НЕ возвращать страницы, при попытке получения которых были ответы со статусами, начинающимися на 4 и 5, например, 404 или 500».
          Что означает limit, догадаешься.
          Ответить
              • В вебархиве данные хранятся в собственном формате «CDX». Для того, чтобы отдавать выборку из этих данных конечному пользователю, у них есть серверное программное обеспечение. По ссылке документация по такому серверу. Публичный сервер для «CDX» развёрнут по адресу http://web.archive.org/cdx/
                Ответить
              • В украиснком языке нету буквы э
                Какой-то сружик блядь
                Ответить
                • Так я же чтобы русьня поняла.
                  Ответить
            • Передал в качестве значения параметра «collapse» слово, которого нет в документации. Сервер вместо JSON прислал такую питушню:
              [java.lang.ArrayIndexOutOfBoundsException: -1
              Ответить
          • Хороший Борманд сделал парсер: он без каких-либо изменений может парсить страницы с веб-архива. Какая универсальность )))
            Ответить
            • Да, css селекторы - вершина разума.
              Ответить
              • «Webarchive» мало того, что добавляет свой собственный код, так ещё и все ссылки на сайте преобразует в свои, внутренние. Так что да, какая универсальность )))
                Ответить
                • А для парсинга ссылки и не нужны, ну точнее нужны, но только конец.
                  Ответить
          • Распарсили список всех снапшотов постов, их 47879 штук. Можно сильно сократить, если парсить только последние версии, но тогда пропустим некоторые удалённые комменты. В общем, начали писать парсилку.
            Ответить
            • Страйкер не занимался удалением комментов, вроде.
              Ответить
              • Ванишил, но имеет ли смысл заванишенные комменты добавлять — хз…
                Ответить
            • А что, в вебархиве правда много удаленных постов? Ведь если они удаляются сракером, то в течении 2-4 дней. Никакой веб-архив с такой регулярностью обходить не будет.
              Ответить
              • Он некоторые говнокоды удалял целиком через несколько месяцев после создания.
                Ответить
                • Причем он, будучи серьезным ПХП разработчиком, не использовал констреинты.
                  Как следствие, комменты кочевали по говнокодам, как скифы по степям
                  Ответить
                • Ах да, я и забыл как пачку моих говнокодов грохнули.
                  Ответить
        • Ого, бонусом таблица хэшей е-мейлов. Кто-нибудь составлял радужные таблицы для е-мейлов?
          Ответить
            • А ему и не надо, у него они и так есть. Уведомления как-то должны отправляться.

              В смысле сами емели.
              Ответить
        • >Length: 158870410 (152M) [text/csv]
          ах ебать, man bzip2 может
          Ответить
          • Я не собираюсь прыщепердолиться ради разовой скачки.
            Ответить
            • Что такое bzip2 ?
              Какая-то прыщехуита для админко?
              Зачем она реально нужна в работе?
              Ответить
          • бзип2 хуита тормозная, 7z круче
            Ответить
        • <?php
          
          $handle=fopen('comments.csv', 'r');
          if ($handle === false) die();
          $data = array();
          $firstline = fgetcsv($handle);
          while (!feof($handle)) {
              $items = fgetcsv($handle);
              if(count($items) < 5) continue;
              $name = $items[3];
              $hash = $items[4];
              if(strlen($hash) === 32) {
                  $data[$name] = $hash;
              }
          }
          fclose($handle);
          
          $hosts = array(
              'mail.ru',    'yandex.ru', 'gmail.com', 'rambler.ru', 'bk.ru', 
              'list.ru',    'inbox.ru',  'ya.ru',     'ukr.net',    'tut.by',
              'yahoo.com',  'i.ua',      'inbox.lv',  'hotmail.com','yandex.ua',
              'bigmir.net', 'meta.ua',   'pochta.ru', 'ua.fm',      'ngs.ru',
              'sibmail.com','abv.bg',    'live.ru',   'narod.ru',   'qip.ru',
              'pisem.net',  'nm.ru',     'e1.ru',     'hotbox.ru',  'mail.ua',
              'e-mail.ru',  'chat.ru',   'km.ru',     'mtu-net.ru', 'front.ru',
              'newmail.ru', 'spaces.ru', 'li.ru',     'xakep.ru'
          );
          
          foreach($data as $key=>$value) {
              foreach($hosts as $host) {
                  $email = strtolower($key . '@' . $host);
                  $hash = md5($email);
                  if($hash === $value) {
                      echo $email . PHP_EOL;
                  }
              }
          }


          Результат: у меня есть 922 е-мейла пользователей «Говнокода».
          Ответить
            • У нескольких уважаемых людей почта оказалась на «mail.ru».

              А ещё «ukr.net» и «tut.by» оказались популярными.
              Ответить
                    • Это при попытке скачки дампа?
                      Ответить
                        • Ну правильно. На самом деле это comments.csv.exe, не многие заметили
                          Ответить
                    • Наверное это проги нидлеса в ASCII-кодах
                      Ответить
                    • Возможно создатели антивириса неудачно выбрали сигнатуру. Такое бывает.

                      То есть базы.
                      Ответить
                • Кстати, я тестировал только тех, у кого юзернейм на «Говнокоде» совпадает с юзернеймом в почте. Да, таких с популярными почтовыми доменами оказалось 922.

                  Для более общего случая придётся применять брутфорс. Я не знаю, как подбирать логин почты под md5, чтобы это заняло разумное время.
                  Ответить
                  • Можно попробовать inkanus-gray+{username}@ya.ru
                    Ответить
                    • Можно, но найдёшь только старые файки. Петухи и обезьяны у меня на другом ящике.
                      Ответить
                    • А у моих петухов ещё транслит: там где в юзернейме «nemyx», в адресе электронной почты вместо этого слова «petuh».
                      Ответить
          • Взял табличку на тысячу почтовых доменов. Нашёл 1087 е-мейлов.

            Кто-то зарегистрировал пачку юзеров на ящики типа pdro264@mailinator.com (меняются только цифры).
            Ответить
            • В сервисе mailinator.com действительно можно выбирать произвольный юзернейм и читать чужую почту. Правда, там старые письма удаляются.

              Значит, для юзеров, зарегистрированных на мейлинатор, можно запросить восстановление пароля.
              Ответить
            • Это мои файки, но срал с них стертор. Пароль 123, кажется.
              Ответить
          • Внимание! Big data!

            Список почтовых доменов среди 1107 пользователей «Говнокода» по популярности:
            390 раз встретился gmail.com
            165 раз встретился mail.ru
            137 раз встретился yandex.ru
            127 раз встретился mailinator.com
            65 раз встретился ya.ru
            24 раза встретился bk.ru
            24 раза встретился rambler.ru
            20 раз встретился inbox.ru
            18 раз встретился list.ru
            15 раз встретился tut.by
            15 раз встретился ukr.net
            7 раз встретился live.ru
            7 раз встретился i.ua
            5 раз встретился yahoo.com

            По 3 раза встретились: abv.bg, bigmir.net, devnullmail.com, hotmail.com, mail.kz, mail.ua, mailforspam.com, spaces.ru, ua.fm, xakep.ru.

            По 2 раза встретились: asdasd.ru, nextmail.ru, outlook.com, protonmail.com, yandex.com, yopmail.com.

            Самые редкие домены (встретились по 1 разу):
            66.ru, academ.org, e1.ru, flurred.com, front.ru,
            gala.net, gmx.com, grr.la, inbox.lt, km.ru,
            lavabit.com, live.com, loginz.org, mail.bg, mail.com,
            mail.primorye.ru, mail2k.ru, mailinator.net, meta.ua, mutogen.name,
            mvrht.com, myopera.com, namba.kg, narod.ru, nightmail.ru,
            nm.ru, nwldx.com, nxt.ru, okean.odessa.ua, olympus.ru,
            p33.org, pochta.ru, pochtamt.ru, protonmail.ch, rkmail.ru,
            root.ua, sendmail.ru, setti.biz, sibmail.com, smtp.ru,
            svitonline.com, torba.com, trash-mail.com, trbvm.com, udaff.com,
            yandex.ua.
            Ответить
              • Это какая-то рекурсивная нумерология, бессмысленная и беспощадная.

                Лучше посоветуйте, какими ещё почтовыми доменами покормить брутилку е-мейлов. Скачивать всю зону у DNS не предлагайте.
                Ответить
                • какую зону и кто тебе даст ее скачать?
                  Ответить
                  • Вот потому и не предлагайте.

                    Будете смеяться, но какие-то бессмысленные зоны вроде travel или museum DNS отдавали целиком любому анону.
                    Ответить
                    • на запрос трансфера мне поводили хуем по губам
                      другого способа запросить все записи я не знаю (разве что только файл зоны спиздить)
                      $ dig @e.gtld.travel travel axfr     
                      
                      ; <<>> DiG 9.11.9 <<>> @e.gtld.travel travel axfr
                      ; (2 servers found)
                      ;; global options: +cmd
                      ; Transfer failed.
                      Ответить
                • Выложил полный список, проверь.
                  Ответить
              • Кстати, список е-мейлов можно скормить соцсетям, чтобы они показали тебе список «возможных друзей». И там уже можно напомнить старым юзерам о «Говнокоде».

                Именно поэтому я против непосредственного использования «Граватара», как сделано на «Говнокоде». На мой взгляд гораздо лучше будет сервером утаскивать с «Граватара» аватарку, сохранять её на своём сервере и переименовывать, чтобы не показывать md5 от е-мейла всяким мудакам.
                Ответить
            • Взял в качестве источника почтовых доменов базу 180 тыс. пользователей «адюкг». Нашёл новые почтовые домены. На «Говнокоде» есть как минимум по одному пользователю с почтой на доменах develop-project.ru, exler.ru, halfi.ru, serzhenko.ru, splatt.ru, studsib.ru, univ.kiev.ua.
              Ответить
                • Сейчас проверим... Ни одного не нашлось.

                  На всякий случай замечу, что поиск производился только по юзерам, у которых есть аватарка и у которых хуз захватил не менее одного комментария. Наш отдел по датамайнингу пока не научился искать пидоров среди юзеров без аватарки или без комментариев.
                  Ответить
              • Хм, получается можно захватить акки с этих фришных доменов. Что наверняка ослоёб уже сделал.
                Ответить
                • Нет, так называемый «ослоёб» захватывает только акки со стандартными паролями типа «qwerty», «123456» и «password». Так что пока я храню е-мейлы в секрете, эти акки в безопасности.
                  Ответить
                • >> Хм, получается можно захватить акки с этих фришных доменов.

                  Есть ещё сервисы типа «10 minute mail». Они регистрируют пачку доменов, потом их не продлевают, а регистрируют новые. Домены с нечитаемыми именами типа urhen.com, idxue.com или rtrtr.com. Новые домены регистрируются чуть ли не каждый месяц, а со страницы сервиса список всех доменов получить невозможно, поэтому автоматический бан труднореализуем (если реализуем вообще). Но и захватить такие акки невозможно, ибо повторное использование ящика на сервисах типа «10 minute mail» не предусмотрено. Потерял пароль — потерял аккаунт.
                  Ответить
                  • Лишнехромосомный всё пытается затащить всех остальных в свое усмановское дерьмо, лол.
                    Ответить
              • grr.la встречается три раза.
                sharklasers.com встречается три раза.

                pokemail.net, spam4.me, guerillamail.* надо проверить. Передал в отдел майнинга.
                Ответить
                • Пиздец, блять. Это настолько старомодные сервисы, что пользоваться ими просто стыдно.

                  Лично мне намного проще набрутить учеток, чем ебать себя реганьем левых мыл. Это плохая практика.
                  Ответить
                  • Ты напоминаешь мне "вора в законе", который загремел и от безвыходности трахает петухов, оправдывая это необходимостью и надеясь, что на свободе вернется к женщинам... Глупец.
                    Ответить
                    • Из Ваших пёрлов не очень понятно, чью точку зрения Вы разделяете.
                      Ответить
                      • Да, неужели? А по-моему, всё предельно ясно: ты просто привык спамить и уже не можешь остановиться.
                        Уходи, ты не нужен.
                        Ответить
                • Получен ответ от отдела майнинга.

                  spam4.me встретился два раза, остальные домены гориллы (кроме двух, которые уже посчитали) на «Говнокоде» не замечены.
                  Ответить
              • Нашёл ещё несколько сервисов временной почты:
                "mailforspam.com",
                "mfsa.ru",

                "dropmail.me",
                "10mail.org",
                "yomail.info",
                "emltmp.com",
                "emlpro.com",
                "emlhub.com",
                "supere.ml",

                "mt2015.com",
                "mt2014.com",
                "thankyou2010.com",
                "trash2009.com",
                "mt2009.com",
                "trashymail.com",
                "mytrashmail.com",

                "0box.eu",
                "contbay.com",
                "damnthespam.com",
                "kurzepost.de",
                "objectmail.com",
                "proxymail.eu",
                "rcpt.at",
                "trash-mail.at",
                "trashmail.at",
                "trashmail.com",
                "trashmail.io",
                "trashmail.me",
                "trashmail.net",
                "wegwerfmail.de",
                "wegwerfmail.net",
                "wegwerfmail.org",

                Из них на «Говнокоде» использовались следующие:
                20 раз mailforspam.com
                2 раза mfsa.ru
                1 раз yomail.info
                1 раз trash2009.com

                Кто знает ещё какие-нибудь сервисы временной почты?
                Ответить
                • Список нужно чистить. Туда по какой-то нелепой случайности попали безобидные домены вроде i.ua.

                  Анонимная статистика по частоте использования доменов из этого списка на «Говнокоде»:
                  1768, mailinator.com
                  1427, doanart.com
                  517, rainmail.biz
                  39, lackmail.ru
                  20, mailforspam.com
                  16, i.ua
                  11, test.com
                  8, checknew.pw
                  6, trashmail.ws
                  6, shitmail.me
                  6, asdasd.ru
                  6, trbvm.com
                  4, p33.org
                  3, rmqkr.net
                  3, mvrht.com
                  3, grr.la
                  3, nwytg.net
                  3, slopsbox.com
                  3, sharklasers.com
                  3, trbvn.com
                  3, devnullmail.com
                  2, mail333.com
                  2, yopmail.com
                  2, mvrht.net
                  2, disposeamail.com
                  2, spam4.me
                  2, lavabit.com
                  2, mailcatch.com
                  2, mfsa.ru
                  2, mail.by
                  2, spam.su
                  2, mailblog.biz
                  2, nwldx.com
                  2, spam.la
                  2, drdrb.com
                  2, sibmail.com
                  1, 2odem.com
                  1, einrot.com
                  1, mailinator2.com
                  1, emailsy.info
                  1, eth2btc.info
                  1, armyspy.com
                  1, key-mail.net
                  1, vomoto.com
                  1, getairmail.com
                  1, dropjar.com
                  1, tafmail.com
                  1, five-plus.net
                  1, freemailnow.net
                  1, proto2mail.com
                  1, digitalmail.info
                  1, akgq701.com
                  1, 4easyemail.com
                  1, mymail90.com
                  1, walkmail.net
                  1, zoaxe.com
                  1, keepmymail.com
                  1, dispostable.com
                  1, spamobox.com
                  1, mailinator.net
                  1, klzlk.com
                  1, trash2009.com
                  1, trash-mail.com
                  1, jnxjn.com
                  1, lackmail.net
                  1, tryalert.com
                  1, mailnator.com
                  1, cartelera.org
                  1, norih.com
                  1, rootfest.net
                  1, leeching.net
                  1, mailnesia.com
                  1, flurred.com
                  1, yhg.biz
                  1, yomail.info
                  1, binka.me
                  Ответить
                  • >по какой-то нелепой случайности

                    Вот старик, по нелепой случайности,
                    с детских лет оказавшийся в чайнике:
                    он толстел с двух сторон,
                    но не мог выйти вон -
                    так и прожил всю жизнь в этом чайнике.
                    Ответить
                    • Кстати, новые учётки «русофоба», как на ладони: они зарегистрированы на ящики из этого списка.
                      Ответить
                      • Довольно настораживает информация такого характера от тебя - мастера перевоплощений. Заниматься мистификациями ты начал задолго до моего появления. Ну да господь с тобой. Решил покаяться, сдал товарищей по оружию?
                        Ответить
                  • Сделай пулл реквест, или ты только за деньги работаешь?
                    Ответить
                    • Надо провести расследование, почему домен i.ua попал в этот список: потому что составитель списка — украинофоб или потому что хохлы всех задолбали на форумах.

                      P.S. Местоположение автора списка: Hamilton, Ontario — вроде не русня. В Канаде бывают ватники?
                      Ответить
                  • Я буду богат, я буду богат,
                    Я буду богат и знаменит.
                    Ответить
                • Объединённый список — говно. В него попали самые известные почтовые системы России и Украины.

                  Вот этот список полезный: в нём у каждого домена указан источник:
                  https://github.com/andreis/disposable-email-domains/blob/master/domains_source_map.txt

                  У emailfake.com список периодически устаревает. И все домены такие, что сразу не догадаешься, что это одноразовая почта. Например, сейчас у него такой список: jur-likbez.ru, gravitio.net, oathijs.info, ciyeshops.site, gafemarket.site, foreksinfo.ru, citroen-mexico.club, coachfit.ru, piyamipi.site, keramzit-komi.ru, utplexpotrabajos.com, f-look.ru, bar24.top, superweblink.ga, leanxtractor.com.
                  Ответить
        • Геморно дампить собственную базу?
          Ответить
    • Задача с двумя звёздочками: залить удалённые треды обратно, откуда их удалили. Армия петухов уже есть. Вот будет багор.
      Ответить
      • Сорву покровы: я сделал регалку юзеров, которая их регает и подтверждает в полностью автоматическом режиме. Какой багор )))
        Ответить
        • Мы в курсе, ты уже рассказывал.
          Ответить
        • Я почему-то догадывался, что сорок тысяч обезьян в жопу сунули банан петухов твои, и регистрировал ты их вовсе не вручную.

          Тогда заливать удалённые комментарии можно, как в старых говнокодах: первой строкой в тексте комментария имя оригинального постера с двоеточием.
          Ответить
        • Так это ты тут срал?!

          А выглядел как приличный человеу!
          Ответить
          • Нет, моими петухами я не срал. Я их только зарегал лулзов ради.
            Ответить
        • Я тоже сорву покров: ты - одна из фаек инкануса.

          КАКОЙ БАГО_ГО_ГО_ГО_ГОР))
          Ответить