Всех с воскресеньем.
Пока основной баянометр в разработке заделал небольшой такой заменитель http://joy.komato3.net/
Сканирует апрувнутые посты 2 раза в минуту (надеюсь, не буду за это забанен).
Немного умеет в гифки, но это пока сильно эксперементально. Гифки бьются по 2 кадра в секунду и этот хеш идёт в базу.
Любителям поковыряться в JS-коде и прочей диагностике - найдёте API-запросы на странице, пожалуйста, не переусердствуйте.
Текущий интерфейс люто не дружелюбен: ограничен на загрузку 10 файлов одновременно, но в силу неких ограничений может туповато работать, так что не брезгуйте F5, и в целом выглядит как для роботов. Порой nginx может послать Вас нахуй за частоту запросов, такие дела.
У поиска есть не мнимая возможность найти лютейшее говно или не найти ничего, для этого есть кнопка "Bullshit" справа, создаёт некий реквест с копией вашей картинки. Поковыряюсь в алгоритмах поиска и хеширования, но не злоупотребляйте, пожалуйста.
В остальном, прошу потестить - есть ли смысл во всём этом?
Пока основной баянометр в разработке заделал небольшой такой заменитель http://joy.komato3.net/
Сканирует апрувнутые посты 2 раза в минуту (надеюсь, не буду за это забанен).
Немного умеет в гифки, но это пока сильно эксперементально. Гифки бьются по 2 кадра в секунду и этот хеш идёт в базу.
Любителям поковыряться в JS-коде и прочей диагностике - найдёте API-запросы на странице, пожалуйста, не переусердствуйте.
Текущий интерфейс люто не дружелюбен: ограничен на загрузку 10 файлов одновременно, но в силу неких ограничений может туповато работать, так что не брезгуйте F5, и в целом выглядит как для роботов. Порой nginx может послать Вас нахуй за частоту запросов, такие дела.
У поиска есть не мнимая возможность найти лютейшее говно или не найти ничего, для этого есть кнопка "Bullshit" справа, создаёт некий реквест с копией вашей картинки. Поковыряюсь в алгоритмах поиска и хеширования, но не злоупотребляйте, пожалуйста.
В остальном, прошу потестить - есть ли смысл во всём этом?
Подробнее
dev,реактор,Баян,баян, боян, баяны, бояны, баянище, боянище,баянометр,баянометрозаменитель,песочница
Еще на тему
в рамочку предпросмотр загруженного бы
Если нет, ну там сам думай, просто тогда число запросов возрастет не хило.
В идеале, всё. Даже frontend
, даже небо и Аллах.хеши ищешь одинаковые или вплоть до какой-то дистанции?
Дистанцию беру в 5 Хемменгов.
а как решал проблему с поиском?
делал какие-то индексы или у тебя каждый поиск фуллскан ?
Проскользнула идея брать перцептивный хеш от хеша (по сути перцептивный хеш является сильно-упрощённой картинкой оригинала), тоесть грубо говоря: от картинки получаем 256-битный хеш (32 байта), берём от этого хеша хеш 4x4 (8 байт). Получается некого рода LOD, и этот хеш довольно удобно сравнивать Хеммингом ибо 8 байт это основа 64-битной архитектуры. Не сильно уверен в моей теории, математик я так себе, но вроде работает.
64бита хеш тебя не спасет, так как чтоб искать по нему нужно так же либо мутить индексы для него, либо делать фуллскан.
насчет индексов смотри мой ответ к твоему предыдущему посту, у меня изначально хеши были по 64бит.
потом появилась идея генерить близкие хеши для картинки, которую стянули с реактора и вести таблицу сопоставлений. такой себе индекс.
тобишь есть у нас картинка на реакторе, у нее хеш 11110001100110111000101011100100000011000000011001110011111011. мы генерим к нему все числа с расстоянием 1, с расстоянием 2 итд и записываем в бд.
а потом просто ищем в этом индексе точное совпадение с индексом искомой картинки.
нюанс крылся в одном - количестве данных. для int64 количество хешей с расхождением от 1 до 5 составляло 7666240 значений. то есть 7666240 64битных интов для каждой! картинки. это было уже не в какие ворота, их ж где-то нужно хранить. плюс время на генерацию.
хотя хз, они ж в целом пересекаются. может что-то и можно было бы сообразить, но в тот момент меня окончательно заебали бразильские проксики, которые постоянно отваливались и я забил на всю затею.
можно ж было с кокой договориться, чтобы он для конкретного ip защиту отрубил
да я сначала думал написать, попросить, но не был уверен, что буду вообще это дело до конца доводить, поэтому решил зря не дергать.
так и вышло)
помочьзапилить Reverse proxy на ESXI. на чём именно решай сам. надо что бы он только заработал. пиши в ЛС если готов взяться.По сути ставишь нужное ПО на серваке с белым ипом, смотрящим в эти ваши интернеты (хоть бы тот же самый NGINX), указываешь локальные ресурсы в виде серверов по внутренней адресации. Тут же уже не суть на ESXI у тебя всё или на иных ОС, тут тупо 2L-3L маршрутизация который на виртуализацию серверов мягко-говоря поебать. Ну только если у тебя все настроено с выводом серверов в общий сетевой пул(подпул) для каждого хоста (сервера) и каждой VM.
Например: http://img0.joyreactor.cc/pics/post/twitter-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82-%D0%B2%D1%8B%D1%80%D0%BE%D1%81-%D0%BF%D0%BE%D0%B2%D0%B7%D1%80%D0%BE%D1%81%D0%BB%D0%B5%D0%BB-4106544.jpeg