Files
i2p.www/i2p2www/spec/proposals/102-service-directory.rst

68 lines
1.5 KiB
ReStructuredText

=================
Service Directory
=================
.. meta::
:author: zzz
:created: 2009-01-01
:thread: http://zzz.i2p/topics/180
:lastupdated: 2009-01-06
:status: Rejected
:supercededby: 122
.. contents::
Overview
========
This proposal is for a protocol apps could use to register and look up services
in a directory.
Motivation
==========
The most straightforward way to support onioncat is with a service directory.
This is similar to a proposal Sponge had a while back on IRC. I don't think he
wrote it up, but his idea was to put it in the netDb. I'm not in favor of that,
but the discussion of the best method of accessing the directory (netDb lookups,
DNS-over-i2p, HTTP, hosts.txt, etc.) I will leave for another day.
I could probably hack this up pretty quickly using HTTP and the collection of
perl scripts I use for the add key form.
Specification
=============
Here's how an app would interface with the directory:
REGISTER
- DestKey
- List of Protocol/Service pairs:
- Protocol (optional, default: HTTP)
- Service (optional, default: website)
- ID (optional, default: none)
- Hostname (optional)
- Expiration (default: 1 day? 0 for delete)
- Sig (using privkey for dest)
Returns: success or failure
Updates allowed
LOOKUP
- Hash or key (optional). ONE of:
- 80-bit partial hash
- 256-bit full hash
- full destkey
- Protocol/service pair (optional)
Returns: success, failure, or (for 80-bit) collision.
If success, returns signed descriptor above.