Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds a full configuration to setup a WhatsApp proxy with Traefik, expose similar ports to existing haproxy configuration, but with a much simpler setup process and more versatile configurations.
The main advantages over HAProxy include:
docker compose up -d
is all we need.whatsapp-<host-ip>.traefik.me
but easy configurable, user can change towhatever-<host-ip>.other-wildcard-dns.provider
even their own domain names.The domain name is essentially the password for accessing the proxy, while others can only see an empty 404 page, which resolves How to minimise the detection factors?聽#16, also resolves Using domain/sub-domain instead of an IP聽#120. The only server fingerprint is the default TLS certificate which only indicate it being a traefik server but not whatsapp proxy server. and it can also be further anonymized easily
the server name setting can even be hot reloaded (a traefik feature馃槈)
traefik.toml
andwhatsapp_proxy.toml
. However the certificate is not very important because WhatsApp client does not verify this certificate, and medias are sent with TLS passthrough, the connection of which is already secure.I'd recommend Traefik to be the default option for average users, but let it be an alternative for now 馃槈