[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [tor-bugs] #29489 [Obfuscation/Snowflake]: Set up automated local testing environment for Snowflake
#29489: Set up automated local testing environment for Snowflake
-----------------------------------+---------------------------
Reporter: cohosh | Owner: cohosh
Type: task | Status: assigned
Priority: Medium | Milestone:
Component: Obfuscation/Snowflake | Version:
Severity: Normal | Resolution:
Keywords: | Actual Points:
Parent ID: | Points:
Reviewer: | Sponsor: Sponsor19
-----------------------------------+---------------------------
Comment (by cohosh):
I have a minimal test environment here now:
https://github.com/cohosh/snowbox
Right now I'm trying out running everything in the same docker container.
This eases set up: the only dependency will be to have docker installed
and the Snowflake source code cloned locally and mounted to the container
using
{{{
docker run -p 8080:8080 -it -v ${SNOWFLAKE_REPO}:/go/src/snowflake.git
snowbox /bin/bash
}}}
This seems a better route than copying the repo locally as it can be built
once in the container and reused without needing to be rebuilt if the
container is restarted.
Right now there is a bash script called script.sh that must be run inside
the docker container that builds and runs parts of Snowflake. So far I am
disabling TLS for these local tests and passing in the local broker and
Snowflake proxy URLs through command line arguments.
The broker is run using: {{{./broker -addr ":8080" -disable-tls}}} and
port 8080 is exposed so that localhost:8080/debug can be accessed from the
host machine.
The proxy-go instance is run using {{{./proxy-go -broker
"http://localhost:8080" -relay "wss://localhost"}}} to point to the
broker.
The next steps are:
- Get a local bridge (snowflake server) running and the corresponding
torrc files configured to actually send client traffic through the local
environment
- See if we can run each component using the same methods as the
production enviornment. Right now I'm just using nohup, but the proxy-go
instances are managed using runit in production.
- Reproduce the proxy-go deadlocking bug #25688
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/29489#comment:2>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs