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

instructions for beginners

Open juliamrch opened this issue 2 years ago • 10 comments

Instructions for beginners who host a small website and aren't familiar with command lines.

juliamrch avatar Sep 26 '22 10:09 juliamrch

Hello Julia

Unfortunately, as mentioned in #32

cloning the repository and serving its files is not enough: you need to run the containers too (thus, shell access is required).

What this means is that runing a proxy (any proxy, actually) requires the server to run code, as it has to forward the packets it recieves on one end to the other end (the Signal Server, in this case). The "shell access is required" part means that you need to be able to tell this to your own server and, unfortunately, having the Signal-TLS-Proxy files hosted in your server, does not do that, so this aproach will never work :(

You can find some simple instructions in the first lines of the README, on how to set up a Signal Proxy Server, and they are already quite simple (don't forget to clone the repository and set your Working Directory as the newly created folder).

Could you say where this idea stemmed from? The Android client has had some issues in that it always showed as connected regardless of whether it was actually true.

Just one more thing, it's bad ettiquete to open 3 PRs (#31, #32, #33) within less than 24 about the same topic and some projects could see this as spam. I highly suggest checking out some Git and GitHub courses online to not get lost around here as trust me, all of us did when we first started. In addition, if you are still not sure on how to do something, you can create a dummy project on your own profile and mess with it as much as you want :)

user1027 avatar Sep 26 '22 17:09 user1027

Hi,

Thanks for the review, and sorry for the PRs, apparently I couldn’t manage to delete the 2 previous one 💀 I will definitely check ressources about contributing on GitHub.

Could you say where this idea stemmed from? The Android client has had some issues in that it always showed as connected regardless of whether it was actually true.

It stemmed precisely because I had the idea to try this method on one of my servers (which is max pain to connect to via shell but has the advantage to let me change its IPs as I wish) , and checked my proxy url right after. The proxy seemed to work, the Signal page to download the app appeared asking if I wanted to download the app.

Just to be clear, now that the files are hosted, if I connect to the server via ssh and run the command, the proxy would start, right ?

juliamrch avatar Sep 26 '22 22:09 juliamrch

Just to be clear, now that the files are hosted, if I connect to the server via ssh and run the command, the proxy would start, right ?

In theory it should work. You can check if it's relaying traffic through the tcpdump command (something like sudo tcpdump -ni any not port 22 should allow you to see all network traffic that's not ssh related, as it usually goes through port 22). You can check that for every incoming packet there's an outgoing packet to the Signal Server

Regarding the difficulty of connecting to a server via shell, you should check out how to connect via ssh, as if properly configured, is just typing a command or executing a program in case you use Windows

user1027 avatar Sep 27 '22 08:09 user1027

Hey folks, I'm trying to install this on a Raspberry Pi but you seem to have an amd64 specific element of your code (potentially from certbot) that is preventing it from running correctly on arm.

The error appears after running sudo ./init-certificate.sh

### Requesting Let's Encrypt certificate for DOMAINNAMEREPLACED ...
Creating network "signal-tls-proxy_default" with the default driver
Pulling certbot (certbot/certbot:)...
latest: Pulling from certbot/certbot
339de151aab4: Pull complete
a860e27ad689: Pull complete
910a9a405b4b: Pull complete
bde2ad12a253: Pull complete
c6c8e9f0153d: Pull complete
ee185b36c37e: Pull complete
baedaa7e0794: Pull complete
8a9b412afa74: Pull complete
e69b0d58d2b4: Pull complete
6e266a1f6d9d: Pull complete
14bb8fb58f70: Pull complete
baaa7e601a29: Pull complete
b55a5f4fe626: Pull complete
Digest: sha256:3103d00d7733379cb540aa03b714b999fafc21fd27cf88571e386f656696c4ec
Status: Downloaded newer image for certbot/certbot:latest
Creating signal-tls-proxy_certbot_run ... done
exec /bin/sh: exec format error
ERROR: 1

Raspberry Pi seems perfect for this use-case so if it's possible to support arm that would be amazing.

local-optimum avatar Sep 30 '22 09:09 local-optimum

arm64 would be amazing!

and would be nice to have some other option how to verify whether it's working or not. Like logs or whatever

stinky-fox avatar Sep 30 '22 15:09 stinky-fox

it depends on the arch of your Raspberry @local-optimum your error looks like an error msg from go. i have my proxy running on an older Raspberry 3 with an armv7 arch. Adjusting the ubuntu-docker as well as the certbot images was necessary: https://github.com/zhksh/Signal-TLS-Proxy/tree/arm7-images

zhksh avatar Oct 04 '22 13:10 zhksh

@stinky-fox you can check with docker-compose ps and docker-compose logs -f (after switching to the root of your repo directory)

zhksh avatar Oct 04 '22 13:10 zhksh

Github shouldn't be used for this type of discussions as the community here is quite small. You can ask as many questions as you'd like on the forum or check for existing solutions

BTW @juliamrch, could you close this PR?

user1027 avatar Oct 04 '22 15:10 user1027

@stinky-fox you can check with docker-compose ps and docker-compose logs -f (after switching to the root of your repo directory)

I know that but it helps if container is providing anything. So a simple "all good, I'm up" could help a lot of new users to check whether their proxy is up and running or no.

stinky-fox avatar Oct 04 '22 15:10 stinky-fox

Hello, can somone help to install on a Plesk running Server?

rbxxswap avatar Oct 30 '22 12:10 rbxxswap