Comment obtenir l'interface Web https dans Transmission?

4

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 souhaite simplement pouvoir utiliser un type de cryptage pour l'interface Web afin de pouvoir gérer mes torrents à distance. Qu'est-ce que je dois faire?

JamesTheAwesomeDude
la source
1
Vous avez besoin d'un autre logiciel pour le faire pour vous (comme stunnelou lighttpd). Vous pouvez le faire beaucoup plus facilement si vous installez / utilisez ssh et le tunnel sur votre machine.
Rinzwind

Réponses:

6

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
Didi Kohen
la source
D'accord, je n'ai jamais utilisé nginx auparavant. Pouvez-vous me guider à travers cela? Jusqu'à présent, ce que j'ai fait: 1. Définissez à nouveau le paramètre Transmission sur le port 8080. 2 sudo apt-get install nginx.. Et ensuite? S'il vous plaît donnez-moi une procédure détaillée. Je le lirai dans la matinée, alors inutile de vous précipiter. Juste s'il vous plaît faites-le minutieux.
JamesTheAwesomeDude
J'ai écrit les segments de code exacts de ce que vous devez exécuter et de ce que vous devez ajouter au fichier de configuration. Il serait difficile d'être plus précis, car je ne sais pas comment votre système est installé. J'ai clarifié un peu.
Didi Kohen
Ok, je ne parviens même pas à faire démarrer nginx avec un premier test: il ne fait que générer une série d’erreurs, puis se termine. Je n’ai jamais, jusqu’à présent jamais traité ce programme, je vais donc vous expliquer en détail ce que j’ai besoin de faire, à partir de l’installation.
JamesTheAwesomeDude
Pourriez-vous coller un lien vers votre fichier de configuration via pastebin ou quelque chose?
Didi Kohen
Je viens de laisser les paramètres par défaut car je ne savais pas exactement où insérer le code que vous m'aviez donné. pastebin.com/UWeziN9J
JamesTheAwesomeDude
0

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.

Jeroen
la source
-1

Le tunneling avec SSH est bien sûr une possibilité, mais une solution plus simple - plus facile à configurer et plus facile à transporter - consiste à utiliser un client ssh (putty si vous êtes sous Windows, par exemple), connectez-vous à votre ordinateur et utilisez un navigateur de texte (w3m, liens).

De cette façon, vous n'avez même pas besoin d'ouvrir vos ports sur autre chose que la machine locale.

Cela ne fournit peut-être pas une interface graphique parfaite pour la navigation, mais c’est suffisant pour de nombreuses tâches administratives; En fait, je le trouve souvent plus pratique à utiliser même si je peux utiliser mon navigateur habituel.

janvier
la source
Attends ... alors qu'est-ce que je dois faire? Je suis un peu confus. ... dois-je obtenir un tout nouveau client torrent? J'ai juste besoin de quelque chose de facile à utiliser, qui supporte le cryptage et qui peut être utilisé sans logiciel supplémentaire sur l'ordinateur "client". (par exemple, l'ordinateur d'un ami.)
JamesTheAwesomeDude