initial commit of file from CVS for smeserver-transmission on Sat Sep 7 21:09:17 AEST 2024

This commit is contained in:
Trevor Batley
2024-09-07 21:09:17 +10:00
parent 57aa070cba
commit 63438bf3e1
36 changed files with 913 additions and 2 deletions

View File

@@ -0,0 +1 @@
reserved

View File

@@ -0,0 +1 @@
reserved

View File

@@ -0,0 +1 @@
51413

View File

@@ -0,0 +1 @@
public

View File

@@ -0,0 +1 @@
enabled

View File

@@ -0,0 +1 @@
service

View File

@@ -0,0 +1 @@
transmission

View File

@@ -0,0 +1 @@
local

View File

@@ -0,0 +1 @@
/var/lib/transmission/Downloads

View File

@@ -0,0 +1 @@
local

View File

@@ -0,0 +1 @@
dl-transmission

View File

@@ -0,0 +1 @@
enabled

View File

@@ -0,0 +1 @@
configuration

View File

@@ -0,0 +1,4 @@
#!/usr/bin/perl
system('chown root:www /usr/bin/unixgroup');
system('chmod 750 /usr/bin/unixgroup');
system('chown -R transmission:transmission /var/lib/transmission/');

View File

@@ -0,0 +1,3 @@
UID="transmission"
GID="transmission"
PERMS=0600

View File

@@ -0,0 +1,59 @@
{ my $status = $transmission{'status'} || "disabled";
return " # transmission is disabled in this VirtualHost"
unless $status eq 'enabled';
my @transmission_web_user = split(",", ($transmission{'Webuser'} || "") );
my @transmission_web_group = split(",", ($transmission{'Webgroup'} || "") );
{
$OUT .= "###########################################################\n";
$OUT .= "####### Transmission web download folder ###########\n";
$OUT .= "###########################################################\n";
{
$OUT .= "Alias /$transmission{'Webdlurl'} $transmission{'Transdlfolder'}\n";
$OUT .= "\n";
$OUT .= "\<Directory $transmission{'Transdlfolder'}\/>\n";
$OUT .= " Options Indexes\n";
$OUT .= " order deny,allow\n";
$OUT .= " deny from all\n";
$OUT .= " SSLRequireSSL\n";
if ($transmission{'Webdlaccess'} eq 'local')
{
$OUT .= " allow from $localAccess\n";
}
if ($transmission{'Webdlaccess'} eq 'global')
{
$OUT .= " allow from all\n";
}
if (($transmission{'Webdlaccess'} ne 'global') && ($transmission{'Webdlaccess'} ne 'local'))
{
$OUT .= " allow from none\n";
}
$OUT .= " AuthName \"$transmission{'Name'}\"\n";
$OUT .= " AuthType Basic\n";
$OUT .= " AuthBasicProvider external\n";
$OUT .= " AuthExternal pwauth\n";
$OUT .= " GroupExternal unixgroup\n";
$OUT .= " AuthzUserAuthoritative off\n";
$OUT .= " require user admin ";
foreach my $transmission_web_user (@transmission_web_user)
{
$OUT .= " $transmission_web_user";
}
$OUT .="\n";
$OUT .= " require group ";
foreach my $transmission_web_group (@transmission_web_group)
{
$OUT .= " $transmission_web_group";
}
$OUT .="\n";
$OUT .= "</Directory>\n";
$OUT .= "#########\n";
}
}
}

View File

@@ -0,0 +1,19 @@
{
my $status = $transmission{'status'} || "disabled";
return " # transmission is disabled in this VirtualHost"
unless $status eq 'enabled';
{
if ($port ne "443")
{
$OUT .= "## Redirect Web Address to Secure Address\n";
$OUT .= "RewriteEngine on\n";
$OUT .= "RewriteRule ^/$transmission{'Webdlurl'} https://%{HTTP_HOST}/$transmission{'Webdlurl'}\n";
$OUT .= "## End Of Redirect\n";
}
}
}

View File

@@ -0,0 +1,77 @@
{ my $status = $transmission{'status'} || "disabled";
return " # transmission is disabled in this VirtualHost"
unless $status eq 'enabled';
my @transmission_user = split(",", ($transmission{'Transuser'} || "") );
my @transmission_group = split(",", ($transmission{'Transgroup'} || "") );
{
$OUT .= "###########################################################\n";
$OUT .= "####### Transmission reverse proxy ##########\n";
$OUT .= "###########################################################\n";
{
if ($port ne "443")
{
$OUT .= "# Redirect transmission Address to Secure Address\n";
$OUT .= " RewriteEngine On\n";
$OUT .= " RewriteCond %{HTTPS} off\n";
$OUT .= " RewriteRule \/$transmission{'Name'} https:\/\/%{HTTP_HOST}:443\/$transmission{'Name'}\n";
$OUT .= "## End Of Redirect\n";
}
$OUT .= " ##########\n";
$OUT .= " AddExternalGroup unixgroup /usr/bin/unixgroup\n";
$OUT .= " SetExternalGroupMethod unixgroup environment\n";
$OUT .= " \n";
$OUT .= " AddExternalAuth pwauth /usr/bin/pwauth\n";
$OUT .= " SetExternalAuthMethod pwauth pipe\n";
$OUT .= " #########\n";
$OUT .= " ProxyPass \/$transmission{'Name'} http:\/\/127.0.0.1:9091\/$transmission{'Name'}\n";
$OUT .= " ProxyPassReverse \/$transmission{'Name'} http:\/\/127.0.0.1:9091\/$transmission{'Name'}\n";
$OUT .= "#########\n";
$OUT .= "\<Location \/$transmission{'Name'}\>\n";
$OUT .= " order deny,allow\n";
$OUT .= " deny from all\n";
$OUT .= " SSLRequireSSL\n";
if ($transmission{'PublicAccess'} eq 'local')
{
$OUT .= " allow from $localAccess\n";
}
if ($transmission{'PublicAccess'} eq 'global')
{
$OUT .= " allow from all\n";
}
if (($transmission{'PublicAccess'} ne 'global') && ($transmission{'PublicAccess'} ne 'local'))
{
$OUT .= " allow from none\n";
}
$OUT .= " AuthName \"$transmission{'Name'}\"\n";
$OUT .= " AuthBasicProvider external\n";
$OUT .= " AuthType Basic\n";
$OUT .= " AuthExternal pwauth\n";
$OUT .= " GroupExternal unixgroup\n";
$OUT .= " AuthzUserAuthoritative off\n";
$OUT .= " require user admin ";
foreach my $transmission_user (@transmission_user)
{
$OUT .= " $transmission_user";
}
$OUT .="\n";
$OUT .= " require group ";
foreach my $transmission_group (@transmission_group)
{
$OUT .= " $transmission_group";
}
$OUT .="\n";
$OUT .= "\<\/Location\>\n";
$OUT .= "#########\n";
}
}
}

View File

@@ -0,0 +1,27 @@
{ my $status = $transmission{'status'} || "disabled";
return " # transmission is disabled in smb.conf"
unless $status eq 'enabled';
{
my @transmission_smb_users = split(",", ($transmission{'Smbusers'} || "") );
$OUT .= "\[$transmission{'Name'}\]\n";
$OUT .= "comment = Transmission download folder\n";
$OUT .= "path = $transmission{'Transdlfolder'}\n";
$OUT .= "valid users \= admin ";
foreach my $transmission_smb_users (@transmission_smb_users)
{
$OUT .= " $transmission_smb_users";
}
$OUT .="\n";
$OUT .= "force user = transmission\n";
$OUT .= "force group = transmission\n";
$OUT .= "read only = no\n";
$OUT .= "browsable = yes\n";
$OUT .= "writable = yes\n";
$OUT .= "create mode = 0644\n";
$OUT .= "directory mask = 0755\n";
}
}

View File

@@ -0,0 +1,72 @@
\{
"alt-speed-down": 50,
"alt-speed-enabled": false,
"alt-speed-time-begin": 540,
"alt-speed-time-day": 127,
"alt-speed-time-enabled": false,
"alt-speed-time-end": 1020,
"alt-speed-up": 50,
"bind-address-ipv4": "0.0.0.0",
"bind-address-ipv6": "::",
"blocklist-enabled": false,
"blocklist-url": "http://www.example.com/blocklist",
"cache-size-mb": 4,
"dht-enabled": true,
{
$OUT .= " \"download-dir\": \"$transmission{'Transdlfolder'}\",\n";
}
"download-queue-enabled": true,
"download-queue-size": 5,
"encryption": 1,
"idle-seeding-limit": 30,
"idle-seeding-limit-enabled": false,
{
$OUT .= " \"incomplete-dir\": \"$transmission{'Transdlfolder'}\/Partial\",\n";
}
"incomplete-dir-enabled": true,
"lpd-enabled": false,
"message-level": 2,
"peer-congestion-algorithm": "",
"peer-limit-global": 240,
"peer-limit-per-torrent": 60,
"peer-port": 51413,
"peer-port-random-high": 65535,
"peer-port-random-low": 49152,
"peer-port-random-on-start": false,
"peer-socket-tos": "default",
"pex-enabled": true,
"port-forwarding-enabled": true,
"preallocation": 1,
"prefetch-enabled": 1,
"queue-stalled-enabled": true,
"queue-stalled-minutes": 30,
"ratio-limit": 2,
"ratio-limit-enabled": false,
"rename-partial-files": true,
"rpc-authentication-required": false,
"rpc-bind-address": "0.0.0.0",
"rpc-enabled": true,
"rpc-password": "\{ded074de2072dc7e2dac05ae228e63167354b211D8D3ESWb",
"rpc-port": 9091,
{
$OUT .= " \"rpc-url\": \"\/$transmission{'Name'}\/\",\n";
}
"rpc-username": "",
"rpc-whitelist": "127.0.0.1",
"rpc-whitelist-enabled": true,
"scrape-paused-torrents-enabled": true,
"script-torrent-done-enabled": false,
"script-torrent-done-filename": "",
"seed-queue-enabled": false,
"seed-queue-size": 10,
"speed-limit-down": 100,
"speed-limit-down-enabled": false,
"speed-limit-up": 100,
"speed-limit-up-enabled": false,
"start-added-torrents": true,
"trash-original-torrent-files": false,
"umask": 18,
"upload-slots-per-torrent": 14,
"utp-enabled": true
\}

View File