Skip to content

Commit 9f47ab2

Browse files
authored
Release 0.9.0
* [FEATURE] Add option to use bridges #38 * [FEATURE] Upgrade Tor daemon to 0.4.7.x enhancement #40 * [FEATURE] Controller deployment automatic rollout on chart upgrade #41 * [DOC] Update instructions to use bridges and custom Tor daemon configs
1 parent 573e45a commit 9f47ab2

5 files changed

Lines changed: 66 additions & 18 deletions

File tree

README.md

Lines changed: 54 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ Check [install section](#install) bellow for more information.
5252
- [Random service names](#random-service-names)
5353
- [Bring your own secret](#bring-your-own-secret)
5454
- [Enable Onion Service protection with Authorization Clients](#enable-onion-service-protection-with-authorization-clients)
55+
- [Custom settings for Tor daemon](#custom-settings-for-tor-daemon)
56+
- [Specifiying Tor network bridges](#specifiying-tor-network-bridges)
5557
- [Specify Pod Template Settings](#specify-pod-template-settings)
5658
- [OnionBalancedService Pod Template](#onionbalancedservice-pod-template)
5759
- [Using with nginx-ingress](#using-with-nginx-ingress)
@@ -94,6 +96,10 @@ Full changelog: [CHANGELOG](CHANGELOG.md)
9496
- Onion Service's authorized clients support
9597
- **v0.8.x**
9698
- Namespaced deployments
99+
- **v0.9.x**
100+
- Controller deployment automatic rollout on chart upgrade
101+
- Upgraded Tor daemon to 0.4.7.x
102+
- Bridges support (obfs4 pluggable transport shipped alongside Tor daemon)
97103

98104
Roadmap / TODO
99105
--------------
@@ -316,6 +322,39 @@ A more complete example can be found at [hack/sample/onionservice-authorizedclie
316322
Check https://community.torproject.org/onion-services/advanced/client-auth/
317323
to learn how to create valid key pairs for client authorization.
318324

325+
Custom settings for Tor daemon
326+
------------------------------
327+
328+
Tor Controller CRDs allows adding extra parameters that will be passed to the Tor daemon:
329+
330+
- Tor daemons: use `spec.config` field
331+
- Onion Services: use `spec.extraConfig` field
332+
- Onion Balanced Services: use `spec.template.extraConfig` field
333+
334+
Specifiying Tor network bridges
335+
-------------------------------
336+
337+
Prerequisite: bridges information. You can get obfs4 bridges visiting https://bridges.torproject.org/bridges/?transport=obfs4
338+
339+
Tor daemon instance [example](./hack/sample/tor-custom-config-bridges.yaml). Set the `config` field with the following content:
340+
1. Enable bridges adding the line `UseBridges 1`
341+
2. Place your bridges configuration
342+
343+
```yaml
344+
apiVersion: tor.k8s.torproject.org/v1alpha2
345+
kind: Tor
346+
metadata:
347+
name: example-tor-instance-custom-bridges
348+
spec:
349+
config: |
350+
UseBridges 1
351+
# Bridge obfs4 xxx.xxx.xxx.xxxx:xxxx C2541... cert=7V57Z... iat-mode=0
352+
# Bridge obfs4 xxx.xxx.xxx.xxxx:xxxx C1CCA... cert=RTTE2... iat-mode=0
353+
# Bridge obfs4 xxx.xxx.xxx.xxxx:xxxx B6432... cert=hoGth... iat-mode=0
354+
355+
# ... other configurations
356+
```
357+
319358
Specify Pod Template Settings
320359
-----------------------------
321360

@@ -592,19 +631,20 @@ Dependencies:
592631
Versions
593632
--------
594633

595-
| Helm Chart version | Tor-Controller version | Tor daemon |
596-
| ------------------ | ---------------------- | ---------- |
597-
| 0.1.0 | 0.3.1 | 0.4.6.8 |
598-
| 0.1.1 | 0.3.2 | 0.4.6.8 |
599-
| 0.1.2 | 0.4.0 | 0.4.6.8 |
600-
| 0.1.3 | 0.5.0 | 0.4.6.10 |
601-
| 0.1.4 | 0.5.1 | 0.4.6.10 |
602-
| 0.1.5 | 0.6.0 | 0.4.6.10 |
603-
| 0.1.6 | 0.6.1 | 0.4.6.10 |
604-
| 0.1.7 | 0.7.0 | 0.4.6.10 |
605-
| 0.1.8 | 0.7.1 | 0.4.6.10 |
606-
| 0.1.9 | 0.7.2 | 0.4.6.10 |
607-
| 0.1.10 | 0.8.0 | 0.5.6.10 |
634+
| Helm Chart version | Tor-Controller version | Tor daemon | Pluggable transports |
635+
| ------------------ | ---------------------- | ---------- | -------------------- |
636+
| 0.1.0 | 0.3.1 | 0.4.6.8 | |
637+
| 0.1.1 | 0.3.2 | 0.4.6.8 | |
638+
| 0.1.2 | 0.4.0 | 0.4.6.8 | |
639+
| 0.1.3 | 0.5.0 | 0.4.6.10 | |
640+
| 0.1.4 | 0.5.1 | 0.4.6.10 | |
641+
| 0.1.5 | 0.6.0 | 0.4.6.10 | |
642+
| 0.1.6 | 0.6.1 | 0.4.6.10 | |
643+
| 0.1.7 | 0.7.0 | 0.4.6.10 | |
644+
| 0.1.8 | 0.7.1 | 0.4.6.10 | |
645+
| 0.1.9 | 0.7.2 | 0.4.6.10 | |
646+
| 0.1.10 | 0.8.0 | 0.4.6.10 | |
647+
| 0.1.11 | 0.9.0 | 0.4.7.13 | Obfs4-0.0.14 |
608648

609649
References
610650
----------
@@ -613,6 +653,7 @@ References
613653
- Tor man pages: https://manpages.debian.org/testing/tor/tor.1.en.html
614654
- Onionbalance: https://gitlab.torproject.org/tpo/core/onionbalance
615655
- Onionbalance tutorial: https://onionbalance.readthedocs.io/en/latest/v3/tutorial-v3.html
656+
- Obfs4 pluggable transport: https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/obfs4
616657

617658
## Utils
618659
- Helm docs updated with https://github.com/norwoodj/helm-docs

charts/tor-controller/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ type: application
1515
# This is the chart version. This version number should be incremented each time you make changes
1616
# to the chart and its templates, including the app version.
1717
# Versions are expected to follow Semantic Versioning (https://semver.org/)
18-
version: 0.1.10
18+
version: 0.1.11
1919

2020
# This is the version number of the application being deployed. This version number should be
2121
# incremented each time you make changes to the application. Versions are not expected to
2222
# follow Semantic Versioning. They should reflect the version the application is using.
2323
# It is recommended to use it with quotes.
24-
appVersion: "0.8.0"
24+
appVersion: "0.9.0"

charts/tor-controller/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# tor-controller
22

3-
![Version: 0.1.10](https://img.shields.io/badge/Version-0.1.10-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.8.0](https://img.shields.io/badge/AppVersion-0.8.0-informational?style=flat-square)
3+
![Version: 0.1.11](https://img.shields.io/badge/Version-0.1.11-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.9.0](https://img.shields.io/badge/AppVersion-0.9.0-informational?style=flat-square)
44

55
Tor hidden services controller for kubernetes
66

@@ -33,6 +33,7 @@ Tor hidden services controller for kubernetes
3333
| serviceAccount.create | bool | `true` | Specifies whether a service account should be created |
3434
| serviceAccount.name | string | `""` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template |
3535
| tolerations | list | `[]` | |
36+
| upgradeRollout | bool | `true` | Automatically rollout controller deployment after upgrade |
3637

3738
----------------------------------------------
3839
Autogenerated from chart metadata using [helm-docs v1.6.0](https://github.com/norwoodj/helm-docs/releases/v1.6.0)

charts/tor-controller/templates/deployment.yaml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,13 @@ spec:
1212
{{- include "tor-controller.selectorLabels" . | nindent 6 }}
1313
template:
1414
metadata:
15-
{{- with .Values.podAnnotations }}
1615
annotations:
1716
kubectl.kubernetes.io/default-container: manager
18-
{{- toYaml . | nindent 8 }}
17+
{{- if .Values.upgradeRollout }}
18+
rollme: {{ randAlphaNum 5 | quote }}
19+
{{- end }}
20+
{{- with .Values.podAnnotations }}
21+
{{- toYaml .Values.podAnnotations | nindent 8 }}
1922
{{- end }}
2023
labels:
2124
{{- include "tor-controller.selectorLabels" . | nindent 8 }}

charts/tor-controller/values.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ namespaced: false
88
# -- Daemonset replica count
99
replicaCount: 1
1010

11+
# -- Automatically rollout controller deployment after upgrade
12+
upgradeRollout: true
13+
1114
# -- tor-controller image, it watches onionservices objects
1215
image:
1316
repository: quay.io/bugfest/tor-controller

0 commit comments

Comments
 (0)