web-dev-qa-db-fra.com

Comment obtenir l'interface Web https dans Transmission?

J'utilise l'interface Web de Transmission, mais je ne me sens pas à l'aise de l'utiliser à distance (en dehors du réseau local, par exemple chez un ami) en raison de l'absence de cryptage. L'idée de diffuser mes informations de connexion à l'Interface Web de Transmission, entièrement non cryptées, sur Internet ne m'intéresse pas, pour une raison quelconque. (Je suis un peu paranoïaque à ce sujet. J'ai même installé un plugin de navigateur pour activer HTTPS sur tous les sites possibles.)

J'ai entendu parler, et même essayé, de quelques tutoriels compliqués impliquant lighttpd, mais je n'ai pas eu de chance jusqu'à présent.

Je juste veux pouvoir utiliser une sorte de chiffrement pour l'interface Web, afin de pouvoir gérer mes torrents à distance. Qu'est-ce que je dois faire?

4

Je recommanderais d'installer un serveur Web simple tel que nginx et de le transformer en proxy sur le port 8080, ce qui vous permettrait d'ajouter ultérieurement une authentification, SSL et d'autres serveurs, si vous le souhaitez.

Pour configurer nginx afin de transférer des éléments vers 8080, vous pouvez l'écrire dans le fichier/etc/nginx/sites-enabled/default:

location / {
  proxy_pass        http://localhost:8080;
}

N'oubliez pas que cela ne fonctionnera que pour l'interface Web et non si vous souhaitez que votre port torrent soit à 80.

Pour ajouter le support SSL, vous devez créer une clé et un certificat signé (je suppose que vous ne voulez pas le faire signer par une autorité de certification, alors voici comment le signer lui-même):

openssl req -x509 -nodes -new -keyout <name>.key -out <name>.crt

Le fichier de configuration du serveur par défaut (le même que ci-dessus) devrait avoir le contenu suivant:

server {
    listen 443 default_server ssl;
    ssl_certificate     /etc/nginx/test.crt;
    ssl_certificate_key /etc/nginx/test.key;
    server_name  default;

    access_log  /var/log/nginx/localhost.access.log;

    location / {
        proxy_pass        http://localhost:8080;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
            root   /var/www/nginx-default;
    }
}

Vous devez faire correspondre les emplacements des clés et des certificats à ceux que vous venez de créer. Dans votre navigateur, vous recevrez un avertissement non approuvé, sauf si vous importez votre certificat (ou payez pour un certificat commercial).

Après avoir effectué ces modifications dans la configuration, vous devez exécuter:

Sudo reload nginx

ou

Sudo /etc/init.d/nginx reload
6
Didi Kohen

Il existe une interface de ligne de commande pour la transmission appelée transmission-remote-cli que vous pouvez utiliser une fois que vous avez ssh sur votre serveur. C'est ce que j'utilise. Fonctionne comme un charme. Je suis certain que des solutions https plus faciles seront envisagées à l'avenir si vous n'êtes pas en mesure de configurer un proxy.

0
Jeroen