b67c4398fc | ||
---|---|---|
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 is lightweight, 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.