Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
Trac
Trac
  • Project overview
    • Project overview
    • Details
    • Activity
  • Issues 246
    • Issues 246
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Operations
    • Operations
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar

GitLab is used only for code review, issue tracking and project management. Canonical locations for source code are still https://gitweb.torproject.org/ https://git.torproject.org/ and git-rw.torproject.org.

  • Legacy
  • TracTrac
  • Issues
  • #32262

Closed (moved)
Open
Opened Oct 24, 2019 by Iain Learmonth@irl

MS: Implement an ExitSpider class

The ExitSpider class defines a new type of PATHspider plugin that connects to the specified host in the job via the specified exit relay.

This class needs to contain a controller instance, and maintain a table of outbound connections to circuits. You can synchronously use the controller as part of connect, stick the destination into the table, make the connection via socks synchronously with libcurl while the controller async attaches the stream to the circuit you built earlier.

There needs to be retry logic, with retries counted and perhaps also detailed recording of the error conditions.

There may also need to be some thread safety thinking done about the stem functions that communicate with the controller.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: legacy/trac#32262