Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Onionbalance Onionbalance
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 6
    • Issues 6
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • The Tor Project
  • Core
  • OnionbalanceOnionbalance
  • Issues
  • #7
Closed
Open
Created Jul 29, 2021 by George Kadianakis@asn

v3: Support distinct descriptor mode

Onionbalance for v3 onions does not support distinct descriptor mode right now, which means that it's currently restricted to a limit of 8 backend instances.

Here is how distinct descriptor mode should work:

Onionbalance should accept any number of backend instances.
Onionbalance should calculate how many HS descriptors are needed to fit those backend instances (let's say N subdescriptors are needed)
Onionbalance should calculate a descriptor publish schedule so that all those N subdescriptors are published at regular intervals.
Onionbalance should continue updating and re-uploading its subdescriptors as normal.

There are other possible shortcuts and optimizations that we could take but this is the basic logic here. Also, note that it's important the subdescriptors are published with optimal gaps between them so that clients will have an equal chance of reaching each backend instance.

(Moved from https://github.com/asn-d6/onionbalance/issues/11)

Assignee
Assign to
Time tracking