Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • S Snowflake
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 72
    • Issues 72
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 4
    • Merge requests 4
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • 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
  • Anti-censorship
  • Pluggable Transports
  • Snowflake
  • Issues
  • #40080
Closed
Open
Created Nov 15, 2021 by Vinícius Zavam@egypcio

Document Snowflake's FreeBSD Package/Port

we just introduced Snowflake to the FreeBSD's ports tree:

  • https://cgit.freebsd.org/ports/commit/?id=057c0c3c0645c0b237bb2a96dda440e0426ca983

today version v2.0.1 was ported to the ports collection, used to build official packages for FreeBSD. now we should have official packages available to install Snowflake ]=)

there are 3 different binaries shipping with its package:

snowflake
snowflake-client
snowflake-proxy

FreeBSD uses pkg as its official/main packages manager. it provides an interface for manipulating packages: registering, adding, removing and upgrading packages. after installing a package, we can be presented a message containing few notes about a particular software.

we worked out to present intuitive instructions to setup following scenarios:

  • standalone proxy;
  • client transport plugin,
  • server transport plugin.

besides Snowflake's source code and its documentations, the following material was used to build the port:

tpo/core/tor#21453 (closed)

tpo/core/tor#24203 (closed)

on top of that, the Snowflake Bridge Survival Guide was also pretty handy

by running the standalone proxy on FreeBSD, this would be an output of its log file:

2021/11/14 21:50:20 starting
ice ERROR: 2021/11/14 21:50:20 Failed to enable mDNS, continuing in mDNS disabled mode: (listen udp4 224.0.0.0:5353: bind: address already in use)
2021/11/14 21:50:20 WebRTC: Created offer
2021/11/14 21:50:20 WebRTC: Set local description
2021/11/14 21:50:22 Offer: {" ~scrubbed~ "}
2021/11/14 21:50:54 NAT type: restricted
ice ERROR: 2021/11/14 21:53:37 Failed to enable mDNS, continuing in mDNS disabled mode: (listen udp4 224.0.0.0:5353: bind: address already in use)
2021/11/14 21:53:37 sdp offer successfully received.
2021/11/14 21:53:37 Generating answer...
2021/11/14 21:53:38 OnDataChannel
2021/11/14 21:53:38 Connection successful.
2021/11/14 21:53:38 OnOpen channel
2021/11/14 21:53:39 connected to relay
2021/11/14 21:54:22 OnClose channel
2021/11/14 21:54:22 Traffic throughput (up|down): 574 KB|67 KB -- (249 OnMessages, 575 Sends, over 43 seconds)
2021/11/14 21:54:22 copy loop ended
2021/11/14 21:54:22 datachannelHandler ends

there will be packages for different versions and architectures available. should anyone wants to test it right away (once the package is available):

# pkg update -f
# pkg install -U snowflake-tor
# service snowflake onestart
Edited Nov 16, 2021 by Gaba
Assignee
Assign to
Time tracking