top of page
Rechercher
Photo du rédacteurchourmovs vs

Mldonkey, libre léger et puissant pour vos sessions P2P sur machines "headless"

Dernière mise à jour : 18 mai 2023

Pour un utilisateur Linux headless, il est recommandé d'utiliser Docker pour installer et exécuter mldonkey

Introduction

Vous le savez déjà sans doute, mldonkey est un logiciel de partage de fichiers peer-to-peer multi-protocoles disponible sur Linux. Il peut être utilisé en mode graphique ou en mode headless, c'est-à-dire sans interface graphique mais via un navigateur web. C'est le cas d'autre logiciel comme amule, tansmission, deluge et autre mais mldonkey est plus léger, plus stable et plus puissant selon mois que ces compétiteurs En 2023, Mldonkey, bien que peu ou pas entretenu par sa communauté, propose toujours une solution adaptée pour des machines peu puissante. il permet surtout pour un NAS ou une machine headless équivalente d'accéder en une seule application web au réseau edonkey (ED2K = emule) et bittorrent. Pour un utilisateur Linux "headless", il est recommandé d'utiliser Docker pour installer et exécuter mldonkey, cela permet de s'affranchir des contraintes d' environnement OS (dépendances, configuration initiales) et de faciliter la maintenance


Installation /prérequis

Dans cet exemple j'utiliserai le depot docker que je viens de créer pour avori la dernière version 3.1.7-2 basée sur arch et qui fonctionne très bien chez moi https://hub.docker.com/r/chourmovs/mldonkey_arch Par souci de sécurité je connecterai ce docker au vpn Gluetun en prenant soins de bien mettre à disposition les ports nécessaire a l'application. Dans mon exemple, le service VPN est Private internet access avec le port forwarding activé, c'est important pour que les "Peers" voit ma machine via les ports TCP ou UDP (voir plus bas) Le tout est installé sur mon NAS terramaster F221 en version 5.1 avec les applications Docker et Portainer installé Je me sers de Portainer pour stocker mon docker compose dans un stack et l'exécuter, c'est la solution la plus conviviale a mon gout Voici le stack en question


version: "3.5"

networks:
  media_network:
    name: media_network
    driver: bridge
    ipam:
      driver: default
      config:
      - subnet: 172.28.10.0/24

services:
  gluetun:
    image: qmcgaw/gluetun:latest
    container_name: Gluetun
    restart: always
    cap_add:
      - NET_ADMIN
    devices:
      - /dev/net/tun:/dev/net/tun
    ports:
      - 8888:8888/tcp    # HTTP proxy
      - 8388:8388/tcp    # Shadowsocks
      - 8388:8388/udp    # Shadowsocks
      - 4000:4000/tcp
      - 4001:4001
      - 4080:4080
      - 20562:20562
      - 20566:20566/udp
      - 16965:16965
      - 6209:6209
      - 6881:6881
      - 6882:6882
      - 3617:3617/udp
      - 4444:4444
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
      - VPN_SERVICE_PROVIDER=private internet access
      - OPENVPN_USER=login
      - OPENVPN_PASSWORD=password
      - SERVER_REGIONS=Netherlands
      - FIREWALL_OUTBOUND_SUBNETS=192.168.1.0/24
      - HTTPPROXY=on
      - SHADOWSOCKS=on
      # Wireguard:
      # - WIREGUARD_PRIVATE_KEY=${WIREGUARD_KEY}
      # - WIREGUARD_ADDRESSES=${WIREGUARD_ADDRESSES}
      - PRIVATE_INTERNET_ACCESS_VPN_PORT_FORWARDING=on
    networks:
      - media_network
    volumes:
      - ./Volume1/public/gluetun/gluetun/data:/gluetun:rw
     
  mldonkey:
    image: chourmovs/mldonkey_arch:main
    restart: unless-stopped
    depends_on:
      - "gluetun"
    environment:
    - PUID=1000 # Your Docker user here
    - PGID=1000 # Your Docker Group here
    - TZ=Europe/Paris # Your Time Zone Here
    
#   - ${NET_NAME}
    network_mode: "service:gluetun"
    
    volumes:
    - /Volume1/public/mldonkey/conf:/var/lib/mldonkey
    - /Volume1/public/mldonkey/tmp:/mnt/mldonkey_tmp
    - /Volume1/public/mldonkey/incoming:/mnt/mldonkey_completed
    - /Volume1/public/:/data # Optionnel, un dossier supplémentaire dont je souhaite un accès pour mldonkey
    
volumes: 
  gluetun:

En gras les parties à éditer pour matcher votre configuration

Screenshots




Configuer le port forwarding dans mldonkey

Si la configuration de gluetun est un peu spécifique pour Private internet access qui n'autorise qu'un seul port en port forward non manageable sur leur site, la configuration du port forwarding sera toujours nécessaire (via gluetun ou le site de votre fournisseur VPN) pour assurer votre visibilité par les autres "Peers" à travers le VPN.

Avec private internet access on dispose d'un port forwarding aléatoire à chaque lancement du conteneur et qui est sinon mis à jour tous les 60 jours environ, la manipulation sera donc a refaire de temps en temps.


1) Trouver le port réserver par PIA dans le log de votre conteneur gluetun (le premier bouton sous quick action)





ici c'est le 45333 puis configurer ce port dans mldonkey


NB : mldonkey est l'agrégation de plusieurs applications en une seule et linux n'accepte qu'une seule application par port. Les port TCP et UDP faisant peu ou prou la même chose, pour ne pas créer de conflit et planter l'application, je vais configurer Mldonkey pour utiliser le port gluetun tcp sur le protocole ED2K et le port gluetun UDP pour le protocole DHT de Bittorent (voir screenshots suivants)




Ainsi mldonkey fonctionnera sans entrave sur les deux principaux protocoles de partage, bien entendu avec un autre VPN (plus cher) qui permet de configurer plusieurs transfert de port cette limite ne serait plus...


et le résultat



Je suis connecté en high ID sur mes 3 serveurs préférés




188 vues0 commentaire

Comments

Rated 0 out of 5 stars.
No ratings yet

Add a rating
bottom of page