Squashed commit of the following: commit4ff3c5a387Author: Ilia Zhirov <i.zhirov@adguard.com> Date: Fri Mar 13 22:29:18 2026 +0500 Optimize case-insensitive substring search to avoid allocations commit53735f0054Author: Ilia Zhirov <i.zhirov@adguard.com> Date: Fri Mar 13 22:21:46 2026 +0500 Use info instead of warn commit9ced711f58Author: Ilia Zhirov <i.zhirov@adguard.com> Date: Fri Mar 13 22:16:01 2026 +0500 Store credentials_file_path in Settings to avoid double TOML parsing commitab00aa5f80Author: Ilia Zhirov <i.zhirov@adguard.com> Date: Fri Mar 13 22:04:29 2026 +0500 Remove redundant Arc wrapper from credentials field commitbebb0179ebAuthor: Ilia Zhirov <i.zhirov@adguard.com> Date: Fri Mar 13 21:58:43 2026 +0500 Use single RwLock for credentials state commit1ad1e39718Author: Nikita Gorskikh <n.gorskikh@adguard.com> Date: Fri Mar 13 12:07:55 2026 +0000 Applied suggestion commit127eaec26cAuthor: Ilia Zhirov <i.zhirov@adguard.com> Date: Fri Mar 13 14:08:06 2026 +0500 Remove unnecessary log commitb3572ba22eAuthor: Ilia Zhirov <i.zhirov@adguard.com> Date: Wed Mar 11 21:59:24 2026 +0500 Revert "A little cleanup" This reverts commitd61347d407. commitd61347d407Author: Ilia Zhirov <i.zhirov@adguard.com> Date: Wed Mar 11 21:50:23 2026 +0500 A little cleanup commitb04d192fb5Merge:90d8cdf1399bfcAuthor: Ilia Zhirov <i.zhirov@adguard.com> Date: Wed Mar 11 21:48:32 2026 +0500 Merge branch 'master' into TRUST-384-trusttunnel_endpoint-does-not-reload-credentials-on-sighup commit90d8cdf838Author: Ilia Zhirov <i.zhirov@adguard.com> Date: Wed Mar 11 21:16:32 2026 +0500 Test cleanup commitc993cc41f3Author: Ilia Zhirov <i.zhirov@adguard.com> Date: Wed Mar 11 21:04:48 2026 +0500 Update documentation commit93b24fd2cdAuthor: Ilia Zhirov <i.zhirov@adguard.com> Date: Fri Mar 6 22:45:11 2026 +0500 Simplify implementation commit32e471fe98Author: Ilia Zhirov <i.zhirov@adguard.com> Date: Fri Mar 6 20:25:15 2026 +0500 Improve test coverage commitc46e606dfaAuthor: Ilia Zhirov <i.zhirov@adguard.com> Date: Fri Mar 6 20:19:13 2026 +0500 Fix formatting commit56bd3cd389Author: Ilia Zhirov <i.zhirov@adguard.com> Date: Fri Mar 6 20:06:39 2026 +0500 Add credential reload documentation to README commitf623348790Author: Ilia Zhirov <i.zhirov@adguard.com> Date: Fri Mar 6 20:04:44 2026 +0500 Add SIGHUP credential reload feature entry to CHANGELOG commit694fd7bbd8Author: Ilia Zhirov <i.zhirov@adguard.com> Date: Fri Mar 6 20:03:09 2026 +0500 Add credential reload simulation test commite36b0c806dAuthor: Ilia Zhirov <i.zhirov@adguard.com> Date: Fri Mar 6 19:56:28 2026 +0500 Add unit tests for reload_credentials commit4023a8c45cAuthor: Ilia Zhirov <i.zhirov@adguard.com> Date: Fri Mar 6 19:52:40 2026 +0500 Add ExecReload support for credential reload in systemd unit ... and 7 more commits
TrustTunnel Endpoint Binary
A standalone application that allows any user to easily set up their own VPN server.
Configuration
-
Configuration via TOML Files: The VPN endpoint binary utilizes TOML formatted files for configuration. The following files are used:
- Library Settings File: This file contains the configuration of the underlying library and
reflects the
Settingsstruct. - TLS Hosts Settings File: This file defines the TLS hosts that the endpoint can represent to
the client side.
Different types of hosts are available, each serving a specific purpose.
It reflects the
TlsHostsSettingsstruct.
- Library Settings File: This file contains the configuration of the underlying library and
reflects the
-
Additional Configuration Requirements: In addition to the TOML files, two additional items are required for configuration:
- Credentials File: This file contains user authentication data.
- Certificate Files: These files correspond to the TLS hosts defined in the TLS hosts settings.
-
Setup Wizard Tool: A setup wizard tool is provided within the repository, located in a separate directory. This tool simplifies the process of generating the required settings and files mentioned above. Refer to the usage instructions for quick setup instructions.
-
Command Line Configuration: The VPN endpoint binary supports additional configuration options through command line arguments. Users can customize the behavior of the endpoint according to their specific requirements. To view the available options, run the following command in the Terminal:
trusttunnel_endpoint -h
Additional Features
Dynamic Reloading of TLS Host Settings
The endpoint supports dynamic reloading of TLS host settings. When the SIGHUP signal is sent to the endpoint process, it will update and reload the TLS host settings on-the-fly without requiring a restart of the binary.