Обзор
Это предложение касается протокола, который приложения могут использовать для регистрации и поиска услуг в каталоге.
Мотивация
Самый прямолинейный способ поддержки onioncat — через каталог услуг.
Это похоже на предложение, которое Sponge сделал некоторое время назад на IRC. Я не думаю, что он его оформил, но его идея заключалась в том, чтобы разместить его в netDb. Я не сторонник этого, но обсуждение лучшего метода доступа к каталогу (поиски по netDb, DNS-over-i2p, HTTP, hosts.txt и т.д.) я оставлю на другой день.
Я, вероятно, смогу быстро это накодить, используя HTTP и набор perl-скриптов, которые я использую для формы добавления ключа.
Спецификация
Вот как приложение будет взаимодействовать с каталогом:
РЕГИСТРАЦИЯ
DestKey
Список пар Протокол/Услуга:
- Протокол (необязательно, по умолчанию: HTTP)
- Услуга (необязательно, по умолчанию: сайт)
- ID (необязательно, по умолчанию: нет)
Имя хоста (необязательно)
Срок действия (по умолчанию: 1 день? 0 для удаления)
Подпись (используя privkey для dest)
Возвращает: успех или неудача
Обновления разрешены
ПОИСК
Хеш или ключ (необязательно). ОДНО из:
- 80-битный частичный хеш
- 256-битный полный хеш
- полный destkey
Пара протокол/услуга (необязательно)
Возвращает: успех, неудача или (для 80-бит) коллизия. В случае успеха возвращает подписанный дескриптор выше.