Skip to content

Commit

Permalink
Adding an FAQ (WhatsApp#93)
Browse files Browse the repository at this point in the history
  • Loading branch information
slawlor authored Jan 9, 2023
1 parent 1a05d9a commit abc0271
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 1 deletion.
45 changes: 45 additions & 0 deletions FAQ.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Frequently asked questions

## Getting started

First you need to clone the repository. You can do this with

```bash
git clone https://github.com/WhatsApp/proxy.git
```

## Common issues

### (1) The container won't build on Windows with `set_public_ip_and_start.sh: Not found`

This is likely a line encoding issue since the application is expecting unix-style line
encoding (EOL not CRLF). This resolved in PR [72](https://github.com/WhatsApp/proxy/pull/72)
and you should just need to pull the latest changes and try again.

### (2) I want to share my proxy to the community

This is great! We have created a dedicated GitHub issue to share these proxies. Access it here: [Issue #92](https://github.com/WhatsApp/proxy/issues/92)

### (3) My proxy isn't accessible publicly

Some common problems to investigate

1. Are the necessary ports open on your host?
2. If running in a cloud, are the necessary ports open on the cloud provider's firewall?
3. Can you access the statistics port (8199) locally? (at `http://127.0.0.1:8199`) If not, can you check the health of the container (if it's up and running) with `docker ps`?

### (4) What is the port configuration for this service + the client?

When only a host is specified in the app (ip or domain name), the client will attempt to connect to port 443 by default.

You can also re-map the ports exposed from the proxy to whatever you want. For example if you have a different service running on port 80, you can send the proxy container's port 80 to port 8081 for example. You can do this by changing the port mapping from `80:80` to `8081:80`. The format for these ports is `{HOST_MACHINE_PORT}:{CONTAINER_PORT}` so you're stating that
the container's port 80 binds to my machine's 8081, which is what will be exposed to the internet. An example of these port mapping can be found in the provided [docker-compose.yml](https://github.com/WhatsApp/proxy/blob/main/proxy/ops/docker-compose.yml#L14)

**NOTE** There is a caveat however to re-mapping port 443. Port 443 on the proxy runs a TLS encryption and the client knows to utilize TLS for connections to that port. All **OTHER** ports are expected to not have TLS. There is currently no way to configure this in the client so if you re-map the container's port 443 then it won't be able to connect. You can however safely remap ports 80 and 5222 freely and they should just work.

### (5) Does the proxy support HTTP(S) or SOCKS?

WhatsApp currently does **NOT** support anything besides TCP proxying. This is just copying the incoming bytes
to WhatsApp on the other end. So we don't support running through any intermediary that is a HTTP proxy.

You are free to run your own pure TCP proxy as you see fit however, as long as it forwards to `g.whatsapp.net`. You aren't required to use this realization.
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,16 @@ of this source tree. -->
# WhatsApp Chat Proxy

[<img alt="github" src="https://img.shields.io/badge/github-WhatsApp/proxy-8da0cb?style=for-the-badge&labelColor=555555&logo=github" height="20">](https://github.com/WhatsApp/proxy)
[<img alt="build status" src="https://img.shields.io/github/workflow/status/WhatsApp/proxy/ci/main?style=for-the-badge" height="20">](https://github.com/WhatsApp/proxy/actions?query=branch%3Amain)
[![CI](https://github.com/WhatsApp/proxy/actions/workflows/ci.yml/badge.svg)](https://github.com/WhatsApp/proxy/actions/workflows/ci.yml)

If you are unable to connect directly to WhatsApp, a proxy can be used as a gateway between you and our servers. To help yourself or others re-establish connection to WhatsApp, you can set up a proxy server.

If you already have a proxy to use, you can connect it to WhatsApp by following the steps in this [article](https://faq.whatsapp.com/520504143274092).

## Frequently asked questions

**PLEASE READ THIS BEFORE OPENING AN ISSUE** We have an FAQ, which you can find here: [FAQ.md](https://github.com/whatsapp/proxy/blob/main/FAQ.md)

## What you'll need

1. [Docker](https://docs.docker.com/engine/install/) (enable Docker on startup if your host system allows)
Expand Down

0 comments on commit abc0271

Please sign in to comment.