|
@@ -31,6 +31,30 @@ TOR_MAX_TRAFFIC_PER_MONTH_GB=10
|
31
|
31
|
|
32
|
32
|
USE_V2_ONION_ADDRESS=
|
33
|
33
|
HIDDEN_SERVICE_PATH='/var/lib/tor/hidden_service_'
|
|
34
|
+ONION_SERVICES_FILE=/etc/torrc.d/freedombone
|
|
35
|
+
|
|
36
|
+function torrc_migrate {
|
|
37
|
+ if [ -f $ONION_SERVICES_FILE ]; then
|
|
38
|
+ return
|
|
39
|
+ fi
|
|
40
|
+ systemctl stop tor
|
|
41
|
+
|
|
42
|
+ mkdir /etc/torrc.d
|
|
43
|
+
|
|
44
|
+ grep "HiddenServiceDir\|HiddenServiceVersion\|HiddenServicePort" /etc/tor/torrc | grep -v "#HiddenServiceDir" >> $ONION_SERVICES_FILE
|
|
45
|
+
|
|
46
|
+ if ! grep "HiddenServiceVersion" $ONION_SERVICES_FILE; then
|
|
47
|
+ return
|
|
48
|
+ fi
|
|
49
|
+
|
|
50
|
+ if grep -q "#%include /etc/torrc.d" /etc/tor/torrc; then
|
|
51
|
+ sed -i 's|#%include /etc/torrc.d|%include /etc/torrc.d|g' /etc/tor/torrc
|
|
52
|
+ else
|
|
53
|
+ echo "%include /etc/torrc.d" >> /etc/tor/torrc
|
|
54
|
+ fi
|
|
55
|
+
|
|
56
|
+ systemctl restart tor
|
|
57
|
+}
|
34
|
58
|
|
35
|
59
|
function add_email_hostname {
|
36
|
60
|
extra_email_hostname="$1"
|
|
@@ -80,17 +104,17 @@ function remove_onion_service {
|
80
|
104
|
nick="$3"
|
81
|
105
|
|
82
|
106
|
if [ ${#nick} -gt 0 ]; then
|
83
|
|
- sed -i "/stealth ${nick}/d" /etc/tor/torrc
|
|
107
|
+ sed -i "/stealth ${nick}/d" $ONION_SERVICES_FILE
|
84
|
108
|
fi
|
85
|
|
- sed -i "/hidden_service_${onion_service_name}/,+1 d" /etc/tor/torrc
|
86
|
|
- sed -i "/hidden_service_${onion_service_name}_mobile/,+1 d" /etc/tor/torrc
|
87
|
|
- sed -i "/127.0.0.1:${onion_service_port_to}/d" /etc/tor/torrc
|
|
109
|
+ sed -i "/hidden_service_${onion_service_name}/,+1 d" $ONION_SERVICES_FILE
|
|
110
|
+ sed -i "/hidden_service_${onion_service_name}_mobile/,+1 d" $ONION_SERVICES_FILE
|
|
111
|
+ sed -i "/127.0.0.1:${onion_service_port_to}/d" $ONION_SERVICES_FILE
|
88
|
112
|
if [ "$3" ]; then
|
89
|
|
- sed -i "/127.0.0.1:${3}/d" /etc/tor/torrc
|
|
113
|
+ sed -i "/127.0.0.1:${3}/d" $ONION_SERVICES_FILE
|
90
|
114
|
if [ "$4" ]; then
|
91
|
|
- sed -i "/127.0.0.1:${4}/d" /etc/tor/torrc
|
|
115
|
+ sed -i "/127.0.0.1:${4}/d" $ONION_SERVICES_FILE
|
92
|
116
|
if [ "$5" ]; then
|
93
|
|
- sed -i "/127.0.0.1:${5}/d" /etc/tor/torrc
|
|
117
|
+ sed -i "/127.0.0.1:${5}/d" $ONION_SERVICES_FILE
|
94
|
118
|
fi
|
95
|
119
|
fi
|
96
|
120
|
fi
|
|
@@ -123,16 +147,16 @@ function add_onion_service {
|
123
|
147
|
USE_V2_ONION_ADDRESS=
|
124
|
148
|
exit 877367
|
125
|
149
|
fi
|
126
|
|
- if ! grep -q "hidden_service_${onion_service_name}" /etc/tor/torrc; then
|
127
|
|
- echo "HiddenServiceDir ${HIDDEN_SERVICE_PATH}${onion_service_name}/" >> /etc/tor/torrc
|
|
150
|
+ if ! grep -q "hidden_service_${onion_service_name}" $ONION_SERVICES_FILE; then
|
|
151
|
+ echo "HiddenServiceDir ${HIDDEN_SERVICE_PATH}${onion_service_name}/" >> $ONION_SERVICES_FILE
|
128
|
152
|
if [ ! $USE_V2_ONION_ADDRESS ]; then
|
129
|
|
- echo 'HiddenServiceVersion 3' >> /etc/tor/torrc
|
|
153
|
+ echo 'HiddenServiceVersion 3' >> $ONION_SERVICES_FILE
|
130
|
154
|
else
|
131
|
|
- echo 'HiddenServiceVersion 2' >> /etc/tor/torrc
|
|
155
|
+ echo 'HiddenServiceVersion 2' >> $ONION_SERVICES_FILE
|
132
|
156
|
fi
|
133
|
|
- echo "HiddenServicePort ${onion_service_port_from} 127.0.0.1:${onion_service_port_to}" >> /etc/tor/torrc
|
|
157
|
+ echo "HiddenServicePort ${onion_service_port_from} 127.0.0.1:${onion_service_port_to}" >> $ONION_SERVICES_FILE
|
134
|
158
|
if [ ${#onion_stealth_name} -gt 0 ]; then
|
135
|
|
- echo "HiddenServiceAuthorizeClient stealth ${onion_stealth_name}" >> /etc/tor/torrc
|
|
159
|
+ echo "HiddenServiceAuthorizeClient stealth ${onion_stealth_name}" >> $ONION_SERVICES_FILE
|
136
|
160
|
fi
|
137
|
161
|
fi
|
138
|
162
|
|
|
@@ -295,6 +319,14 @@ function install_tor {
|
295
|
319
|
sed -i "s|#AccountingMax.*|AccountingMax $TOR_MAX_TRAFFIC_PER_MONTH_GB GBytes|g" /etc/tor/torrc
|
296
|
320
|
sed -i "s|AccountingMax.*|AccountingMax $TOR_MAX_TRAFFIC_PER_MONTH_GB GBytes|g" /etc/tor/torrc
|
297
|
321
|
|
|
322
|
+ if [ ! -d /etc/torrc.d ]; then
|
|
323
|
+ mkdir /etc/torrc.d
|
|
324
|
+ fi
|
|
325
|
+ sed -i 's|#%include /etc/torrc.d|%include /etc/torrc.d|g' /etc/tor/torrc
|
|
326
|
+ if ! grep -q '%include /etc/torrc.d' /etc/tor/torrc; then
|
|
327
|
+ echo '%include /etc/torrc.d' >> /etc/tor/torrc
|
|
328
|
+ fi
|
|
329
|
+
|
298
|
330
|
mark_completed "${FUNCNAME[0]}"
|
299
|
331
|
}
|
300
|
332
|
|