Giter Club home page Giter Club logo

proxy's People

Contributors

aaronsarkissian avatar abubakrsiddq avatar arashn avatar aria1991 avatar casperklein avatar eozturk1 avatar gootik avatar hujiko avatar matinzd avatar mohsenhatami96 avatar picchiseba avatar slawlor avatar ss18 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

proxy's Issues

Error when making container

I get this error when making the container:

[ 5/14] RUN chmod +x /usr/local/bin/generate-certs.sh && /usr/local/bin/generate-certs.sh && mkdir --parents /etc/haproxy/ssl/ && mv /certs/proxy.whatsapp.net.pem /etc/haproxy/ssl/proxy.whatsapp.net.pem && chown -R haproxy:haproxy /etc/haproxy/:
executor failed running [/bin/sh -c chmod +x /usr/local/bin/generate-certs.sh && /usr/local/bin/generate-certs.sh && mkdir --parents /etc/haproxy/ssl/ && mv /certs/proxy.whatsapp.net.pem /etc/haproxy/ssl/proxy.whatsapp.net.pem && chown -R haproxy:haproxy /etc/haproxy/]: exit code: 127

Does anyone know a fix for this or what I may have done wrong?

problem in public ip

Hi there I got this error when running container
ww@whatsapp:~/proxy/proxy$ docker run -it -p 80:80 -p 443:443 -p 5222:5222 -p 8080:8080 -p 8443:8443 -p 8222:8222 -p 8199:8199 whatsapp_proxy:1.0
[PROXYHOST] No public IP address was supplied as an environment variable.
[PROXYHOST] Public IP address (

ResourceNotFound
The specified resource does not exist.
'latest' isn't a valid resource name.

) in-place replacement occurring on /usr/local/etc/haproxy/haproxy.cfg
sed: unmatched '/'
/home/haproxy/certs /

| SSL Certificate Generation |


also I changed the config file and comment the public ip but didn't work
I commented lines that start with bind
#PUBLIC_IP

#bind ipv4@:80
#bind ipv4@
:8080 accept-proxy

default_backend wa_http

frontend haproxy_v4_https
maxconn 27495
#PUBLIC_IP

#bind ipv4@:443 ssl crt /etc/haproxy/ssl/proxy.whatsapp.net.pem
#bind ipv4@
:8443 ssl crt /etc/haproxy/ssl/proxy.whatsapp.net.pem accept-proxy

default_backend wa

frontend haproxy_v4_xmpp
maxconn 27495
#PUBLIC_IP

#bind ipv4@:5222
#bind ipv4@
:8222 accept-proxy

Voice & Video Does not work with Proxy

Dear all
I have an issue with WhatsApp Proxy, when I set the proxy, I can not send voice messages or pictures and videos, so do you have any suggestions for this issue?

It doesn't work without VPN بدون فیلترشکن نمیاد

I checked the ports with open port checker, they were open, when i try to connect with vpn it always connects but it doesn't work without VPN

پورت هاش باز هست ولی بدون vpn کار نمیکنه راه حلی ندارید؟ برای چند نفر فرستادم اونا تونستن وصل بشن نت هامون هم یکی بود ولی خیلیا هم نتونستن وصل شن. کاری باید کرد؟

docker-compose executor failed

Distributor ID: Ubuntu
Description: Ubuntu 20.04.5 LTS
Release: 20.04

/usr/bin/docker-compose version
Docker Compose version v2.15.0

/usr/bin/docker-compose -f ops/docker-compose.yml up


[+] Building 10.5s (6/17)
 => [internal] load build definition from Dockerfile                                                                   0.0s
 => => transferring dockerfile: 1.94kB                                                                                 0.0s
 => [internal] load .dockerignore                                                                                      0.0s
 => => transferring context: 184B                                                                                      0.0s
 => [internal] load metadata for docker.io/library/haproxy:lts-alpine                                                  0.0s
 => [ 1/14] FROM docker.io/library/haproxy:lts-alpine                                                                  0.0s
 => [internal] load build context                                                                                      0.0s
 => => transferring context: 10.22kB                                                                                   0.0s
 => ERROR [ 2/14] RUN apk --update --no-cache add curl openssl jq bash                                                10.4s
------
 > [ 2/14] RUN apk --update --no-cache add curl openssl jq bash:
#0 0.310 fetch https://dl-cdn.alpinelinux.org/alpine/v3.17/main/x86_64/APKINDEX.tar.gz
#0 5.314 fetch https://dl-cdn.alpinelinux.org/alpine/v3.17/community/x86_64/APKINDEX.tar.gz
#0 5.315 WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.17/main: temporary error (try again later)
#0 10.32 WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.17/community: temporary error (try again later)
#0 10.32 ERROR: unable to select packages:
#0 10.32   bash (no such package):
#0 10.32     required by: world[bash]
#0 10.32   curl (no such package):
#0 10.32     required by: world[curl]
#0 10.32   jq (no such package):
#0 10.32     required by: world[jq]
#0 10.32   openssl (no such package):
#0 10.32     required by: world[openssl]
------
failed to solve: executor failed running [/bin/sh -c apk --update --no-cache add curl openssl jq bash]: exit code: 4

PUBLIC_IP script uses a private IP address

Hi!

Line :27 of set_public_ip_and_start.sh ( proxy/proxy/src/ ) uses 169.254.169.254 to obtain the public IP address of the host, but as that IP is unreachable outside of Meta, it will fail.

I suggest to replace it with a well known service.

any user management idea?

is there anyway to see how many users using the service on the server and how much data they use?!

haproxy config error while running docker

Certificate generation completed.
/
[NOTICE] (21) : haproxy version is 2.6.7-c55bfdb
[ALERT] (21) : config : parsing [/usr/local/etc/haproxy/haproxy.cfg:57] : fetch method 'ipv4' : failed to parse 'not' as type 'IPv4 address' at position 1
[ALERT] (21) : config : parsing [/usr/local/etc/haproxy/haproxy.cfg:66] : fetch method 'ipv4' : failed to parse 'not' as type 'IPv4 address' at position 1
[ALERT] (21) : config : parsing [/usr/local/etc/haproxy/haproxy.cfg:75] : fetch method 'ipv4' : failed to parse 'not' as type 'IPv4 address' at position 1
[ALERT] (21) : config : Error(s) found in configuration file : /usr/local/etc/haproxy/haproxy.cfg
[ALERT] (21) : config : Fatal errors found in configuration.

How to minimise the detection factors?

I haven't found any notes in how to harden the proxy to minimise risk of its application such as by changing or randomising the ssl certificate or by showing custom error messages. I think it will be helpful if a section can be assigned to the hardening and detection subjects in the readme file.

At the moment, anyone can use the proxy by having its IP address which can help in detecting the service. As the proxy has been implemented to circumvent existing censorship, is there any way to add authentication to it to prevent unwanted parties (those in charge of censorship) to identify its usage easily?

A quick port scan on the common ports can also ease this process for those who want to block the IP address. What are the least ports which it can run with?

Thank you for helping everyone to stay safe and free from any censorship!

Failed to connect to proxy

hi dear Sir/Madam
first i don't have any idea about servers and proxy but i want to make this for my family in iran. i tried a lot and used this one but unfortunately i got this msg after use this

cd /home
git clone https://github.com/WhatsApp/proxy/
cd /home/proxy/proxy/ops
docker compose up -d

:
fatal: destination path 'proxy' already exists and is not an empty directory.
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
Error: unknown shorthand flag: 'd' in -d

could you please tell me how can i fix it?

docker-compose Error

dock-compose -f /path-to/docker-compose.yml up
ERROR: The Compose file '/path/proxy/proxy/ops/docker-compose.yml' is invalid because:
services.proxy.healthcheck value Additional properties are not allowed ('start_period' was unexpected)

Proxypass from Nginx

As title says.

Is it possible to proxypass the Whatsapp Proxy from Nginx.

This is to prevent active probing and also hide the proxy service.

Does anyone have a working Nginx config for this?

Great initiative, but why not just use HTTP or SOCKS?

This is an excellent step forward by WhatsApp/Meta team in supporting built-in circumvention capabilities in your app.

I'm just curious why you wouldn't support a standardized proxy protocol like HTTP Connect or SOCKS? This would allow interoperability of proxying with any standard proxy server, as well as on-device proxy services like Orbot (Tor for Android, which I'm the lead developer on).

I know Signal took this same path of rolling their own proxy solution, so perhaps that was your inspiration?

Thanks for this effort - I know it will get a lot of use, but we'd also love to be able to directly support proxying on mobile devices through Tor and other existing circumvention networks and solutions.

Already blocked in Iran

Hi there
I set up the WA proxy on my VPS, then tried to connect to it; it didn't work at all, but after I connected my device to a VPN, the proxy worked very well.

Is there any way to bypass the problem?
How can I forward the IR and non-IR VPS traffic using an ssh tunnel?
Should I forward all ports?
And can the default port number be changed?

Share proxy as link

I think is will be good idea to set proxy in client app with a link ,just like what can we do in telegram
Most of users have issue for set proxy manually,like my mother!

Iran: tested on Windows 10 , works for some and doesn't for others

Used a Windows 10 server outside of Iran (details shared further below). Some friends in Iran could connect via port 443, but some couldn't connect at all. Wifi generally works better, on mobile data it depends on who the phone provider is and where they are located! The fact is that the authorities have significantly decreased the upload and download speed, esp. the upload speed, to and from any server outside of a certain white list (that white list includes servers such as those using googlemeet, one of the very few ways remaining for people to communicate with abroad) . Therefore any voice or image takes a loooooong time to arrive (a 5sec voice sent from Iran took 40mins to arrive!).

Also, please try to make it a bit more like Telegram ... what is this ?! giving literally the IP without any protocol!? that can be blocked in a split second by authorities if the IP address gets found out. Everyone in Iran would have to depend on someone they know abroad personally, and not every Iranian has acquaintances abroad! Setting it up like TelegramMessenger/MTProxy should allow communities to share their proxies more safely.

P.S. For people who want to do this on Windows 10 (this should also work on windows 11):

First make sure you got WSL 2 . And while you install Docker, make sure the WSL 2 based engine is used; it's the default when installing docker on windows, but if you don't know if it's active or not, open your docker and go to Settings-->General and check "Use the WSL 2 based engine".

Now, be careful to git clone the repo into your WSL home/<your_username> directory, and then don't forget to delete any #PUBLIC_IP mentions (there are three of them as of now) in the proxy/src/proxy_config.cfg file using a WSL editor (nano / vim or gedit if you got windows 11). Do not try to do any of these in a Windows directory or using a Windows text editor, as it will haunt you (there are some text encoding issues when you use a Windows directory).

But then after that you can docker build and run on Powershell using the repository in the WSL; to actually tell docker on Windows to use the repo in WSL, it's better to map WSL to a network drive . Go to your file explorer, right click on "This PC" and select map network drive. Then choose any letter for the drive, say Z, and for the Folder enter : \\wsl$\Ubuntu-X for whatever Ubuntu version X your WSL is running (e.g. X = 18.04).

Then you just enter docker build Z:\home\<your_username>\proxy\proxy\ -t whatsapp_proxy:1.0 in your Powershell and then the docker run command. (and don't forget the basics! do the port forwarding in your router for ports 80, 443, 5222, (and there are three more which really don't work even when I tested them myself!)).

what is default port for this service?

I a'm able to connect to the proxy server successfully outside of iran by either using the i'p address itself or i'p address:port

my question is, what port whatsapp choose to connect when we only connect using the i'p address by itself ?!

ERR when using 'docker build' command

Hi! i was getting error whenever i use 'docker build'
It's first time i'm getting this error

ERR:

  bash (no such package):



    required by: world[bash]
  curl (no such package):
    required by: world[curl]
  jq (no such package):
    required by: world[jq]
  openssl (no such package):
    required by: world[openssl]
The command '/bin/sh -c apk --no-cache add curl openssl jq bash' returned a non-zero code: 4

Dockerfile is in the proxy/proxy

Hi,
The Dockerfile is in the proxy/proxy but the readme points to the repo root for the docker build:
docker build /path/to/cloned/git/repository/ -t whatsapp_proxy:1.0

I believe that the readme should read docker build /path/to/cloned/git/repository/**proxy** -t whatsapp_proxy:1.0 (which is a little counterintuitive since the name of the repo is also proxy)

IP proxy service

Hello, to guarantee a high performance service and excellent experience it is impossible for this service to be free!

But the type of proxy that Whatsapp supports is not actually a proxy, just a forward port!

One of my companies is a proxy service provider for process automation and there is a standard for the pre-existing proxy market:

IP:Port:User:PW

HTTP, HTTPS or Socks

If the market standard does not allow any serious service provider will be interested in providing IP Proxy connectivity service for Whatsapp!

I would love for the APP to use the market standard!

Docker image not found

When i try to pull whatsapp_proxy , it didn't find anything
i look through docker hub and don't find any thing about whatsapp_proxy:1.0

IMG_20230106_112525

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.