--- www/rutorrent/Makefile (nonexistent) +++ www/rutorrent/Makefile (working copy) @@ -0,0 +1,259 @@ +# Created by: Rozhuk Ivan +# $FreeBSD$ + +PORTNAME= rutorrent +PORTVERSION= 3.10 +DISTVERSIONPREFIX=v +DISTVERSIONSUFFIX=-beta +CATEGORIES= www + +MAINTAINER= ports@FreeBSD.org +COMMENT= ruTorrent is a web front-end for the Bittorrent client rtorrent. + +LICENSE= GPLv3 +LICENSE_FILE= ${WRKSRC}/LICENSE.md + +USES= php:flavors + +NO_BUILD= yes +NO_ARCH= yes +USE_GITHUB= yes +SUB_FILES= pkg-message +GH_ACCOUNT= Novik +GH_PROJECT= ruTorrent + +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= df181f25a7c957b300b2774352678b61f9d2aca3:plugin_ratiocolor + +.include + +.if ${PORT_OPTIONS:MIPAD} && ${PORT_OPTIONS:MMOBILE} +IGNORE= 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} -name '*.orig' -delete + @${FIND} ${WRKSRC} -name '*.bak' -delete + @${FIND} ${WRKSRC} -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 {} \+ + @${CHMOD} -R 0777 ${STAGEDIR}${WWWDIR}/share + @${CHMOD} 0644 ${STAGEDIR}${WWWDIR}/share/.htaccess + # There is a variability file names due to the use of plugins configuration, so we use the automatic plist. + @${SETENV} ${CO_ENV} ${SH} ${SCRIPTSDIR}/check-stagedir.sh makeplist | ${GREP} -v ^\/ | ${SED} -e 's|%%WWWDIR%%|www/rutorrent|' > ${TMPPLIST} + + # Rename config files to .sample, mark config files as samples in plist. +.for _sampl in access.ini config.php plugins.ini + @${MV} ${STAGEDIR}${WWWDIR}/conf/${_sampl} ${STAGEDIR}${WWWDIR}/conf/${_sampl}.sample + @${REINPLACE_CMD} \ + -e "s|^\(www/rutorrent/conf/${_sampl}\).*|@sample \1.sample|" \ + ${TMPPLIST} +.endfor + +.include --- www/rutorrent/distinfo (nonexistent) +++ www/rutorrent/distinfo (working copy) @@ -0,0 +1,13 @@ +TIMESTAMP = 1565169848 +SHA256 (Novik-ruTorrent-v3.10-beta_GH0.tar.gz) = 2c329725f267e024118bd809996b65302f3df7a447b07834fd889597a1e32475 +SIZE (Novik-ruTorrent-v3.10-beta_GH0.tar.gz) = 1157936 +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-df181f25a7c957b300b2774352678b61f9d2aca3_GH0.tar.gz) = ac963a62fdd5d0fbec003df0181c12424d56b1bfacb528c1735afe03f428e547 +SIZE (Gyran-rutorrent-ratiocolor-df181f25a7c957b300b2774352678b61f9d2aca3_GH0.tar.gz) = 2887 --- www/rutorrent/files/patch-conf_config.php (nonexistent) +++ www/rutorrent/files/patch-conf_config.php (working copy) @@ -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 + --- www/rutorrent/files/pkg-message.in (nonexistent) +++ www/rutorrent/files/pkg-message.in (working copy) @@ -0,0 +1,38 @@ +[ +{ type: install + message: <