77b101f877
Instead of using one column layout, it's now switched to two column layout with source on one side and translation on the other side. One column layout is still used on smaller screens. |
||
---|---|---|
static | ||
templates | ||
.gitignore | ||
LICENSE | ||
README.md | ||
api.go | ||
go.mod | ||
go.sum | ||
languages.go | ||
main.go | ||
translate.go | ||
utils.go | ||
web.go |
README.md
gtranslate
Better front-end for Google Translate that doesn't track you and works without JavaScript.
Installation
git clone https://git.sr.ht/~yerinalexey/gtranslate
cd gtranslate
go build
Then run the server with
./gtranslate
If you want to use a different port:
./gtranslate -b :3000 # will run on port 3000
Note: if you're running it outside of development environment, you
should pass --templates-dir
and --static-dir
arguments pointing to
templates and static directories:
./gtranslate \
--templates-dir path/to/gtranslate/templates \
--static-dir path/to/gtranslate/static
Other settings (available with ./gtranslate --help
):
Usage of ./gtranslate:
-b, --bind string Address to bind the server to, [addr]:port (default ":5000")
--proxy string Proxy URL, with no scheme http is assumed
--static-dir string Static files directory (default "./static")
--templates-dir string Templates directory (default "./templates")
--user-agent string User-Agent header to use
Using Tor
Routing requests through Tor has its benefits:
- Google will have a hard time tracking
gtranslate
servers as they act like normal Tor users - You probably won't get banned as requests are made from different IPs
Despite that, it has some drawbacks:
- Much slower response time
- Might get capcha or some other junk that will block requests
- If doing the wrong thing, you might get your server compromised (in terms of anonymity)
- This feature is not tested in development
First of, you need to set up Tor daemon on the server. Here's a guide on ArchWiki: Tor.
With default settings, it should start a SOCKS5 proxy on localhost, port 9050.
Also, to minimize fingerprint, you need to use a very common user agent on Tor network. And, you guessed it, get it straight from Tor Browser. If you have one, you can just open https://httpbin.org/headers and copy it from there. If not, the latest available is provided here: Tor Browser's User-Agent.
Full setup:
./gtranslate \
--user-agent "Mozilla/5.0 (Windows NT 10.0; rv:68.0) Gecko/20100101 Firefox/68.0" \
--proxy "socks5://localhost:9050" \
...
If you have managed to set it up or experienced issues with this guide, feel free to shoot an email to my public inbox.