Opened 5 months ago

Last modified 4 months ago

#22874 assigned project

Standalone broker (independent of App Engine)

Reported by: dcf Owned by: cmm32
Priority: High Milestone:
Component: Obfuscation/Snowflake Version:
Severity: Normal Keywords:
Cc: arlolra, serene, cmm32 Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

Currently the broker code is implemented only for App Engine; i.e. it doesn't have a main function and relies on being invoked using the App Engine APIs.

Instead, the broker should run as a standalone HTTPS server somewhere, and App Engine should only be a dumb request/response forwarder (we can steal the forwarder code from meek). That will make it possible to easily add domain fronts other than Google (#22782), and any secret data we handle on the broker won't have to be revealed to Google.

Child Tickets

Change History (6)

comment:1 in reply to:  description Changed 5 months ago by cmm32

Owner: set to cmm32
Status: newassigned

Replying to dcf:

Currently the broker code is implemented only for App Engine; i.e. it doesn't have a main function and relies on being invoked using the App Engine APIs.

Instead, the broker should run as a standalone HTTPS server somewhere, and App Engine should only be a dumb request/response forwarder (we can steal the forwarder code from meek). That will make it possible to easily add domain fronts other than Google (#22782), and any secret data we handle on the broker won't have to be revealed to Google.

comment:2 Changed 4 months ago by dcf

Priority: MediumHigh

comment:3 Changed 4 months ago by dcf

Hooman has been working on this and I pushed their changes to a standalone-broker branch:

https://gitweb.torproject.org/user/dcf/snowflake.git/log/?h=standalone-broker&id=3f4f5d2292416dc7aeb6d091c174e20d779fe947

comment:4 Changed 4 months ago by dcf

Keywords: arlolra serene cmm32 added

comment:5 Changed 4 months ago by dcf

Cc: arlolra serene cmm32 added
Keywords: arlolra serene cmm32 removed

comment:6 Changed 4 months ago by dcf

I merged the standalone-broker branch in 36debdfdd2.

There's a standalone broker running at https://snowflake-broker.bamsoftware.com/.

I think now we just need https://snowflake-reg.appspot.com/ to upload the code from appengine so that clients start communicating with the standalone broker.

Note: See TracTickets for help on using tickets.