Notices: This section not yet converted to new layout. Download stats are rolling back out.

This is not the latest version of SABnzbd+ available.

SABnzbd+

0.7.20

Package test results are passing.

Private CDN cached downloads available for licensed customers. Never experience 404 breakages again! Learn more...

This package was approved by moderator ferventcoder on 12/25/2015.

SABnzbd is an open-source cross-platform binary newsreader written in Python. It simplifies the process of downloading from Usenet dramatically, thanks to its web-based user interface and advanced built-in post-processing options that automatically verify, repair, extract and clean up posts downloaded from Usenet.

It's totally free, incredibly easy to use, and works practically everywhere.

SABnzbd makes Usenet as simple and streamlined as possible by automating everything we can. All you have to do is add an .nzb. SABnzbd takes over from there, where it will be automatically downloaded, verified, repaired, extracted and filed away with zero human interaction.

This installer properly sets up a system service to keep SABnzbd always running in the background and also properly sets up firewall exclusions.

Documentation

Community

To install SABnzbd+, run the following command from the command line or from PowerShell:

C:\> choco install sabnzbd --version 0.7.20

To upgrade SABnzbd+, run the following command from the command line or from PowerShell:

C:\> choco upgrade sabnzbd --version 0.7.20

Files

Hide
  • tools\chocolateyInstall.ps1 Show
    $packageName = 'sabnzbd'
    $installerType = 'exe'
    $silentArgs = '/S'
    $url = 'http://sourceforge.net/projects/sabnzbdplus/files/sabnzbdplus/0.7.20/SABnzbd-0.7.20-win32-setup.exe/download'
    $checksum = '1c8462cd89c86bc095c9694b9df5916b00f5faf8'
    $checksumType = 'sha1'
    $validExitCodes = @(0)
    $upgrade = $false
    
    function Get-CurrentDirectory {
      $thisName = $MyInvocation.MyCommand.Name
      [IO.Path]::GetDirectoryName((Get-Content function:$thisName).File)
    }
    
    . (Join-Path (Get-CurrentDirectory) 'WaitForSuccess.ps1')
    
    # stop helper services if they're running
    Get-Service -Include SABnzbd, SABHelper |
      Stop-Service -Force
    
    $programFilesPath = "${Env:\ProgramFiles(x86)}", $Env:ProgramFiles |
      Where-Object { Test-Path $_ } |
      Select -First 1
    
    $helper = 'SABnzbd-helper.exe'
    $service = 'SABnzbd-service.exe'
    
    $installPath = Join-Path $programFilesPath 'sabnzbd'
    # already installed, so must call remove on existing exes to be safe
    if (Test-Path $installPath)
    {
      $upgrade = $true
      $helper, $service |
        % {
          $path = Join-Path $installPath $_
          if (Test-Path $path) { &$path remove }
        }
    }
    
    # uses NSIS installer
    Install-ChocolateyPackage -PackageName "$packageName" `
                              -FileType "$installerType" `
                              -SilentArgs "$silentArgs" `
                              -Url "$url" `
                              -ValidExitCodes $validExitCodes `
                              -Checksum "$checksum" `
                              -ChecksumType "$checksumType"
    
    # need to turn on / install services
    @("${Env:\ProgramFiles(x86)}", '^%ProgramFiles(x86)^%'),
    @($Env:ProgramFiles, '^%ProgramFiles^%') |
      % {
        $path = Join-Path $_[0] 'sabnzbd'
        if (Test-Path $path)
        {
          Write-Host "Found SABnzbd installed at $path"
          $installPath = $path
          $dosPath = $_[1]
        }
      }
    
    # register file association
    # http://stackoverflow.com/questions/323426/windows-command-line-non-evaluation-of-environment-variable
    Write-Host "Registering SABnzbd NZB file associations"
    cmd /c assoc .nzb=NZBFile
    $sabPath = "^`"$dosPath\sabnzbd\SABnzbd.exe^`""
    cmd /c ftype NZBFile=$sabPath `"%1`"
    
    Push-Location $installPath
    
    $dataDirectory = Join-Path $Env:LOCALAPPDATA 'sabnzbd'
    Write-Host "Registering SABnzbd service with data at $dataDirectory"
    &".\$service" -f $dataDirectory install | Out-Null
    &".\$helper" install | Out-Null
    
    Pop-Location
    
    # Set-Service cmdlet doesn't have delayed start :(
    sc.exe config SABnzbd start= delayed-auto
    
    # configure windows firewall: http://wiki.sabnzbd.org/firewalls-and-virus-scanners
    Write-Host "Registering SABnzbd firewall exclusions"
    netsh advfirewall firewall delete rule name="SABnzbd"
    netsh advfirewall firewall add rule name="SABnzbd" dir=in protocol=tcp localport=8080 action=allow program="$installPath\SABnzbd-service.exe"
    netsh advfirewall firewall add rule name="SABnzbd" dir=in protocol=tcp localport=9090 action=allow program="$installPath\SABnzbd-service.exe"
    
    Write-Host "Starting SABnzbd service"
    Start-Service SABnzbd
    
    #wait up to 5 seconds for service to fire up
    $msg = 'SABnzbd service to start, to launch browser config'
    if (WaitForSuccess { (Get-Service SABnzbd).Status -eq 'Running' } 10 $msg)
    {
      # no need to use the web UI to configure an upgrade
      if (!$upgrade)
      {
        #launch local default browser to configure
        [Diagnostics.Process]::Start('http://localhost:8080') | Out-Null
      }
    }
    else
    {
      Write-Warning 'SABnzbd service failed to start!'
      return
    }
    
    
  • tools\chocolateyUninstall.ps1 Show
    $package = 'SABnzbd+'
    
    function Get-CurrentDirectory
    {
      $thisName = $MyInvocation.MyCommand.Name
      [IO.Path]::GetDirectoryName((Get-Content function:$thisName).File)
    }
    
    . (Join-Path (Get-CurrentDirectory) 'WaitForSuccess.ps1')
    
    try
    {
      # stop helper services if they're running
      Get-Service -Include SABnzbd, SABHelper |
        Stop-Service -Force
    
      Write-Host 'Removing Windows Firewall Exclusions'
      netsh advfirewall firewall delete rule name="SABnzbd+"
    
      $installPath = (Join-Path "${Env:\ProgramFiles(x86)}" 'sabnzbd'),
        (Join-Path 'Env:ProgramFiles' 'sabnzbd') |
        ? { Test-Path $_ } |
        Select -First 1
    
      $helper = 'SABnzbd-helper.exe'
      $service = 'SABnzbd-service.exe'
    
      # already installed, so must call remove on existing exes to be safe
      if ($installPath -ne $null)
      {
        Write-Host 'Removing SABnzbd+ services'
        $upgrade = $true
        $helper, $service |
          % {
            $path = Join-Path $installPath $_
            if (Test-Path $path) { &$path remove }
          }
      }
    
      # the above should completely remove existing services, but in case not
      'SABHelper', 'SABnzbd' |
        % { if (Get-Service -Include $_) { sc.exe delete $_ } }
    
      $uninstall = Join-Path $installPath 'Uninstall.exe'
    
      #uses NSIS installer - http://nsis.sourceforge.net/Docs/Chapter3.html
      $uninstallParams = @{
        PackageName = $package;
        FileType = 'exe';
        SilentArgs = '/S';
        File = $uninstall;
      }
    
      Uninstall-ChocolateyPackage @uninstallParams
    
      #remove file association to sabnzbd
      #http://stackoverflow.com/questions/323426/windows-command-line-non-evaluation-of-environment-variable
      Write-Host 'Removing SABnzbd+ NZB file associations'
      $nzbRunner = cmd /c ftype NZBFile
      if ($nzbRunner -match 'SABnzbd.exe')
      {
        cmd /c ftype NZBFile=
      }
    
      $uninstallComplete = {
        (Get-Process 'uninstall' -ErrorAction SilentlyContinue) -eq $null
      }
      if (WaitForSuccess $uninstallComplete 10 'uninstall to complete')
      {
        $installPath, (Join-Path $Env:LOCALAPPDATA 'sabnzbd') |
          % {
            $count = (Get-ChildItem $_ -Recurse -ErrorAction SilentlyContinue).Count
            if ($count -gt 0)
            {
              Write-Host "Remove remaining $count files from $_ manually"
            }
          }
      }
    
      Write-ChocolateySuccess $package
    }
    catch
    {
      Write-ChocolateyFailure $package "$($_.Exception.Message)"
      throw
    }
    
  • tools\WaitForSuccess.ps1 Show
    function WaitForSuccess([ScriptBlock] $script, [int]$seconds = 10,
      [string]$description = 'operation to complete')
    {
      $skip = $false
      Write-Host "Waiting up to $($seconds)s for $description..."
      $result = 0..($seconds * 2) |
        % {
          if ($skip) { return $true }
          $status = &$script
          if ($status -eq $true)
          {
            $skip = $true
            return $true
          }
          else
          {
            Start-Sleep -Milliseconds 500
          }
          return $false
        } |
        Select -Last 1
    
      return $result
    }
    

Virus Scan Results

In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.

Dependencies

This package has no dependencies.

Package Maintainer(s)

Software Author(s)

  • The SABnzbd-team

Copyright

© 2007 The SABnzbd-team

Tags

Release Notes

Program

Package

  • Automatically built and uploaded by dtgm

Version History

Version Downloads Last updated Status
SABnzbd 2.3.9-RC2 13 Saturday, May 18, 2019 approved
SABnzbd 2.3.9-RC1 15 Tuesday, May 7, 2019 approved
SABnzbd 2.3.8 410 Monday, March 18, 2019 approved
SABnzbd 2.3.8-RC1 21 Wednesday, March 13, 2019 approved
SABnzbd 2.3.8-Beta1 34 Monday, February 11, 2019 approved
SABnzbd 2.3.7 442 Saturday, January 12, 2019 approved
SABnzbd 2.3.7-RC1 32 Friday, January 4, 2019 approved
SABnzbd 2.3.7-Beta1 43 Monday, December 24, 2018 approved
SABnzbd 2.3.6 243 Friday, December 21, 2018 approved
Show More

Discussion for the SABnzbd+ Package

Ground rules:

  • This discussion is only about SABnzbd+ and the SABnzbd+ package. If you have feedback for Chocolatey, please contact the google group.
  • This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
  • The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
  • Tell us what you love about the package or SABnzbd+, or tell us what needs improvement.
  • Share your experiences with the package, or extra configuration or gotchas that you've found.
  • If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.

comments powered by Disqus
Chocolatey.org uses cookies to enhance the user experience of the site.
Ok