Add Installation
120
Installation.md
Normal file
120
Installation.md
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
# Installation
|
||||||
|
|
||||||
|
## Prérequis
|
||||||
|
|
||||||
|
- VPS Linux avec Python 3.8+
|
||||||
|
- nginx
|
||||||
|
- Certbot
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Déployer le serveur Python
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo mkdir -p /var/www/torrent-indicator
|
||||||
|
sudo cp scrape_server.py /var/www/torrent-indicator/
|
||||||
|
```
|
||||||
|
|
||||||
|
### Activer le service systemd
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo cp torrent-scrape.service /etc/systemd/system/
|
||||||
|
sudo systemctl daemon-reload
|
||||||
|
sudo systemctl enable --now torrent-scrape
|
||||||
|
```
|
||||||
|
|
||||||
|
Vérifier :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo systemctl status torrent-scrape
|
||||||
|
# ● torrent-scrape.service - Torrent Tracker Scrape Server
|
||||||
|
# Active: active (running)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. Obtenir le certificat SSL
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo certbot certonly --nginx -d torrent-api.monsite.com
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. Configurer nginx
|
||||||
|
|
||||||
|
Ajouter dans `/etc/nginx/sites-available/votresite` :
|
||||||
|
|
||||||
|
```nginx
|
||||||
|
server {
|
||||||
|
server_name torrent-api.monsite.com;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://127.0.0.1:8765/;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
proxy_read_timeout 15s;
|
||||||
|
}
|
||||||
|
|
||||||
|
listen 443 ssl;
|
||||||
|
ssl_certificate /etc/letsencrypt/live/torrent-api.monsite.com/fullchain.pem;
|
||||||
|
ssl_certificate_key /etc/letsencrypt/live/torrent-api.monsite.com/privkey.pem;
|
||||||
|
include /etc/letsencrypt/options-ssl-nginx.conf;
|
||||||
|
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
if ($host = torrent-api.monsite.com) {
|
||||||
|
return 301 https://$host$request_uri;
|
||||||
|
}
|
||||||
|
listen 80;
|
||||||
|
server_name torrent-api.monsite.com;
|
||||||
|
return 404;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo nginx -t && sudo nginx -s reload
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. Vérifier l'API publique
|
||||||
|
|
||||||
|
```bash
|
||||||
|
curl "https://torrent-api.monsite.com/?hash=3b245504cf5f11bbdbe1201cea6a6bf45aee1bc0"
|
||||||
|
```
|
||||||
|
|
||||||
|
Réponse attendue :
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"seeders": 1234,
|
||||||
|
"leechers": 56,
|
||||||
|
"health": "excellent",
|
||||||
|
"popularity": "popular",
|
||||||
|
"sources": 4
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
Les paramètres se trouvent en haut de `scrape_server.py` :
|
||||||
|
|
||||||
|
| Variable | Défaut | Description |
|
||||||
|
|---|---|---|
|
||||||
|
| `HOST` | `127.0.0.1` | Interface d'écoute |
|
||||||
|
| `PORT` | `8765` | Port du serveur |
|
||||||
|
| `TIMEOUT` | `7` | Timeout par tracker (secondes) |
|
||||||
|
| `CACHE_TTL` | `300` | Durée du cache (secondes) |
|
||||||
|
| `TRACKERS` | *(liste)* | Trackers HTTP interrogés |
|
||||||
|
|
||||||
|
Après modification, redémarrer le service :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo systemctl restart torrent-scrape
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user