Help with snowflake docker container setup

We have installed a snowflake proxy on a standalone server using docker-compose as per the instructions on the tor website (Tor Project | Standalone Snowflake proxy).
Our docker-compose.yl looks like the attached screenshot. We have added command:[“-capacity”, “300”] to limit clients to 300

We can rightfully check that the snowflake-proxy container is running by using “docker-compose ps” (check attached screenshot)

Two questions:
1- Is it normal for PORTS to be empty under the output of the docker-compose ps command
2- We can’t seem to read the logs at all. we have tried both the following commands:

  • docker-compose logs snowflake-proxy
  • docker logs snowflake-proxy
    Both commands do not return anything.
    When we check the server traffic graphs, nothing seems to be happening.
    3- What is the right way to include two custom options in the yml file , like limiting clients to 300 and specifying desired filename for the logs. would it be
    command: [“-capacity” , “300” , “-log” , “snowflake-proxy.log”]
    Using two separate command lines in the yml file, seems to force docker to only use the last line and discard the first one.

Appreciate the help.

Followup: We have rebuilt the docker container (after removing it) , and now docker-compose logs snowflake-proxy spits out the following error:

ortc ERROR: 2022/09/26 18:07:42 Failed to accept data channel: failed to send ChannelOpen ACK: sending payload data in non-established state: state=Closed

We would appreciate any feedback on this error as well.

Thanks

Quick update:

Despite the error, the proxy seems to be working. This is the latest log entry for the proxy:

snowflake-proxy | 2022-09-26T18:38:38.664317851Z 2022/09/26 18:38:38 In the last 1h0m0s, there were 105 connections. Traffic Relayed ↑ 175 MB, ↓ 95 MB

Hope this post helps anyone else looking to setup a proxy

2 Likes

5 posts were split to a new topic: Snoflake standalone proxy: NAT behaviour

Thank you for running a Snowflake proxy!

Two questions:
1- Is it normal for PORTS to be empty under the output of the docker-compose ps command

Yes this is normal, the PORTS field in this table is referring to the ports published by the container to the host operating system. By default, the snowflake proxy container uses the host network directly and so doesn’t need this feature at all. But even more relevant, Snowflake proxies are designed to work behind NATs so there is no need to specifically expose ports to the outside at all.

2- We can’t seem to read the logs at all. we have tried both the following commands:

It seems you figured it out below, the proxy should run with the -verbose command. We have an open issue to change how logging verbosity works because we’ve had a lot of feedback on this: Change snowflake proxy log verbosity (#40183) · Issues · The Tor Project / Anti-censorship / Pluggable Transports / Snowflake · GitLab

3 Likes

ortc ERROR: 2022/09/26 18:07:42 Failed to accept data channel: failed to send ChannelOpen ACK: sending payload data in non-established state: state=Closed

This error is safe to ignore: I’m not sure of the direct cause, but it only corresponds to one proxy connection and does not indicate a problem with the proxy as a whole. Not all proxies are compatible with all clients, this could be a side effect of that.

1 Like

This topic was automatically closed 5 hours after the last reply. New replies are no longer allowed.