Skip to content
Snippets Groups Projects
  1. Dec 10, 2021
    • Cecylia Bocovich's avatar
      Update version of DTLS library · 738bd464
      Cecylia Bocovich authored
      Make sure we use a version of the DTLS library that contains the
      following fingerprinting fixes:
      
      Only send supported_groups extension in ClientHello
      Do not include IP addresses as SNI values
      
      These changes have been merged upstream into pion/dtls.
      738bd464
  2. Nov 11, 2021
  3. Oct 04, 2021
    • meskio's avatar
      Use tpo geoip library · 4396d505
      meskio authored
      Now the geoip implmentation has being moved to it's own library to be
      shared between projects.
      4396d505
  4. Jun 23, 2021
  5. Apr 22, 2021
  6. Mar 19, 2021
  7. Jan 25, 2021
    • Cecylia Bocovich's avatar
      Bump version of pion/sdp · 1b29ad7d
      Cecylia Bocovich authored
      Update our dependency on pion/sdp from v2 to v3, to match pion/webrtc
      v3. This requires some changes in how we parse out addresses from ice
      candidates. This will ease tor browser builds of snowflake since we are
      now only relying on one version of pion/sdp instead of two different
      ones.
      1b29ad7d
  8. Jan 12, 2021
  9. Jul 06, 2020
    • Cecylia Bocovich's avatar
      Implement NAT discovery (RFC 5780) at the client · bf924445
      Cecylia Bocovich authored
      Snowflake clients will now attempt NAT discovery using the provided STUN
      servers and report their NAT type to the Snowflake broker for matching.
      The three possibilities for NAT types are:
      - unknown (the client was unable to determine their NAT type),
      - restricted (the client has a restrictive NAT and can only be paired
      with unrestricted NATs)
      - unrestricted (the client can be paired with any other NAT).
      bf924445
  10. Apr 23, 2020
    • David Fifield's avatar
      Turbo Tunnel client and server. · 70126177
      David Fifield authored
      The client opts into turbotunnel mode by sending a magic token at the
      beginning of each WebSocket connection (before sending even the
      ClientID). The token is just a random byte string I generated. The
      server peeks at the token and, if it matches, uses turbotunnel mode.
      Otherwise, it unreads the token and continues in the old
      one-session-per-WebSocket mode.
      70126177
  11. Apr 03, 2020
  12. Mar 17, 2020
  13. Mar 05, 2020
Loading