Skip to content

Releases: Jigsaw-Code/outline-sdk

x/v0.0.5 - Tools Folder

01 Aug 14:11
1a43b91
Compare
Choose a tag to compare

In this release we moved the command line tools from x/examples to x/tools, to better clarify they are tools for people to use, not just examples.

Our README has a list of the command line tools and how to use them.

This is a breaking change. Where before you would use:

$ go run github.com/Jigsaw-Code/outline-sdk/x/examples/resolve@latest -type A -transport "tls" -resolver 8.8.8.8:853 -tcp getoutline.org.

You now have to use:

$ go run github.com/Jigsaw-Code/outline-sdk/x/tools/resolve@latest -type A -transport "tls" -resolver 8.8.8.8:853 -tcp getoutline.org.

Note the path difference.

If you are using the tools in scripts, we recommend pinning to a specific version. For example:

$ go run github.com/Jigsaw-Code/outline-sdk/x/tools/[email protected] -type A -transport "tls" -resolver 8.8.8.8:853 -tcp getoutline.org.

x/v0.0.4 - HTTP/2 and HTTP/3 Support for CONNECT Client and more

21 Jul 18:44
2d0cb83
Compare
Choose a tag to compare

New Features

  • HTTP/2 and HTTP/3 Support for CONNECT Client: package x/httpconnect now supports HTTP/2 and HTTP/3, enabling more efficient and modern communication protocols for improved performance and reliability. Thanks @nikolaikabanenkov!

  • Strategy Result Caching on Mobile Proxy: To significantly speed up connection times on app lifecycle events, we've introduced caching for strategy results in the StrategyFinder. This means that once a successful connection strategy is found, it can be quickly reused for subsequent connections. This feature has also been integrated into the smart-proxy and app maker.

  • New Measurement Tool: A new measure tool has been added to the x module. This utility allows developers to test and measure the performance of different connection paths as shown on this Measure Website Censorship notebook.

  • Build Task for mobileproxy: A new Taskfile has been added to streamline the build process for mobileproxy, making development and deployment simpler.

Full Changelog: x/v0.0.3...x/v0.0.4

v0.0.20 [BREAKING] Extensible TLS Config

23 Apr 21:31
a1a7bff
Compare
Choose a tag to compare

We've revamped our TLS config in this release to offer a more robust and understandable approach to certificate validation.

Recognizing the limitations of numerous, potentially conflicting configuration options with unclear interactions, we introduced a way to inject custom certificate verifiers. This design promotes clarity, avoids conflicting settings, and allows for more flexible and scenario-specific certificate validation logic.

BREAKING CHANGE: If you used tls.Config.CertificateName, you will need to migrate to setting tls.Config.CertVerifier with a tls.StandardCertVerifier with the certificate name you need. That now supports overriding the Root CAs, which was not possible before.

What's Changed

  • feat: enable TLS cert verification extensions by @fortuna in #425

Full Changelog: v0.0.19...v0.0.20

x/v0.0.3 Psiphon fallback proxy support and MobileProxy improvements

24 Apr 09:21
2549281
Compare
Choose a tag to compare

We're pleased to announce the release v0.0.3 of the Outline SDK x module.

This release introduces support for using Psiphon as a fallback proxy in Mobile Proxy. You need to acquire a suitable configuration directly with the Psiphon team for it to work. You can find the config details in the Smart Dialer documentation.

This release also introduces major usability improvements to the Web Wrapper, including a doctor script to help users diagnose dependency problems.

Uses Outline SDK main module v0.0.20

What's Changed

Psiphon fallback support:

  • chore(x): updating psiphon dep by @ohnorobo in #391
  • chore(x) switch yaml lib from yaml.v3 to go-yaml by @ohnorobo in #397
  • feat(x): Parse psiphon config format as part of smart-proxy by @ohnorobo in #394
  • feat(x) explicit timeout in psiphon-fetch start by @ohnorobo in #402
  • feat(x) vary getPsiphonDialer implementation depending on build tag by @ohnorobo in #406
  • bug(x) fix psiphon wrapper context by @ohnorobo in #427
  • feat(x) create the psiphon dialer in smart-proxy by @ohnorobo in #404

Web wrapper improvements:

Misc updates:

  • chore(x): update x with main module v0.0.20 by @fortuna in #433
  • update readme instructions by @ohnorobo in #392
  • bug(x) don't attempt to fallback when there are no fallbacks by @ohnorobo in #412

Full Changelog: x/v0.0.2...x/v0.0.3

v0.0.19 Bug fix in the network package

18 Mar 13:53
f0d09d1
Compare
Choose a tag to compare

What's Changed

  • Fixed double mutex acquisition deadlock when recreating UDP session by @alamar in #372

New Contributors

Full Changelog: v0.0.18...v0.0.19

x/v0.0.2 Proxy fallback support added to Mobile Proxy

18 Mar 14:21
9c6695d
Compare
Choose a tag to compare

We're pleased to announce the release v0.0.2 of the Outline SDK x module. This release introduces a significant enhancement for integrators: built-in proxy fallback support within the Mobile Proxy.

This highly requested feature simplifies integration for partners using the Outline SDK. Previously, implementing proxy fallback required duplicated effort in application code for both Android and iOS. With this release, the SDK now handles this logic directly, streamlining development and improving reliability.

You can find the config details in the Smart Dialer documentation.

Uses Outline SDK main module v0.0.19

What's Changed

Features:

Bug Fixes:

Documentation:

  • doc(x): Improve configurl documentation by @fortuna in #379
  • docs(x): update smartproxy readme to yaml format by @ohnorobo in #381

New Contributors

Full Changelog: x/v0.0.1...x/v0.0.2

x/v0.0.1 Initial x/ release

19 Feb 05:30
ac94820
Compare
Choose a tag to compare

This release starts the versioning the x module, providing some key benefits:

  • Makes it clearer what version of the code we are talking about.
  • Helps customers pull the right version
  • Allows us to properly communicate new features and changes to the API
  • Enables a better Go doc experience, since you can navigate the versions.

Note that we are using version 0, which means APIs may change. We will try to minimize breakage and communicate when that happens.

v0.0.18 Salt Generator support for Shadowsocks Packet Listener

04 Feb 15:17
93ebcb0
Compare
Choose a tag to compare

This release adds support for Salt Generators in the Shadowsocks Packet Listeners, allowing one to use prefixes with UDP.

What's Changed

  • fix: try base64 legacy decoding for maximum compatibility by @amircybersec in #298
  • add packetConn constructor for re-use in outline-ss-server by @sbruens in #300
  • feat: add SaltGenerator to Shadowsocks PacketListener by @fortuna in #370

Full Changelog: v0.0.17...v0.0.18

v0.0.17 SOCKS5 UDP Client support

20 Sep 22:00
f65586c
Compare
Choose a tag to compare

We're excited to announce that our SOCKS5 client library now supports UDP! You can now utilize SOCKS5 proxies to measure the performance of DNS, QUIC, and other UDP-based protocols, which was only possible over Shadowsocks before. This will open up the possibilities for remote testing.

This improvement (#257) was made possible thanks to the valuable contributions of @amircybersec as part of his OTF ICFP Fellowship.

Full Changelog: v0.0.16...v0.0.17

v0.0.16 Bug fix and TLS Record Fragmentation optimization

08 May 17:00
2e2d2af
Compare
Choose a tag to compare

This is a minor release that fixes an important bug in the duplexConn.ReadFrom. Please upgrade.

If also introduces an optimized version of the TLS Record Fragmentation writer

What's Changed

  • feat: add tlsfrag.RecordLenFuncWriter without waiting for the entire record by @jyyi1 in #207
  • fix: duplexConn ReadFrom and connect handler initial data coalescing by @fortuna in #229

Full Changelog: v0.0.15...v0.0.16