Create README.md

main
Elnu 2 years ago committed by GitHub
parent 518a48d0ca
commit 97cbc15f3f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -0,0 +1,54 @@
# tatoeba-api
A proxy of the [Tatoeba API](https://en.wiki.tatoeba.org/articles/show/api#) with no [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) restrictions.
The only Tatoeba API currently has an issue where it's CORS policy blocks it from being used by JavaScript in the browser. This is a mirror of the Tatoeba API that has `Access-Control-Allow-Origin: *` set to circumvent this issue. I am hosting this at [tatoeba.elnu.com](https://tatoeba.elnu.com) until Tatoeba has a proper API implementation.
## Usage
For information about API usage, see [the official documentation](https://en.wiki.tatoeba.org/articles/show/api#).
This API mirror is a mirror of `https://tatoeba.org/eng/api_v0/search`. So, for example, `https://tatoeba.org/en/api_v0/search?query=dog` can be rewritten to `https://tatoeba.elnu.com/?query=dog` if you are using the version of the API I am hosting. For self-hosting, see [Self-hosting](#self-hosting).
## Self-hosting
tatoeba-api requires Node.js and npm.
Install the depenedencies:
```SH
npm i
```
### Running
Run tatoeba-api at port 3000 (the default):
```SH
node index.js
```
Run tatoeba-api at port 5000:
```SH
node index.js 5000
```
### Running as background process
tatoeba-api can be easily run as a background process using [pm2](https://pm2.keymetrics.io/).
Install pm2:
```SH
npm i pm2 -g
```
The configuration for pm2 is stored in [ecosystem.config.js](ecosystem.config.js), which by default sets it to run at port 5000 instead of 3000. To change the port, open this file and change the `args` field.
Start process:
```SH
pm2 start
```
For running starting the API at boot and more, see the [pm2 documentation](https://pm2.keymetrics.io/docs/usage/quick-start/).