서비스 디렉토리

Proposal 102
거부됨
Author zzz
Created 2009-01-01
Last Updated 2009-01-06
Superceded by: 122

개요

이 제안서는 앱이 디렉토리에서 서비스를 등록하고 조회할 수 있는 프로토콜에 관한 것입니다.

동기

onioncat을 지원하는 가장 직관적인 방법은 서비스 디렉토리를 이용하는 것입니다.

이것은 Sponge가 한동안 IRC에서 제안했던 것과 유사합니다. 그는 이를 문서로 작성하진 않았지만, netDb에 넣으려는 생각이었습니다. 저는 그것을 선호하진 않지만, 디렉토리에 접근하는 가장 좋은 방법에 대한 논의(netDb 조회, DNS-over-i2p, HTTP, hosts.txt 등)는 다음으로 미루겠습니다.

HTTP와 제가 추가 키 형식에 사용하는 perl 스크립트 컬렉션을 사용하여 이 작업을 상당히 빠르게 구현할 수 있을 것 같습니다.

사양

앱이 디렉토리와 상호작용하는 방법은 다음과 같습니다:

REGISTER

  • DestKey

  • 프로토콜/서비스 쌍의 목록:

    • 프로토콜 (선택 사항, 기본값: HTTP)
    • 서비스 (선택 사항, 기본값: 웹사이트)
    • ID (선택 사항, 기본값: 없음)
  • 호스트 이름 (선택 사항)

  • 만료 (기본값: 1일? 0은 삭제)

  • Sig (대상을 위한 privkey를 사용)

반환: 성공 또는 실패

업데이트 허용됨

LOOKUP

  • 해시 또는 키 (선택 사항). 다음 중 하나:

    • 80비트 부분 해시
    • 256비트 전체 해시
    • 전체 destkey
  • 프로토콜/서비스 쌍 (선택 사항)

반환: 성공, 실패, 또는 (80비트의 경우) 충돌. 성공 시, 위의 서명된 설명을 반환.