@@ -20,15 +20,19 @@ public class DnscryptProxyConfiguration : PropertyChangedBase
2020 private bool _require_dnssec ;
2121 private bool _require_nolog ;
2222 private bool _force_tcp ;
23+ private string _http_proxy ;
2324 private int _timeout ;
2425 private int _keepalive ;
2526 private string _lb_strategy ;
2627 private int _cert_refresh_delay ;
28+ private bool _dnscrypt_ephemeral_keys ;
29+ private bool _tls_disable_session_tickets ;
2730 private int _log_level ;
2831 private string _log_file ;
2932 private Dictionary < string , Source > _sources ;
3033 private bool _use_syslog ;
3134 private int _netprobe_timeout ;
35+ private bool _offline_mode ;
3236 private int _log_files_max_size ;
3337 private int _log_files_max_age ;
3438 private int _log_files_max_backups ;
@@ -200,9 +204,52 @@ public bool force_tcp
200204 }
201205
202206 /// <summary>
203- /// HTTP / SOCKS proxy
204- /// Set this ("socks5://127.0.0.1:9050") to route all TCP connections to a local Tor node
205- /// Tor doesn't support UDP, so set `force_tcp` to `true` as well
207+ /// DNSCrypt: Create a new, unique key for every single DNS query
208+ /// This may improve privacy but can also have a significant impact on CPU usage
209+ /// Only enable if you don't have a lot of network load
210+ /// </summary>
211+ public bool dnscrypt_ephemeral_keys
212+ {
213+ get => _dnscrypt_ephemeral_keys ;
214+ set
215+ {
216+ _dnscrypt_ephemeral_keys = value ;
217+ NotifyOfPropertyChange ( ( ) => dnscrypt_ephemeral_keys ) ;
218+ }
219+ }
220+
221+ /// <summary>
222+ /// DoH: Disable TLS session tickets - increases privacy but also latency.
223+ /// </summary>
224+ public bool tls_disable_session_tickets
225+ {
226+ get => _tls_disable_session_tickets ;
227+ set
228+ {
229+ _tls_disable_session_tickets = value ;
230+ NotifyOfPropertyChange ( ( ) => tls_disable_session_tickets ) ;
231+ }
232+ }
233+
234+ /// <summary>
235+ /// Offline mode - Do not use any remote encrypted servers.
236+ /// The proxy will remain fully functional to respond to queries that
237+ /// plugins can handle directly (forwarding, cloaking, ...)
238+ /// </summary>
239+ public bool offline_mode
240+ {
241+ get => _offline_mode ;
242+ set
243+ {
244+ _offline_mode = value ;
245+ NotifyOfPropertyChange ( ( ) => offline_mode ) ;
246+ }
247+ }
248+
249+ /// <summary>
250+ /// SOCKS proxy
251+ /// Uncomment the following line to route all TCP connections to a local Tor node
252+ /// Tor doesn't support UDP, so set `force_tcp` to `true` as well.
206253 /// </summary>
207254 public string proxy
208255 {
@@ -214,6 +261,20 @@ public string proxy
214261 }
215262 }
216263
264+ /// <summary>
265+ /// HTTP/HTTPS proxy
266+ /// Only for DoH servers
267+ /// </summary>
268+ public string http_proxy
269+ {
270+ get => _http_proxy ;
271+ set
272+ {
273+ _http_proxy = value ;
274+ NotifyOfPropertyChange ( ( ) => http_proxy ) ;
275+ }
276+ }
277+
217278 /// <summary>
218279 /// How long a DNS query will wait for a response, in milliseconds.
219280 /// </summary>
0 commit comments