Написать сервер
Отдавайте рукопожатие и библиотеку; добавляйте копии сохранений, читы или сопряжение, когда захотите, и объявляйте их в возможностях. Сервер пишется за выходные.
GET /.well-known/lantern
GET /api/lantern/v1/apps?sort=added
Homebrew для Switch
Библиотеки
Открытые данные и протоколы
Lantern — открытый версионируемый договор между homebrew для консолей и серверами библиотек, которые люди держат дома для своих игр: просматривать библиотеку, скачивать с проверкой целостности, хранить копии сохранений и читы.
Текст ещё может измениться до версии 1.0. Замечания приветствуются, особенно от авторов клиентов и серверов.
Lantern начинает с чистого листа: он не совместим ни с одним прежним протоколом, поэтому каждое решение служит безопасности и долговечности.
То, что клиентам до сих пор приходилось угадывать, — чёрным по белому.
Спецификация короткая: немного маршрутов, постоянные формы, простые HTTP и JSON.
Отдавайте рукопожатие и библиотеку; добавляйте копии сохранений, читы или сопряжение, когда захотите, и объявляйте их в возможностях. Сервер пишется за выходные.
GET /.well-known/lantern
GET /api/lantern/v1/apps?sort=added
Найдите серверы в локальной сети, прочитайте их возможности, листайте библиотеку постранично и проверяйте SHA-256 каждой загрузки. Клиент умещается в несколько сотен строк C++.
User-Agent: ExampleClient/0.1
Range: bytes=0-1048575
JSON-схема для каждого документа, пример каждого и описание маршрутов в OpenAPI, чтобы сверять с ними свою реализацию.
В репозитории: набор тестов на соответствие, запускаемый против сервера (conformance/), и небольшой эталонный сервер, который его проходит (server/). Называть себя совместимой с Lantern стоит только реализации, прошедшей этот набор.
Первым клиентом станет PlayShelf — менеджер homebrew-пакетов для Nintendo Switch. PlayShelf
Lantern переносит то, что есть на вашем сервере, между ним и вашей консолью. Он ничего не ищет и ничего не распространяет: это не способ достать игры, а его серверы — для игр, которыми вы владеете.
Вопросы, замечания и предложения — в issues репозитория.
Этот сайт не использует cookie и хранит в вашем браузере только язык, выбранный в его шапке. Он ничего не загружает с других сайтов: его шрифты, изображения и скрипты отдаются вместе с ним.
Посещения считаются с помощью Umami Cloud в Европейском союзе (Франкфурт), без cookie. Для каждой просмотренной страницы: сама страница, страница, с которой вы пришли, ваш браузер, система и тип устройства, размер экрана, ваш язык и страна. IP-адрес используется, чтобы определить страну и отличать посещения друг от друга, и не хранится вместе с ними. Статистика хранится шесть месяцев, используется только для того, чтобы знать, что читают, и никогда не продаётся и не передаётся. Политика Umami: umami.is/privacy.
Кто публикует этот сайт, кто его размещает и как спросить о своих данных: Конфиденциальность и правовая информация
Черновик — время что-то менять. Issue о маршруте, поле или забытом случае поможет всем будущим серверам и клиентам.