OpenWrt + внешний HDD + Transmission + Samba

О том как подключить внешний USB-накопитель к роутеру под управлением OpenWRT я уже писал. Однако, сегодня будем использовать для подключения block-mount.

На подключенном внешнем накопителе развернем Transmission для скачивания файлов с помощью bittorent и Samba для удаленного доступа к скаченным файлам.

Внешний HDD

Предположим что у нас уже есть жесткий диск (/dev/sda) с разделом отформатированным ext4, тогда нам потребуются следующие пакеты

root@OpenWrt:~# opkg update
root@OpenWrt:~# opkg install block-mount kmod-fs-ext4

Добавляем секцию в файл /etc/config/fstab

config mount
        option target   /opt 
        option device   /dev/sda1
        option fstype   ext4
        option options  rw,relatime,data=ordered      
        option enabled  1
        option enabled_fsck 1

Активируем fstab

root@OpenWrt:~# /etc/init.d/fstab enable
root@OpenWrt:~# /etc/init.d/fstab start

В итоге должно получиться примерно следующее:

root@OpenWrt:~# df -h
Filesystem                Size      Used Available Use% Mounted on
rootfs                    3.3M      1.8M      1.4M  56% /
/dev/root                 2.0M      2.0M         0 100% /rom
tmpfs                    30.1M      1.9M     28.3M   6% /tmp
tmpfs                   512.0K         0    512.0K   0% /dev
/dev/mtdblock4            3.3M      1.8M      1.4M  56% /overlay
overlayfs:/overlay        3.3M      1.8M      1.4M  56% /
/dev/sda1               465.3G      7.0G    435.0G   2% /opt

Transmission довольно объемный пакет, особенно если поставить несколько вариантов интерфейсов к нему, поэтому добавляем внешний накопитель в качестве раздела для установки пакетов.

root@OpenWrt:~# echo dest usb /opt >> /etc/opkg.conf

Transmission daemon

Устанавливаем службу Transmission:

root@OpenWrt:~# opkg -dest usb install transmission-daemon 
root@OpenWrt:~# opkg-link add transmission-daemon

Все настройки Transmission находятся в файле /etc/config/transmission, они довольно понятны, основные из них:

	option enabled 1 
	option config_dir '/opt/transmission'
	option user 'nobody'
	option download_dir '/opt/transmission/done'
	option encryption 0
	option incomplete_dir '/opt/transmission/incomplete'
	option peer_port 51413
	option peer_port_random_on_start false
	option preallocation 1
	option prefetch_enabled true
	option rename_partial_files true
	option rpc_authentication_required false
	option rpc_bind_address '0.0.0.0'
	option rpc_enabled true
	option rpc_password ''
	option rpc_port 9091
	option rpc_url '/transmission/'
	option rpc_username ''
	option rpc_whitelist '127.0.0.1,192.168.*'
	option rpc_whitelist_enabled true
	option watch_dir_enabled true
	option watch_dir '/opt/transmission/watch'

Служба установлена, но, сама по себе, даже учитывая watch_dir, она не очень удобна для использования. У нас на выбор есть три варианта интерфейса к transmission-daemon.

Transmisson Web-UI

Управлять Transmisson со своего компьютера можно через простой и удобный веб-интерфейс.

root@OpenWrt:~# opkg -dest usb install transmission-web
root@OpenWrt:~# opkg-link add transmission-web

Скриншоты

ransmission web-ui common transmission web-ui details ransmission web-ui details 2
transmission web-ui details 3 transmission web-ui details 4 transmission web-ui details 5

Transmisson Remote GUI

Помимо веб-интерфеса Transmisson представляет RPC-протокол для удаленного управления. В качестве клиента, например, может выступать кроссплатформенное приложение transmisson-remote-gui.

root@OpenWrt:~# opkg -dest usb install transmission-remote 
root@OpenWrt:~# opkg-link add transmission-remote

Скриншоты

Transmisson Remote GUI Transmisson Remote GUI Transmisson Remote GUI
Transmisson Remote GUI Transmisson Remote GUI Transmisson Remote GUI

Transmisson CLI

Так же стоит упомянуть, что у Transmisson если клиент командной строки:

root@OpenWrt:~# opkg -dest usb install transmission-cli 
root@OpenWrt:~# opkg-link add transmission-cli 

После установки выбранного GUI, запускаем службу.

root@OpenWrt:~# /etc/init.d/transmission enable
root@OpenWrt:~# /etc/init.d/transmission start

Samba

Осталось настроить сервер Samb’ы, чтобы была возможность удаленного доступа к загруженным файлам, а так же, чтобы можно было закидывать torrent-файлы на скачивание без помощи клиента.

root@OpenWrt:~# opkg -dest usb install samba36-server
root@OpenWrt:~# opkg-link add samba36-server

Приведенный ниже конфигурационный файл /etc/config/samba предоставляет полный доступ к двум каталогам без авторизации и может использоваться только в безопасной домашней сети.

config samba
        option 'name'                   'DIR-825'
        option 'workgroup'              'WORKGROUP'
        option 'description'            'OpenWrt'
        option 'homes'                  '0'

config 'sambashare'  
        option 'name' 'Done'
        option 'path' '/opt/transmission/done'
        option 'guest_ok' 'yes'                
        option 'create_mask' '0777'                        
        option 'dir_mask' '0777'                                
        option 'read_only' 'no'    
config 'sambashare'  
        option 'name' 'Watch'
        option 'path' '/opt/transmission/watch'
        option 'guest_ok' 'yes'                
        option 'create_mask' '0777'                        
        option 'dir_mask' '0777'                                
        option 'read_only' 'no'    

Запускаем службу и пробуем обнаружить свой роутер в сети.

root@OpenWrt:~# /etc/init.d/samba enable
root@OpenWrt:~# /etc/init.d/samba start

Samba OpenWRT

12 комментариев “OpenWrt + внешний HDD + Transmission + Samba”

Комментирование закрыто.