Skip to content

Commit f4c6ff0

Browse files
Seth Terashimasethterashima
authored andcommitted
Explain mandatory TLS, describe solution
We've gotten frequent requests to offer a method of disabling TLS. We're not comfortable doing this because it could easily result in less-technical users shooting themselves in the foot. The new documentation points more technical users at a solution.
1 parent 8e13e00 commit f4c6ff0

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,14 @@ openssl req -x509 -nodes -newkey ec \
236236

237237
This command creates an unencrypted private key, `config/tls-key.pem`.
238238

239+
The proxy server requires TLS. We do not offer an option to disable TLS because
240+
this greatly increases the risk of non-experts creating insecure deployments.
241+
Expert users who need a non-TLS version can create one without forking the
242+
repository by using
243+
[pkg/proxy](https://pkg.go.dev/github.com/teslamotors/vehicle-command/pkg/proxy);
244+
the [proxy source code](cmd/tesla-http-proxy/main.go) may be a helpful starting
245+
point.
246+
239247
### Running the proxy server
240248

241249
The proxy server can be run using the following command:

cmd/tesla-http-proxy/main.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,18 @@ func Usage() {
6969
}
7070

7171
func main() {
72+
// ******************************************************************************************
73+
// WHY IS THERE NO OPTION FOR DISABLING TLS?
74+
// ******************************************************************************************
75+
// In the past, we have had problems with third-party applications that made it easy for DIY
76+
// enthusiasts to inadvertently expose their vehicles to the public Internet. In order to
77+
// protect users who do not understand the risks of disabling TLS, we decided to omit an
78+
// --insecure flag or similar.
79+
//
80+
// Expert users who need to disable TLS can do so without forking this repository by using the
81+
// pkg/proxy package, which is agnostic to TLS. This application is a very thin wrapper around
82+
// that package.
83+
7284
config, err := cli.NewConfig(cli.FlagPrivateKey)
7385

7486
if err != nil {

0 commit comments

Comments
 (0)