From 01cfa7e013179f17d981ef8ca9822a8c3bd727ff Mon Sep 17 00:00:00 2001 From: Micah Anderson Date: Sat, 7 Oct 2017 13:39:12 -0400 Subject: add v3 hidden service support --- README.md | 10 +++++++++- manifests/daemon/hidden_service.pp | 2 ++ templates/torrc.hidden_service.erb | 8 ++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b44f7e3..2cf89df 100644 --- a/README.md +++ b/README.md @@ -183,7 +183,15 @@ To configure a tor hidden service you can do something like the following: ports => 22; } -The `HiddenServiceDir` is set to the `${data_dir}/${name}`. +The `HiddenServiceDir` is set to the `${data_dir}/${name}`, but you can override +it with the parameter `datadir`. + +If you wish to enable v3-style hidden services to correspond with the v2-style +hidden services (the same configuration will be applied to both), you can pass +the parameter `v3 => true`. The default is `false`. + +If you wish to enable single-hop onion addresses, you can enable them by +passing `single_hop => true`. The default is `false`. ## Configuring directories diff --git a/manifests/daemon/hidden_service.pp b/manifests/daemon/hidden_service.pp index 4549cc7..9e053cc 100644 --- a/manifests/daemon/hidden_service.pp +++ b/manifests/daemon/hidden_service.pp @@ -2,9 +2,11 @@ define tor::daemon::hidden_service( $ports = [], $single_hop = false, + $v3 = false, $data_dir = $tor::daemon::data_dir ) { + if $single_hop { file { "${$data_dir}/${$name}/onion_service_non_anonymous": ensure => 'present', diff --git a/templates/torrc.hidden_service.erb b/templates/torrc.hidden_service.erb index 6672937..c7dbe9e 100644 --- a/templates/torrc.hidden_service.erb +++ b/templates/torrc.hidden_service.erb @@ -10,3 +10,11 @@ HiddenServiceDir <%= @data_dir %>/<%= @name %> HiddenServicePort <%= port %> <% end -%> +<% if @v3 != false %> +# hidden service v3 static +HiddenServiceDir <%= @data_dir %>/<%= @name -%>3 +HiddenServiceVersion 3 +<% Array(@ports).each do |port| -%> +HiddenServicePort <%= port %> +<% end -%> +<% end -%> -- cgit v1.2.3