FreeBSD Bugzilla – Attachment 231419 Details for
Bug 239921
[NEW PORT] www/rutorrent: Web front-end for the Bittorrent client rtorrent
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
patch
0cae0e710b.patch (text/plain), 16.58 KB, created by
Ivan Rozhuk
on 2022-01-29 01:53:20 UTC
(
hide
)
Description:
patch
Filename:
MIME Type:
Creator:
Ivan Rozhuk
Created:
2022-01-29 01:53:20 UTC
Size:
16.58 KB
patch
obsolete
>From 0cae0e710b0a653266801f81be5d8bc380f1ccc4 Mon Sep 17 00:00:00 2001 >From: Rozhuk Ivan <rozhuk.im@gmail.com> >Date: Wed, 23 Dec 2020 02:24:43 +0300 >Subject: [PATCH] www/rutorrent: Web front-end for the Bittorrent client > rtorrent > >https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=239921 > >ruTorrent is a web frontend for rtorrent designed to emulate the look >and feel of uTorrent WebUI so its appearance is quite similar to the >"parent". >The name "ruTorrent" is the combination of uTorrent and rtorrent. > >The original version of ruTorrent was based on an older version of >uTorrent Webui but has been completely rewritten as of 3.0. > >WWW: https://github.com/Novik/ruTorrent >--- > www/rutorrent/Makefile | 275 ++++++++++++++++++++++ > www/rutorrent/distinfo | 13 + > www/rutorrent/files/patch-conf_config.php | 52 ++++ > www/rutorrent/files/pkg-message.in | 17 ++ > www/rutorrent/files/rutorent.conf | 28 +++ > www/rutorrent/pkg-descr | 10 + > 6 files changed, 395 insertions(+) > create mode 100644 www/rutorrent/Makefile > create mode 100644 www/rutorrent/distinfo > create mode 100644 www/rutorrent/files/patch-conf_config.php > create mode 100644 www/rutorrent/files/pkg-message.in > create mode 100644 www/rutorrent/files/rutorent.conf > create mode 100644 www/rutorrent/pkg-descr > >diff --git a/www/rutorrent/Makefile b/www/rutorrent/Makefile >new file mode 100644 >index 000000000000..08b78941342e >--- /dev/null >+++ b/www/rutorrent/Makefile >@@ -0,0 +1,275 @@ >+# Created by: Rozhuk Ivan <rozhuk.im@gmail.com> >+ >+PORTNAME= rutorrent >+PORTVERSION= 3.10.20200925 >+DISTVERSIONPREFIX=v >+CATEGORIES= www >+ >+MAINTAINER= rozhuk.im@gmail.com >+COMMENT= Web front-end for the Bittorrent client rtorrent. >+ >+LICENSE= GPLv3 >+LICENSE_FILE= ${WRKSRC}/LICENSE.md >+ >+USES= php >+ >+NO_BUILD= yes >+NO_ARCH= yes >+USE_GITHUB= yes >+PORTEXAMPLES= rutorent.conf >+SUB_FILES= pkg-message >+GH_ACCOUNT= Novik >+GH_PROJECT= ruTorrent >+GH_TAGNAME= 8d75e5170b418da6041c2fa09e6613548e6916c1 >+ >+OPTIONS_DEFINE= EXAMPLES >+OPTIONS_GROUP= PLUGINS 3RDPARTY >+OPTIONS_GROUP_PLUGINS= AUTOTOOLS CHECKPORT CHUNKS COOKIES CPULOAD \ >+ CREATE DATA DATADIR DISKSPACE EDIT ERASEDATA EXTSEARCH \ >+ FEEDS FILEDROP GEOIP HISTORY HTTPRPC IPAD \ >+ LOGINMGR LOOKAT MEDIAINFO RATIO RETRACKERS RPC RSS \ >+ RUTRKCHK SCHEDULER SCREENSHOTS SEEDINGTIME \ >+ SWTORRENT SOURCE SPECTROGRAM THEME THROTTLE TRACKLBLS \ >+ TRAFIC UNPACK UPLOADETA XMPP >+OPTIONS_GROUP_3RDPARTY= HOSTNAME MOBILE INSTANTSEARCH PAUSEWEBUI \ >+ RATIOCOLOR >+OPTIONS_DEFAULT=CHUNKS CREATE DATADIR EDIT ERASEDATA HOSTNAME \ >+ SCHEDULER SEEDINGTIME SOURCE TRACKLBLS TRAFIC >+OPTIONS_SUB= yes >+ >+3RDPARTY_DESC= 3rd party plugins >+ >+AUTOTOOLS_DESC= Provides some possibilities on automation >+AUTOTOOLS_DIRS= autotools >+ >+CHECKPORT_DESC= Adds incoming port status indicator >+CHECKPORT_DIRS= check_port >+ >+CHUNKS_DESC= Shows the download status of torrent chunks >+CHUNKS_DIRS= chunks >+ >+COOKIES_DESC= Use cookies for client authentication on trackers >+COOKIES_DIRS= cookies >+ >+CPULOAD_DESC= Adds a CPU Load usage bar to the bottom toolbar >+CPULOAD_DIRS= cpuload >+ >+CREATE_DESC= Allows for the creation of new .torrent files >+CREATE_DIRS= create >+ >+DATA_DESC= Adds the "Get File" item to the right click menu >+DATA_DIRS= data >+ >+DATADIR_DESC= Replacement of the cur torrent data dir >+DATADIR_DIRS= datadir >+ >+DISKSPACE_DESC= Adds an easy to read disk meter >+DISKSPACE_DIRS= diskspace >+ >+EDIT_DESC= Edit list of trackers and comment of the torrent >+EDIT_DIRS= edit >+ >+ERASEDATA_DESC= Allows to delete data via context menu >+ERASEDATA_DIRS= erasedata >+ >+EXTSEARCH_DESC= Allows to search many popular torrent sites >+EXTSEARCH_DIRS= extsearch >+ >+FEEDS_DESC= Making RSS feeds with information of torrents >+FEEDS_DIRS= feeds >+ >+FILEDROP_DESC= Allows to drag multiple torrents to the browser >+FILEDROP_DIRS= filedrop >+ >+GEOIP_DESC= Shows geolocation of peers for the selected torrent >+GEOIP_DIRS= geoip >+ >+HISTORY_DESC= Log a history of torrents >+HISTORY_DIRS= history >+ >+HTTPRPC_DESC= Replacement for the mod_scgi webserver module >+HTTPRPC_DIRS= httprpc >+ >+IPAD_DESC= Use scrolling and right-click mouse button >+IPAD_DIRS= ipad >+ >+LOGINMGR_DESC= Used to login to 3rd party torrent sites >+LOGINMGR_DIRS= loginmgr >+ >+LOOKAT_DESC= Search for torrent name in external sources >+LOOKAT_DIRS= lookat >+ >+MEDIAINFO_DESC= Display media file information >+MEDIAINFO_DIRS= mediainfo >+MEDIAINFO_RUN_DEPENDS= mediainfo:multimedia/mediainfo >+ >+RATIO_DESC= Set ratio limits for groups of torrents >+RATIO_DIRS= extratio ratio >+ >+RETRACKERS_DESC=Add specified trackers to newly added torrents >+RETRACKERS_DIRS=retrackers >+ >+RPC_DESC= Replacement for the mod_scgi webserver module >+RPC_DIRS= rpc >+ >+RSS_DESC= Fetch torrents via rss download links >+RSS_DIRS= rss rssurlrewrite >+ >+RUTRKCHK_DESC= Checks the rutracker.org for changed torrents >+RUTRKCHK_DIRS= rutracker_check >+ >+SCHEDULER_DESC= Scheduler to control limits >+SCHEDULER_DIRS= scheduler >+ >+SCREENSHOTS_DESC= Show screenshots from video >+SCREENSHOTS_DIRS= screenshots >+SCREENSHOTS_RUN_DEPENDS=ffmpeg:multimedia/ffmpeg >+ >+SEEDINGTIME_DESC=Adds the columns 'Finished' and 'Added' >+SEEDINGTIME_DIRS=seedingtime >+ >+SWTORRENT_DESC= Show peers like wTorrent >+SWTORRENT_DIRS= show_peers_like_wtorrent >+ >+SOURCE_DESC= Adds a "Get .torrent" to the click context menu >+SOURCE_DIRS= source >+ >+SPECTROGRAM_DESC= Show spectrogram of audio files >+SPECTROGRAM_DIRS= spectrogram >+SPECTROGRAM_RUN_DEPENDS=sox:audio/sox >+ >+THEME_DESC= Allows change gui theme >+THEME_DIRS= theme >+ >+THROTTLE_DESC= Set limits of speed for groups of torrents >+THROTTLE_DIRS= throttle >+ >+TRACKLBLS_DESC= Adds a set of labels on the category panel >+TRACKLBLS_DIRS= tracklabels >+ >+TRAFIC_DESC= Subsystem for monitoring rtorrent traffic totals >+TRAFIC_DIRS= trafic >+ >+UNPACK_DESC= unrar/unzip torrent data >+UNPACK_DIRS= unpack >+UNPACK_RUN_DEPENDS= unrar:archivers/unrar >+ >+UPLOADETA_DESC= Add upload target and ETA columns >+UPLOADETA_DIRS= uploadeta >+ >+XMPP_DESC= Send notification via xmpp about finished downloads >+XMPP_DIRS= xmpp >+ >+HOSTNAME_DESC= Add hostname column to peers tab >+HOSTNAME_DIRS= hostname >+HOSTNAME_GH_ACCOUNT= rozhuk-im:plugin_hostname >+HOSTNAME_GH_PROJECT= rutorrent-hostname:plugin_hostname >+HOSTNAME_GH_TAGNAME= 3ea65a6934144c403d534ba1bc86c57263686c6e:plugin_hostname >+ >+INSTANTSEARCH_DESC= Searchresults appears instantly >+INSTANTSEARCH_DIRS= instantsearch >+INSTANTSEARCH_GH_ACCOUNT=Gyran:plugin_instantsearch >+INSTANTSEARCH_GH_PROJECT=rutorrent-instantsearch:plugin_instantsearch >+INSTANTSEARCH_GH_TAGNAME=d1bc52d6ef6547bc643312b5868c3662c7118a9b:plugin_instantsearch >+ >+MOBILE_DESC= Mobile version of ruTorrent >+MOBILE_DIRS= mobile >+MOBILE_GH_ACCOUNT= xombiemp:plugin_mobile >+MOBILE_GH_PROJECT= rutorrentMobile:plugin_mobile >+MOBILE_GH_TAGNAME= 922fad1da149592084e0e3e7813828a49cac7bc3:plugin_mobile >+ >+PAUSEWEBUI_DESC= Adds an button to pause the webui from updating >+PAUSEWEBUI_DIRS= pausewebui >+PAUSEWEBUI_GH_ACCOUNT= Gyran:plugin_pausewebui >+PAUSEWEBUI_GH_PROJECT= rutorrent-pausewebui:plugin_pausewebui >+PAUSEWEBUI_GH_TAGNAME= b398483f1e70c8e215ddbe34dfe3af3fc5f192ef:plugin_pausewebui >+ >+RATIOCOLOR_DESC= Change color of ratio column depending on ratio >+RATIOCOLOR_DIRS= ratiocolor >+RATIOCOLOR_GH_ACCOUNT= Gyran:plugin_ratiocolor >+RATIOCOLOR_GH_PROJECT= rutorrent-ratiocolor:plugin_ratiocolor >+RATIOCOLOR_GH_TAGNAME= 6036895b9efa20b7ad230518b56eab55a3d8fcb0:plugin_ratiocolor >+ >+.include <bsd.port.pre.mk> >+ >+.if ${PORT_OPTIONS:MIPAD} && ${PORT_OPTIONS:MMOBILE} >+IGNORE= options IPAD and WebUI are incopatible >+.endif >+ >+post-extract-HOSTNAME-on: >+ @${MKDIR} ${WRKSRC}/plugins/hostname/ >+ @${MV} ${WRKSRC_plugin_hostname}/* ${WRKSRC}/plugins/hostname/ >+ >+post-extract-INSTANTSEARCH-on: >+ @${MKDIR} ${WRKSRC}/plugins/instantsearch/ >+ @${MV} ${WRKSRC_plugin_instantsearch}/* ${WRKSRC}/plugins/instantsearch/ >+ >+post-extract-MOBILE-on: >+ @${MKDIR} ${WRKSRC}/plugins/mobile/ >+ @${MV} ${WRKSRC_plugin_mobile}/* ${WRKSRC}/plugins/mobile/ >+ >+post-extract-PAUSEWEBUI-on: >+ @${MKDIR} ${WRKSRC}/plugins/pausewebui/ >+ @${MV} ${WRKSRC_plugin_pausewebui}/* ${WRKSRC}/plugins/pausewebui/ >+ >+post-extract-RATIOCOLOR-on: >+ @${MKDIR} ${WRKSRC}/plugins/ratiocolor/ >+ @${MV} ${WRKSRC_plugin_ratiocolor}/* ${WRKSRC}/plugins/ratiocolor/ >+ >+do-install: >+ # Prepare. >+ @${FIND} ${WRKSRC} -type f \( \ >+ -name '*.orig' \ >+ -o -name '*.bak' \ >+ -o -name '.gitignore' \) -delete >+ @${MKDIR} ${STAGEDIR}${WWWDIR} >+ # Install base files. >+.for _dir in conf css images js lang php share >+ @(cd ${WRKSRC} && ${COPYTREE_SHARE} ${_dir} ${STAGEDIR}${WWWDIR}) >+.endfor >+.for _file in index.html >+ ${INSTALL_DATA} ${WRKSRC}/${_file} ${STAGEDIR}${WWWDIR}/ >+.endfor >+ # Install base plugins. >+ @${MKDIR} ${STAGEDIR}${WWWDIR}/plugins >+.for _dir in _getdir _noty _noty2 _task >+ @(cd ${WRKSRC}/plugins && ${COPYTREE_SHARE} ${_dir} ${STAGEDIR}${WWWDIR}/plugins) >+.endfor >+ # Install selected plugins. >+.for _opt in ${OPTIONS_GROUP_PLUGINS} ${OPTIONS_GROUP_3RDPARTY} >+. if ${PORT_OPTIONS:M${_opt}} >+. for _dir in ${${_opt}_DIRS} >+ @(cd ${WRKSRC}/plugins && ${COPYTREE_SHARE} ${_dir} ${STAGEDIR}${WWWDIR}/plugins) >+. endfor >+. endif >+.endfor >+ # Fix perms. >+ @${FIND} ${STAGEDIR}${WWWDIR} -type f -name "*.sh" -exec ${CHMOD} +x {} \+ >+ # Rename config files to .sample. >+.for _conf in access.ini config.php plugins.ini >+ @${MV} ${STAGEDIR}${WWWDIR}/conf/${_conf} ${STAGEDIR}${WWWDIR}/conf/${_conf}.sample >+.endfor >+ # Rename plugins configs to .sample. >+ @${FIND} ${STAGEDIR}${WWWDIR}/plugins -maxdepth 2 -type f \ >+ -name "conf.php" -exec ${MV} {} {}.sample \; >+ >+post-install-EXAMPLES-on: >+ @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} >+ ${INSTALL_DATA} ${FILESDIR}/rutorent.conf ${STAGEDIR}${EXAMPLESDIR}/ >+ >+post-stage: >+ # Generate plist. >+ @${SETENV} ${CO_ENV} ${SH} ${SCRIPTSDIR}/check-stagedir.sh makeplist | \ >+ ${GREP} -v ^\/ | \ >+ ${SED} -e 's|%%WWWDIR%%|www/${PORTNAME}|' \ >+ -e 's|%%PORTEXAMPLES%%||' \ >+ -e 's|%%EXAMPLESDIR%%|share/examples/${PORTNAME}|' \ >+ > ${TMPPLIST} >+ # Mark config files as samples in plist. >+ @${REINPLACE_CMD} -E "s|(.*\.sample)$$|@sample \1|" ${TMPPLIST} >+ # Fix perms. >+ @${ECHO_CMD} "@postexec chown -R root:${WWWGRP} ${WWWDIR}/share" >> ${TMPPLIST} >+ @${ECHO_CMD} "@postexec chmod -R u=rwX,g=rwX,o=rwX ${WWWDIR}/share" >> ${TMPPLIST} >+ @${ECHO_CMD} "@postexec chmod u=rw,g=r,o=r ${WWWDIR}/share/.htaccess" >> ${TMPPLIST} >+ >+.include <bsd.port.post.mk> >diff --git a/www/rutorrent/distinfo b/www/rutorrent/distinfo >new file mode 100644 >index 000000000000..0d9f9a4c760c >--- /dev/null >+++ b/www/rutorrent/distinfo >@@ -0,0 +1,13 @@ >+TIMESTAMP = 1601123013 >+SHA256 (Novik-ruTorrent-v3.10.20200925-8d75e5170b418da6041c2fa09e6613548e6916c1_GH0.tar.gz) = 44b3e5c349362a4d119d1d02ca4771c59455c4eedb8b2fbe3ec32ba2a0032392 >+SIZE (Novik-ruTorrent-v3.10.20200925-8d75e5170b418da6041c2fa09e6613548e6916c1_GH0.tar.gz) = 1181379 >+SHA256 (rozhuk-im-rutorrent-hostname-3ea65a6934144c403d534ba1bc86c57263686c6e_GH0.tar.gz) = 6beefd8cfbfbd547c23fd87f1cd2cd907039722afcfdfa47732807da570ed516 >+SIZE (rozhuk-im-rutorrent-hostname-3ea65a6934144c403d534ba1bc86c57263686c6e_GH0.tar.gz) = 4416 >+SHA256 (Gyran-rutorrent-instantsearch-d1bc52d6ef6547bc643312b5868c3662c7118a9b_GH0.tar.gz) = 3eb7a330a3b3fb73d26434a73b91c16227ebe58ad784a3c87b5545133d8cfedb >+SIZE (Gyran-rutorrent-instantsearch-d1bc52d6ef6547bc643312b5868c3662c7118a9b_GH0.tar.gz) = 793 >+SHA256 (xombiemp-rutorrentMobile-922fad1da149592084e0e3e7813828a49cac7bc3_GH0.tar.gz) = 93c43857253ac29b59467299aedf5a728c868e6aa151eb85fb229666b0c652b9 >+SIZE (xombiemp-rutorrentMobile-922fad1da149592084e0e3e7813828a49cac7bc3_GH0.tar.gz) = 277415 >+SHA256 (Gyran-rutorrent-pausewebui-b398483f1e70c8e215ddbe34dfe3af3fc5f192ef_GH0.tar.gz) = d62937518899ce84aec6020af424e3bc3a4bcb0eb2f7f0ed8be32c1974adbeb1 >+SIZE (Gyran-rutorrent-pausewebui-b398483f1e70c8e215ddbe34dfe3af3fc5f192ef_GH0.tar.gz) = 4012 >+SHA256 (Gyran-rutorrent-ratiocolor-6036895b9efa20b7ad230518b56eab55a3d8fcb0_GH0.tar.gz) = 291b5c578b6771a99963cb45edda840da1dbd0269c4b01edaa9ca1c723f74c37 >+SIZE (Gyran-rutorrent-ratiocolor-6036895b9efa20b7ad230518b56eab55a3d8fcb0_GH0.tar.gz) = 2922 >diff --git a/www/rutorrent/files/patch-conf_config.php b/www/rutorrent/files/patch-conf_config.php >new file mode 100644 >index 000000000000..a6781ec59c34 >--- /dev/null >+++ b/www/rutorrent/files/patch-conf_config.php >@@ -0,0 +1,52 @@ >+--- conf/config.php 2019-07-20 15:17:00.000000000 +0300 >++++ conf/config.php 2019-08-06 00:54:08.595573000 +0300 >+@@ -28,14 +28,14 @@ >+ $do_diagnostic = true; >+ $log_file = '/tmp/errors.log'; // path to log file (comment or leave blank to disable logging) >+ >+- $saveUploadedTorrents = true; // Save uploaded torrents to profile/torrents directory or not >++ $saveUploadedTorrents = false; // Save uploaded torrents to profile/torrents directory or not >+ $overwriteUploadedTorrents = false; // Overwrite existing uploaded torrents in profile/torrents directory or make unique name >+ >+ $topDirectory = '/'; // Upper available directory. Absolute path with trail slash. >+ $forbidUserSettings = false; >+ >+- $scgi_port = 5000; >+- $scgi_host = "127.0.0.1"; >++ $scgi_port = 0; >++ $scgi_host = "unix:///var/run/rtorrent-rpc.sock"; >+ >+ // For web->rtorrent link through unix domain socket >+ // (scgi_local in rtorrent conf file), change variables >+@@ -47,11 +47,17 @@ >+ $XMLRPCMountPoint = "/RPC2"; // DO NOT DELETE THIS LINE!!! DO NOT COMMENT THIS LINE!!! >+ >+ $pathToExternals = array( >+- "php" => '', // Something like /usr/bin/php. If empty, will be found in PATH. >+- "curl" => '', // Something like /usr/bin/curl. If empty, will be found in PATH. >+- "gzip" => '', // Something like /usr/bin/gzip. If empty, will be found in PATH. >+- "id" => '', // Something like /usr/bin/id. If empty, will be found in PATH. >+- "stat" => '', // Something like /usr/bin/stat. If empty, will be found in PATH. >++ "php" => '/usr/local/bin/php', >++ "curl" => '/usr/local/bin/curl', >++ "gzip" => '/usr/bin/gzip', >++ "id" => '/usr/bin/id', >++ "stat" => '/usr/bin/stat', >++ "pgrep" => '/usr/bin/pgrep', >++ "unzip" => '/usr/bin/unzip', >++ "unrar" => '/usr/local/bin/unrar', >++ "ffmpeg"=> '/usr/local/bin/ffmpeg', >++ "sox" => '/usr/local/bin/sox', >++ "mediainfo"=> '/usr/local/bin/mediainfo', >+ ); >+ >+ $localhosts = array( // list of local interfaces >+@@ -64,7 +70,7 @@ >+ // Both Webserver and rtorrent users must have read-write access to it. >+ // For example, if Webserver and rtorrent users are in the same group then the value may be 0770. >+ >+- $tempDirectory = null; // Temp directory. Absolute path with trail slash. If null, then autodetect will be used. >++ $tempDirectory = '/tmp'; // Temp directory. Absolute path with trail slash. If null, then autodetect will be used. >+ >+ $canUseXSendFile = false; // If true then use X-Sendfile feature if it exist >+ >diff --git a/www/rutorrent/files/pkg-message.in b/www/rutorrent/files/pkg-message.in >new file mode 100644 >index 000000000000..6ed146bb53fa >--- /dev/null >+++ b/www/rutorrent/files/pkg-message.in >@@ -0,0 +1,17 @@ >+[ >+{ type: install >+ message: <<EOM >+ >+rtorrent must be build with xml-rpc support. >+ >+An example configuration file for nginx has been installed in >+%%EXAMPLESDIR%%. >+ >+More information about setup: >+https://github.com/Novik/ruTorrent/wiki/MainInstall >+https://github.com/Novik/ruTorrent/wiki/Config >+https://github.com/Novik/ruTorrent/wiki/WebSERVER >+ >+EOM >+} >+] >diff --git a/www/rutorrent/files/rutorent.conf b/www/rutorrent/files/rutorent.conf >new file mode 100644 >index 000000000000..168d9d248d9d >--- /dev/null >+++ b/www/rutorrent/files/rutorent.conf >@@ -0,0 +1,28 @@ >+### Rozhuk Ivan 2009.04 - 2019 >+### nginx configuration file >+### PHP rutorrent HTTP request handler >+ >+ >+# You can include this to nginx server. >+# Before use: >+# 1. Check scgi_pass and fastcgi_pass. >+# 2. Make sure that you secure HTTP access to it. >+ >+ >+# SCGI for rtorrent. >+location ^~ /RPC2 { >+ include scgi_params; >+ scgi_pass unix:/var/run/rtorrent-rpc.sock; >+} >+ >+# Handle PHP files. >+location ~* /rutorrent/ { >+ index index.html; >+ location ~* \.php$ { >+ try_files $fastcgi_script_name = 404; >+ include fastcgi_params; >+ fastcgi_pass unix:/var/run/PHP-FCGI.sock; >+ fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; >+ fastcgi_param PATH_INFO $uri; >+ } >+} >diff --git a/www/rutorrent/pkg-descr b/www/rutorrent/pkg-descr >new file mode 100644 >index 000000000000..12af55c033c5 >--- /dev/null >+++ b/www/rutorrent/pkg-descr >@@ -0,0 +1,10 @@ >+ruTorrent is a web frontend for rtorrent designed to emulate the look >+and feel of uTorrent WebUI so its appearance is quite similar to the >+"parent". >+The name "ruTorrent" is the combination of uTorrent and rtorrent. >+ >+The original version of ruTorrent was based on an older version of >+uTorrent Webui but has been completely rewritten as of 3.0. >+ >+ >+WWW: https://github.com/Novik/ruTorrent
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 239921
:
206629
|
206650
|
216139
|
231419
|
255183
|
255191