Запилил архив форума с блэкджеком и поиском, может кому пригодится: https://buzer.dev/ep (новый адрес!)

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

Искать можно либо по сообщениям, либо по названиям тем. Пока что учитываются только прямые совпадения слов; при этом под словом подразумевается то, что состоит из русских и английских букв, цифр, и дефиса. Всякие знаки препинания и прочие скобочки служат разделителями и в поиске не участвуют.

Также есть возможность вывода сообщений конкретного пользователя. Для этого надо либо кликнуть по его нику в какой-нибудь теме или на главной странице, либо прямо вбить ссылку вида:
https://buzer.dev/ep/userposts/BUzer
(если в имени есть пробел, то вместо него надо ставить плюс, иначе браузер не поймёт)

В общем, функции пока что довольно базовые, но программа ещё допиливается, и в планах есть расширенный поиск с более гибкими настройками. Если, конечно, форумный поиск не заработает раньше :)
BUzer
Да, раз в четыре минуты забирает новые сообщения (там внизу статус есть). Работает, кстати, на том же Cubietruck'е, про который как-то рассказывал: http://forum.everypony.ru/viewtopic.php ... 29#p592829

Кузя, ага, наверное переключатель будет.
BUzer
А свежие сообщения сверху в результатах поиска, или в тредах вообще? Я просто думал, что речь шла только о результатах поиска (и списка сообщений пользователя), но вот внезапно для себя открыл, что на форуме для обычного чтения тредов это тоже настраивается :)
BUzer
Итак, несколько нововведений:
  • Добавлена страница настроек, где можно выбрать порядок сортировки постов во всех режимах, какие только есть.
  • В связи с этим возникает потребность в механизме постоянных ссылок на посты, потому что содержимое страницы под одним и тем же номером может отличаться для разных пользователей в зависимости от их настроек. В этом деле теперь внесена ясность: дата над сообщением (с иконкой якоря) всегда даёт постоянную ссылку на этот пост в архиве. Рядом с ней есть ссылка «на форуме», которая ведёт на это же сообщение на форуме.
  • Появилась возможность выводить список тем с участием определённого пользователя, а также возможность посмотреть посты конкретного пользователя в определённой теме. За это отвечают две кнопки над сообщением: «темы» и «в этой». В списке тем пользователя при этом также присутствует дополнительная колонка с зелёными кнопками, на которых написано, сколько сообщений пользователь оставил в этой теме.
  • В дополнение к двум режимам поиска в постах и в темах добавлен третий режим: поиск пользователя. Меня раньше постоянно напрягало, что чтобы найти чьи-то посты, надо было либо помнить его ник с точностью до регистра каждой буквы (чтобы вбить в URL), либо искать какой-нибудь его пост. В режиме поиска пользователя можно ввести любой кусочек его ника не важно в каком регистре, и он сразу выдаст сообщения пользователя, у которого больше всего постов из всех, чей ник содержит этот кусочек.
    Примеры: smt — SMT5015; gordon — GordonFreemane; ангел — Ангелочек Нежный; и т.д.
  • Дата последнего сообщения в последней колонке на главной странице теперь является ссылкой, и ведёт на это же сообщение на форуме. То есть, похоже на домик слева, только ссылка не в начало, а в конец темы.
    Хотя для тех, у кого на форуме включено отображение постов в обратном порядке, разницы нет.
BUzer
Спасибо :) Вообще, у меня ещё есть желание сделать так, чтобы как-нибудь выделялись темы, где появились новые сообщения, но вот всё не могу придумать нормальный критерий, по которому она будет это определять. Она же не знает, какие темы я читал на форуме…
BUzer
Добавил ещё одну фичу: теперь клик по надписи "Юзернейм писал(а):" в цитате перебрасывает к цитируемому сообщению.
При этом перезагрузки страницы не происходит, если оригинальное сообщение находится на той же странице — только перескакивает прокрутка.

Цитаты без указания автора автоматически дополняются авторством из найденного сообщения. При этом после "Юзернейм писал(а):" дописывается "(автоопределение)", чтобы в случае чего было видно, где с текстом пошаманила автоматика.
BUzer
Давно хотел прикрутить одну штуку, но что-то только сейчас руки дошли. Теперь если в поиске дописать звёздочку в конце слова, то будут найдены все остальные слова, начинающиеся на это слово.
Например, поиск по сезон* помимо постов с самим словом "сезон" также найдёт посты с "сезона", "сезонов", "сезону" и т.п.
Посередине или в начале слова звёздочка не работает, только в конце. Минимальная длина слова при поиске со звёздочкой — четыре символа (в названиях тредов — два).

Плюс пофиксил небольшой визуальный баг, когда список тредов сжимаешь по горизонтали, то все строки резко становились высотой в две строки. Теперь переносятся только строки с длинными названиями тредов.
BUzer
Не, какой там :) Оно вообще всё заточено под поиск прямых совпадений слов. Просто потом оказалось, что поиск именно по началу слова довольно удачно можно впилить без особых изменений.
BUzer
Какая жесть. Обнаружил вчера, что сервис не работает. Точнее, он работает, но доступа к нему снаружи нет — всё выглядит так, как будто Ростелеком просто не пускает входящие соединения на порт 80. Написал в техподдержку, а они мне говорят…
На Ваше обращение в службу поддержки Клиентов ПАО «Ростелеком» сообщаем, что в целях безопасности клиентов ПАО Ростелеком порты (номера портов из обращения) на стороне клиента закрыты снаружи. Ограничение применяется для клиентов, подключённых по технологии PPPoE. Для гарантированной работоспособности портов/сервисов рекомендуем одно из решений:

1. Использовать альтернативные порты для предоставления доступа к сервисам.

2. Перенести сервисы на площадки, предоставляющие услуги хостинга (например, nic.ru).
Надо было ещё добавить пункт 3: "использовать услуги другого провайдера". Чем я вскоре и собираюсь воспользоваться
update: нашёл другое решение, всё снова работает через 80 (см. следующий пост, кому любопытно).

NTFS писал(а):(автоопределение)BUzer - предлагаю переименовать тему в "решение проблемы поиска".
Да не, не надо. Название темы — это же о том, как оно позиционируется, а не о том, как оно на деле :)
BUzer
Хех, проблема решилась быстрее, чем я думал.
Оказывается, Cloudflare в прошлом году выкатили новую фичу: Cloudflare Warp. Это тулза, которая ставится на твой сервер, и с него открывает исходящий шифрованный канал до серверов Cloudflare (примерно как VPN). Когда юзер стучится на твой сайт, он обращается к Cloudflare, который, в свою очередь, забирает страницу у тебя с сервера по этому каналу. Прелесть в том, что это позволяет хостить сайт на любом компьютере, у которого есть доступ в интернет — не обязательно пробрасывать порты, и даже белый айпишник не нужен. Напоминает принцип работы tor hidden service.
Вообще, технология давно напрашивалась, я даже удивлён, что они не сделали её раньше. Единственная беда с ней — это то, что её обещают когда-нибудь сделать платной. Но к тому моменту я уже обзаведусь другим провайдером.

update: ух ты, порт опять открыт… Одумались что ли в Ростелекоме?
А Warp тем временем так себе решением оказался. Эта их тулза постоянно рвет соединения, и выключается.
BUzer
Тут у меня проблема с девайсом возникла, на котором работал сервер. Вчера отключали свет, и после этого девайс перестал загружаться. Не знаю ещё, сколько я с ним буду разбираться, поэтому сайтец пока что полежит, увы.
BUzer
Сорян, что так долго — несколько раз брался за этот девайс, и каждый раз оно меня вымораживало каким-то головняком с прошивкой и прочим.
В итоге просто залил программу на обычный vps, вроде нормально работает, посмотрим как оно будет.
BUzer
Извиняюсь, там просто VPS-ка перезагрузилась, а архив самостоятельно с некоторых пор подниматься не умеет *facepalm*
Не стесняйтесь писать мне в лс, если оно лежит несколько дней и больше. Мне на почту должны уведомления приходить.

Вообще, у меня скоро этот домен протухает, и я, наверное, не буду его продлять, а перенесу на другой свой адрес. Думаю, на выходных этим займусь.
BUzer
Новый адрес: https://buzer.dev/ep
BUzer
Смущает, я его иногда подчищаю в ручном режиме. Кстати, спасибо что напомнил.
BUzer
Епт, два месяца лежало что ли? О, спасибо кто меня в личку пнул, поднял обратно :D

Напоминаю, если оно валяется, просто пошлите мне в лс "архив упал" или что-нибудь в этом духе :)
BUzer