trojan-gfw/trojan
An unidentifiable mechanism that helps you bypass GFW.
30 Releases
Latest: 6y ago
Trojan 1.16.0v1.16.0Latest
📋 Changelog
- Added client verification to MySQL SSL connection.
- Added a log callback.
- Bug fixes and general improvements.
trojan 1.15.1v1.15.1
📋 Changelog
- Fixed a bug that causes trojan to crash when a DNS query succeeds but there is no A or AAAA record related to it.
- Fixed CI to deploy trojan to macOS 10.13 (#352).
- Change systemd service restart interval to 1s.
trojan 1.15.0v1.15.0
📋 Changelog
- Added ALPN port override functionality (#349).
- Added SSL support for MySQL connections (#281).
- Added a script to download server certificates.
- Use higher level functions (`EVP`) to calculate SHA224 (#244).
- Added Dockerfile.
trojan 1.14.1v1.14.1
📋 Changelog
- Updated client and server example ciphers.
- Client ciphers are taken from Firefox 71.0.
- Server ciphers are taken from https://ssl-config.mozilla.org/ intermediate settings.
- Added restart on failure to systemd service example.
- Fixed GNU/Hurd compilation issues.
- Bug fixes and general improvements.
trojan 1.14.0v1.14.0
📋 Changelog
- Added macOS keychain support.
- Added `TCP_REUSEPORT` support.
- Added TLS1.3 ciphersuites support.
- Trojan will now crash on incorrect `run_type` in the config file.
trojan 1.13.0v1.13.0
📋 Changelog
- Added a new `run_type` `nat`.
- Added DNS resolution log.
- Moved CI to Azure Pipelines.
- Added issue templates.
trojan 1.12.3v1.12.3
📋 Changelog
- Fixed a bug that might block trojan service forever.
- Log incorrect password at server side.
- Add support for newer versions of `MySQL`.
- Update docs.
trojan 1.12.2v1.12.2
📋 Changelog
- Data received by aborted read should not be processed.
- Removed `append_payload` option.
Emergency Update: trojan 1.12.1v1.12.1
📋 Changelog
- Fixed a serious memory bug.
- `boost::asio::async_write` doesn't copy the data in the buffer, so the
- underlying data have to remain available until the callback is called.
- Remove UDP rate limit since the memory bug is fixed.
- Fixed incorrect `recv_len` and `sent_len` when responding with plain HTTP.
- Updated Boost dependency to 1.66.0 and remove deprecated functions and classes since then.
trojan 1.12.0v1.12.0
📋 Changelog
- Fix a type error in MinGW (#85).
- Fix a bug that crashes trojan due to local firewall policies or conntrack rate limits.
- Avoid race conditions when receiving signals.
- Add a signal handler for `SIGUSR1` for graceful certificate and private key reloading.
- Make it possible to listen on a hostname.
- Fix an ambiguity in the documentation (#83).
- Add `network-online.target` and `nss-lookup.target` to systemd service.
trojan 1.11.0v1.11.0
📋 Changelog
- Add UDP forwarding in `forward` mode (#81).
- Fix termux build issue (#82).
trojan 1.10.1v1.10.1
📋 Changelog
- Fix fd leak (#60).
- Gracefully handle too many open files (#60).
- Fix a bug that causes trojan to crash if the connection is terminated before a session is established.
- Cancel async tasks when stopping the service.
- Change some fatal level logs to warn (#59).
- Log received signal number.
- Add android log facility.
- Refer to `basic_stream_socket` instead of `basic_socket` in SSL sockets.
- + 1 more
trojan 1.10.0v1.10.0
📋 Changelog
- Add `prefer_ipv4` to server (#18).
- Harden systemd service (#56).
- Run trojan as user and group `nobody` instead of root for security reasons.
- To avoid the problem of not being able to bind to low ports, add `CAP_NET_BIND_SERVICE` capability.
- Add `CONTRIBUTORS.md`.
- Update copyright info.
- Fix a typo in the documentation.
trojan 1.9.0v1.9.0
📋 Changelog
- Add support for OpenSSL 1.1.1 KeyLog file (optional).
- Add `FORCE_TCP_FASTOPEN` build option.
- Show downloads in documentations.
📦 SHA224
- trojan-1.9.0-linux-amd64.tar.xz
- ```
- 0d4c7aaf4f14cecf878a471a12612812c0b628c48468e149f361eeab
- ```
- trojan-1.9.0-macos.zip
- ```
- 0c555e1e2e654a5448ed806fb207612290340bcc4f98c524ff764d4c
- ```
- + 4 more
trojan 1.8.1v1.8.1
📋 Changelog
- The default config location in *NIX is now where it is installed.
- Refine log
- Add addresses and ports to server error message
- Add connection initiation message to forward log
- Add Documentation field to systemd service file
📦 SHA224
- trojan-1.8.1-linux-amd64.tar.xz
- ```
- f10853b9b7d503ae8348a6034d1454c7b3a1d9cfd580eea152f12385
- ```
- trojan-1.8.1-macos.zip
- ```
- 440421fbd036650c5adcb7747ce92e77dbe7a0939472822dcae0bc49
- ```
- + 4 more
trojan 1.8.0v1.8.0
📋 Changelog
- Add support for OpenSSL 1.1.1 and TLS 1.3 session resumption while maintaining backward compatibility
- Add `session_ticket` to toggle TLS session tickets, which defaults to `false`
- Add a server functionality to respond to plain HTTP requests
- An empty `sni` field now defaults to `remote_addr` to simplify configuration
- Show error and exit when log redirection fails
- Show library versions in `--version`
- Bug fixes and general improvements
📦 SHA224
- trojan-1.8.0-linux-amd64.tar.xz
- ```
- b69f7a603059642e72d16192f7a39ad9ed8e2e8c3f17b33a6a63a743
- ```
- trojan-1.8.0-macos.zip
- ```
- 15a917e23f495707be28bfbb987f7a9be6d40f5eac9c3e27782b2665
- ```
- + 4 more
trojan 1.7.0v1.7.0
📋 Changelog
- Add command line options
- Add config file testing
- Add log redirection
- Print out log level
- Add test for `forward`
- Add Appveyor CI
- Add experimental [shadowsocks SIP003](https://shadowsocks.org/en/spec/Plugin.html) support (#8)
- Remove deprecated function in OpenSSL 1.1.x (#42)
📦 SHA224
- trojan-1.7.0-linux-amd64.tar.xz
- ```
- 886aca31a8479afe8735a669f69a954283b1d01fe45e8281137aa30d
- ```
- trojan-1.7.0-macos.zip
- ```
- 6a122d356ae1f9ed8eca7cf8cc9ce672796ff45168c7afc1447433fb
- ```
- + 4 more
trojan 1.6.0v1.6.0
📋 Changelog
- Add `forward` mode, which acts as static port forwarding
- Modify default configs
- Remove `sigalgs` to adapt to libressl
- Change default ciphers (#41)
- `server` to Mozilla's modern
- `client` to Chromium 68
- Change default values
- `session_timeout` to `600`
- + 3 more
📦 SHA224
- trojan-1.6.0-linux-amd64.tar.xz
- ```
- 089f2469498f8301a002d4efa6517a48f34107e93000d6be88b6dd67
- ```
- trojan-1.6.0-macos.zip
- ```
- d711af720e1d81370cf432aaf78092ab82803db6fe9a09d8a39b0ac9
- ```
- + 4 more
trojan 1.5.3v1.5.3
📋 Changelog
- MySQL support is now toggle-able at compile time
- Add support for MSVC
- Refine documentations
📦 SHA224
- trojan-1.5.3-linux-amd64.tar.xz
- ```
- e29a7f3fca796f18726348f18204a790b32f38acfab1ece4da6030a1
- ```
- trojan-1.5.3-macos.zip
- ```
- f724313c494ea115e9e11492718a547ccc6c3761bdc1de3e7937ae04
- ```
- + 4 more
trojan 1.5.2v1.5.2
📋 Changelog
- Use Python3 instead of Python2 to test
- Refine documentation and example installation
📦 SHA224
- trojan-1.5.2-linux-amd64.tar.xz
- ```
- 704b267530755d823da31243c89c98af0eb81beb21b67d955a49e91a
- ```
- trojan-1.5.2-macos.zip
- ```
- 349a647a1dd0203bfdff6143b4aabb6d2ab046436946b2a4517a14f0
- ```
- + 4 more
trojan 1.5.1v1.5.1
📋 Changelog
- Add man page (ready for Debian packaging)
- Modify systemd unit so that different implementations of mysql server are supported
📦 SHA224
- trojan-1.5.1-linux-amd64.tar.xz
- ```
- 278d4494e6bf725adaebd212950ed1657d705071fea622fc70829a02
- ```
- trojan-1.5.1-macos.zip
- ```
- 738aea4c5170d69fffec850d2ab5c8ca96c68a49c67c87a92a60dc1f
- ```
- + 4 more
trojan 1.5.0v1.5.0
📋 Changelog
- Add advanced user management through MySQL
📦 SHA224
- trojan-1.5.0-macos.zip
- ```
- a713eeab8edf00714731016a191c32fa3a7c6372125d41fddf021a92
- ```
- trojan-1.5.0-win.zip
- ```
- 42437bc7a2f93d8c50662534209de8738997c14bee66d492b0db7620
- ```
trojan 1.4.4v1.4.4
📋 Changelog
- Fix a bug that trojan server crashes on receiving UDP packet with hostname
- Make Travis-CI use Ubuntu Xenial to compile trojan
- Add `Wants=network.target` to systemd service
- Add build guide for Debian users to docs
📦 SHA224
- trojan-1.4.4-macos.zip
- ```
- 60b541ae31acaf117c5d260fdbe274ad294d947779267300b160923e
- ```
- trojan-1.4.4-win.zip
- ```
- a8670862ce9e0ff5a05e86096415e9f0e32797a83475d9d94c7d6456
- ```
trojan 1.4.3v1.4.3
📋 Changelog
- Refine config installation
- Refine systemd service to support multiple config files
📦 SHA224
- trojan-1.4.3-macos.zip
- ```
- d423398fdd98d60fb421f44d7dcd125a4aeb16071be890b7a7d54453
- ```
- trojan-1.4.3-win.zip
- ```
- 4b14f3b37a833b8dccd60eccee1fdf7c0aabf2d9fb0c3cee7ef86f0c
- ```
trojan 1.4.2v1.4.2
📋 Changelog
- Refine config installation
- Slightly reduce compile time
📦 SHA224
- trojan-1.4.2-macos.zip
- ```
- 99b443a6cb1f8b37aab9f707a2430b060eb56c279a3a5bfe68323482
- ```
- trojan-1.4.2-win.zip
- ```
- b6451f5c36da3b2d1c412a62e7253db618d96f1c17e74534f6ad2807
- ```
trojan 1.4.1v1.4.1
📋 Changelog
- Refine CMakeLists
📦 SHA224
- trojan-1.4.1-macos.zip
- ```
- 855cba208259f78398c5acf77dbe38b5ff0a8f5ebf4118feb29c6ffb
- ```
- trojan-1.4.1-win.zip
- ```
- 57d8638306269f00d7de5c2c1a58d43169dc0a437ab30e5635486489
- ```
trojan 1.4.0v1.4.0
📋 Changelog
- Add TCP features
- TCP Keep Alive
- TCP No Delay
- TCP Fast Open (kernel support required)
- Optimize config installation
- Bug fixes and general improvements
📦 SHA224
- trojan-1.4.0-macos.zip
- ```
- 730cfc9fbb7cb7355a92fe645cb7f21cb994b7855a8a993a4cd70824
- ```
- trojan-1.4.0-win.zip
- ```
- b33ad8acaf15c210348c948988237926b88bfc5afda730a85c634cf4
- ```
trojan 1.3.0v1.3.0
📋 Changelog
- Load Windows system CA store
- Refined compile options
- Refined documentations
📦 SHA224
- trojan-1.3.0-macos.zip
- ```
- fc394e5943296c6cb718c06f34b278a7c363ebbff1170d90a25bdc15
- ```
- trojan-1.3.0-win.zip
- ```
- a4ead05fd21f4d531e165dd8144983e1730e5289737d17e02cb52bc3
- ```
trojan 1.2.0v1.2.0
📋 Changelog
- Added a switch in CMake to control systemd service.
- Added partial chain verification (#29).
- Refined documentations.
📦 SHA224
- trojan-1.2.0-macos.zip
- ```
- ca10e83983473898674d170ea8a8319710e63da1f01d1415dfd49779
- ```
- trojan-1.2.0-win.zip
- ```
- 0d2476797cc390d1eed8edd5beb6c00f6ac9570445fcb2b464d18d29
- ```
trojan 1.1.0v1.1.0
📋 Changelog
- Implemented UDP forwarding
- Added `append_payload` to config as a workaround of a Windows TCP stack bug
- Refined log
- Fix a bug that the listening endpoint printed is not derived from the socket
- Prints detailed information when errors occur
- Prints SSL session reuse status
- Added UDP specific log
- Prints connection stats when disconnected
- + 3 more
📦 SHA224
- trojan-1.1.0-macos.zip
- ```
- 1dbe5a2d290af364633d6d0cb810239b83161ff597c08f2647b24c15
- ```
- trojan-1.1.0-win.zip
- ```
- 6d7e9901ec42056270802e44e3203f8b3061d41910f9c001a0e16fa6
- ```
