Введение
Формат офлайн-читателя почты QWK — это файловый формат для автономного чтения почты, который был популярен среди пользователей систем досок объявлений (BBS), особенно пользователей FidoNet и других сетей, генерировавших большие объемы почты. QWK был первоначально разработан Марком "Спарки" Херрингом в 1987 году для систем, работающих на популярной BBS PCBoard, но впоследствии был адаптирован для других платформ. Херринг скончался от сердечного приступа в 2020 году в результате розыгрыша с вызовом экстренных служб. В период наибольшей популярности BBS несколько десятков автономных почтовых читателей поддерживали формат QWK.
QWK is a file based offline mail reader format that was popular among bulletin board system (BBS) users, especially users of FidoNet and other networks that generated large volumes of mail. QWK was originally developed by Mark "Sparky" Herring in 1987 for systems running the popular PCBoard bulletin board system, but it was later adapted for other platforms. Herring died of a heart attack in 2020 after being swatted. During the height of bulletin board system popularity, several dozen offline mail readers supported the QWK format.
Описание
Как и другие автономные читатели, QWK собирал сообщения для конкретного пользователя с помощью программного обеспечения QWK на стороне BBS, сжимал их с помощью приложения, такого как PKZIP, и затем передавал их пользователю. Это обычно осуществлялось через программу "BBS door", работающую на BBS-системе. В случае QWK сообщения помещались в один большой файл, который затем объединялся с несколькими управляющими файлами и сжимался в единый архив с расширением файла, а в качестве базового имени файла обычно использовалось "id" BBS в формате Файл обычно отправлялся пользователю автоматически благодаря функции автозапуска протокола ZModem, хотя большинство QWK-дверей позволяли выбрать и другие протоколы. После получения файла пользователем, процесс разворачивался: файлы извлекались из архива и открывались в клиенте. Эти отдельные шаги обычно автоматизированы, то есть пользователю нужно было лишь запустить программу двери на BBS, дождаться завершения загрузки и затем запустить клиент. Все промежуточные этапы были автоматизированы. Изначально QWK не поддерживал загрузку ответов, но эта функция была быстро добавлена с ростом популярности QWK. QWK помещал ответы в файл (также обычно с именем, содержащим "id" BBS), который автоматически обменивался при следующем подключении пользователя. Клиенты QWK значительно различались по функциональности, но все они обеспечивали базовую поддержку электронной почты и публичных форумов. До появления QWK и подобных систем пользователи с большим объемом сообщений часто настраивали собственный узел FidoNet для быстрого получения почты, но QWK значительно упростил настройку и увеличил число пользователей офлайн-почты.
Архитектура
Поскольку QWK изначально был разработан для работы с PCBoard, система сохраняет многие особенности структуры PCBoard для файлов сообщений и форумов. Например, QWK использует один файл для хранения сообщений, а другой – для индексации их заголовков. По сути, QWK представлял собой способ извлекать сообщения из внутренних файлов PCBoard и переупаковывать их в единый файл. Позже QWK был модифицирован для включения расширенных полей, которые преодолевали исходные ограничения PCBoard. Новый формат, известный как Extended QWK, но записываемый как QWKE (произносится как "квик-и"), добавил серию "костыльных" строк после строки заголовка сообщения, позволяющих использовать текст в произвольной форме. Например, если заголовок "ТЕМА" превышал 25 символов, он обрезался до 25 символов в заголовке и затем повторялся в полном виде в теле сообщения. Программное обеспечение для чтения QWKE распознавало эти "костыльные" поля и отображало их в заголовке, а неподдерживающее программное обеспечение просто оставляло текст в теле сообщения. Кроме того, были внесены незначительные изменения, включающие небольшие информационные пакеты, передаваемые между BBS и пользователем.