Signal-TLS-Proxy icon indicating copy to clipboard operation
Signal-TLS-Proxy copied to clipboard

Add documentation to check the proxy is working

Open MartinDelille opened this issue 4 years ago • 10 comments

I installed the proxy but I'm don't know how to check it is actually working.

I started this draft PR to document how to do that but I'll be happy to have some info here.

MartinDelille avatar Feb 14 '21 10:02 MartinDelille

I second this.. The "issue" is that one or two users does not induce a big load on the proxy server and hence the admin cannot easily, if at all, tell if the server is correctly setup and is fully functional.

mmahmoudian avatar Feb 15 '21 07:02 mmahmoudian

Is it normal that on the user point of view I cannot see anything?

MartinDelille avatar Feb 15 '21 08:02 MartinDelille

You can try to connect to your proxy from the signal app. It will show if the proxy is working.

Nikos410 avatar Feb 15 '21 14:02 Nikos410

@Nikos410 where does it show? I couldn't find anywhere in the app that shows that the proxy if correctly set and is functional. Can you share a screenshot?

mmahmoudian avatar Feb 15 '21 17:02 mmahmoudian

If you open the proxy settings and press save it shows a green message if the connection was successful or an error popup if not.

It looks like this if the proxy works (sorry, the text is in german, but you should get the idea):

Signal

Nikos410 avatar Feb 15 '21 18:02 Nikos410

In iOS there is no such thing, plus this option is disabled and there is no way I can enable it!! image

mmahmoudian avatar Feb 15 '21 19:02 mmahmoudian

I've deployed a proxy on my VPS and configured using the proxy on my phone and tested it sending notes for myself. It works but I can't figure out how to view those connections on the server.

I tried using netstat but haven't spotted any relevant info. I also docker log'ed into each container: no logs.

Any suggestions? It feels like my phone client doesn't even use the proxy. Maybe, Signal switches to a specified proxy only when it fails to connect directly to the server?

By the way, I'm very new to networking, proxies, and all that, so I might be seriously missing some point.

m-ocean-it avatar Nov 21 '21 09:11 m-ocean-it

Hey, it is still relevant, can you provide curl syntax with that I can test it? Phone simply does not connect and drop the URL. E.g. as was done for Telegram? https://github.com/GAS85/tgdante2#access-test

GAS85 avatar Jan 12 '22 07:01 GAS85

i was able to set up the proxy and i can send messages using it from the android app (yay!) – however, posting a picture does not seem to work (never-ending progress circle), and sometimes it just becomes inaccessible generally (cannot connect).

a way to see what is happening inside the docker container would be really helpful; otherwise i would not dare at all to offer the url to anyone – which makes the whole endeavor moot imho.

p3k avatar Sep 24 '22 21:09 p3k

The problem is that the Docker images for NGINX are configured to disable logging. Here's a patch that will enable logging and you will be able to see log output when adding the proxy address to your Signal app.

diff --git a/data/nginx-relay/nginx.conf b/data/nginx-relay/nginx.conf
index c7340c6..1cffc3f 100644
--- a/data/nginx-relay/nginx.conf
+++ b/data/nginx-relay/nginx.conf
@@ -77,7 +77,7 @@ stream {
         listen                4433;
         proxy_pass            $name;
         ssl_preread           on;
-        error_log             /dev/null;
-        access_log            off;
+
+        error_log             /dev/stderr debug;
      }
 }
diff --git a/data/nginx-terminate/nginx.conf b/data/nginx-terminate/nginx.conf
index 00a21c7..b41c880 100644
--- a/data/nginx-terminate/nginx.conf
+++ b/data/nginx-terminate/nginx.conf
@@ -29,8 +29,7 @@ stream {
         listen                443 ssl;
         proxy_pass            relay;
 
-        access_log            off;
-        error_log             /dev/null;
+        error_log             /dev/stderr debug;
 
         ssl_certificate /etc/letsencrypt/active/fullchain.pem;
         ssl_certificate_key /etc/letsencrypt/active/privkey.pem;

Run docker-compose down && docker-compose up -d and you can see log output using docker-compose logs --tail 10 -f

jnns avatar Oct 03 '22 20:10 jnns