Skip to content
Snippets Groups Projects
  1. Nov 21, 2024
    • cyberta's avatar
      Test custom port range in quic hopping integration test. · e6b06efc
      cyberta authored
      The test also proofes that reading the appropriate environment variables work as expected on the server side.
      The obfsvpn client doesn't read environment variables and thus need to be invoked with the corresponding command line flags.
      e6b06efc
  2. Nov 20, 2024
  3. Nov 19, 2024
  4. Nov 10, 2024
    • jkito's avatar
      recreate openvpn listener socket when error is not net.ErrClosed · 1ac52ff1
      jkito authored
      during the running of the client it might happen that there's an
      actual error for which we need to restart the UDP listener where
      openvpn send its traffic, but an error will also be  encountered
      in the copy loop when tearing down the connection, we can filter
      these types of errors by checking if it is a net.ErrClosed error
      type and re-create the UDP listener only when the error is not a
      net.ErrClosed
      1ac52ff1
  5. Nov 07, 2024
  6. Oct 04, 2024
  7. Sep 26, 2024
    • Maxb's avatar
      Add QUIC dialer + listener · 242ec5c6
      Maxb authored
      This adds the option to use QUIC as a replacement dialer+listener for
      our obfs4 connection.
      
      Because we have already implemented this pattern for KCP it was
      relatively straightforward to add QUIC as this "inner transport". That
      is, our network stack looks like:
      
      ┌──────────────┐      ┌──────────────┐
      │OpenVPN client│      │OpenVPN server│
      └──▲───────────┘      └──▲───────────┘
         │                     │
         │ UDP                 │ UDP
      ┌──▼───────────┐      ┌──▼───────────┐
      │obfsvpn client│      │obfsvpn server│
      └──▲───────────┘      └──▲───────────┘
         │                     │
         │                     │
      ┌──▼─────────┐        ┌──▼───────────┐
      │obfs4 dialer│        │obfs4 listener│
      └──▲─────────┘        └───▲──────────┘
         │                      │
         │ obfs4                │ obfs4
       ┌─▼─────────┐  QUIC   ┌──▼──────────┐
       │QUIC dialer├◄───────►│QUIC listener│
       └───────────┘         └─────────────┘
      
      This makes the obfs4 layer and the QUIC layer somewhat duplicative in
      that they're both technically "obfuscation" layers (a censor won't see
      any obfs4 traffic because it's already wrapped in the QUIC layer).
      
      This commit is more of a spike to prove that QUIC can easily be
      swapped/added as a circumvention protocol layer/technique and the next
      work can be refactoring our code such that we can optionally swap the
      obfs4 layer entirely with our QUIC one.
      242ec5c6
  8. Sep 25, 2024
  9. Sep 17, 2024
  10. Sep 03, 2024
    • Maxb's avatar
      Fix shellcheck complaint in integration test script · 7660fc15
      Maxb authored
      7660fc15
    • Maxb's avatar
      Add reconnect integration test · 81ef4ce0
      Maxb authored
      We can easily check that the obfsvpn client will reconnect to our
      obfsvpn host servers by restarting the server docker containers in our
      integration test after the initial successful connection and then
      assuring that they are able to connect again after a reasonable time :)
      81ef4ce0
  11. Aug 30, 2024
  12. Aug 21, 2024
  13. Aug 19, 2024
  14. Aug 16, 2024
  15. Aug 14, 2024
  16. Aug 13, 2024
  17. Aug 05, 2024
  18. Aug 02, 2024
    • Maxb's avatar
      Update KCP library · 8bb2b2c2
      Maxb authored and sgk's avatar sgk committed
      8bb2b2c2
    • Maxb's avatar
      Fix KCP listener config · 90f8dfd7
      Maxb authored and sgk's avatar sgk committed
      We had been creating an empty `l.kcpConfig` struct and then calling
      SetWindowSize, SetNoDelay and SetMTU with empty values (zeros) 🤦
      90f8dfd7
  19. Jul 29, 2024
  20. Jul 27, 2024
  21. Jul 22, 2024
  22. Jul 09, 2024
  23. Jul 07, 2024
  24. Jun 25, 2024
  25. Jun 17, 2024
  26. May 31, 2024
Loading