85 lines
2.6 KiB
Markdown
85 lines
2.6 KiB
Markdown
# gtranslate
|
|
Better front-end for Google Translate that doesn't track you and works
|
|
without JavaScript.
|
|
|
|
# Installation
|
|
```sh
|
|
git clone https://git.sr.ht/~yerinalexey/gtranslate
|
|
cd gtranslate
|
|
|
|
go build
|
|
```
|
|
|
|
Then run the server with
|
|
|
|
```sh
|
|
./gtranslate
|
|
```
|
|
|
|
If you want to use a different port:
|
|
|
|
```sh
|
|
./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:
|
|
|
|
```sh
|
|
./gtranslate \
|
|
--templates-dir /usr/share/webapps/gtranslate/templates \
|
|
--static-dir /usr/share/webapps/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](https://wiki.archlinux.org/index.php/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](https://tor.stackexchange.com/questions/4890/tor-browser-user-agent-strings/21524#21524)
|
|
|
|
Full setup:
|
|
|
|
```sh
|
|
./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][public-inbox].
|
|
|
|
[public-inbox]: https://lists.sr.ht/~yerinalexey/public-inbox
|
|
|
|
# TODO
|
|
- Dark theme
|