Import source

This commit is contained in:
Steffen Lange 2019-07-15 22:27:48 +02:00
parent 50b489784d
commit 32b8c4cb56
34 changed files with 890 additions and 0 deletions

View file

@ -0,0 +1,16 @@
<?php
class AdobeFlashPlayer extends PatchBase {
function __construct() {
parent::__construct('Adobe', 'Flash Player', 'https://get.adobe.com/de/flashplayer/');
}
function check() : bool {
if ($this->fetch('https://get.adobe.com/flashplayer/webservices/json/?platform_type=Windows&platform_dist=XP&platform_arch=x86-32&platform_misc=&exclude_version=10&browser_arch=&browser_type=&browser_vers=&browser_dist=&eventname=flashplayerotherversions', true)) {
$this->array_extract('flashplayerax');
return $this->parse_json('Version');
}
return false;
}
}
?>

14
modules/AdobeReader.php Normal file
View file

@ -0,0 +1,14 @@
<?php
class AdobeReader extends PatchBase {
function __construct() {
parent::__construct('Adobe', 'Acrobat Reader DC', 'https://get.adobe.com/de/reader/');
}
function check() : bool {
if ($this->fetch('https://get.adobe.com/de/reader/'))
return $this->parse('_<strong>Version ([\d\.]+)</strong>_');
return false;
}
}
?>

View file

@ -0,0 +1,14 @@
<?php
class AdoptOpenJDK11 extends PatchBase {
function __construct() {
parent::__construct('AdoptOpenJDK', 'OpenJDK JRE 11', 'https://adoptopenjdk.net/');
}
function check() : bool {
if ($this->fetch('https://api.adoptopenjdk.net/v2/info/releases/openjdk11?release=latest&openjdk_impl=hotspot&type=jre&os=windows&arch=x64', true))
return $this->parse_json('openjdk_version');
return false;
}
}
?>

View file

@ -0,0 +1,14 @@
<?php
class AdoptOpenJDK12 extends PatchBase {
function __construct() {
parent::__construct('AdoptOpenJDK', 'OpenJDK JRE 12', 'https://adoptopenjdk.net/');
}
function check() : bool {
if ($this->fetch('https://api.adoptopenjdk.net/v2/info/releases/openjdk12?release=latest&openjdk_impl=hotspot&type=jre&os=windows&arch=x64', true))
return $this->parse_json('openjdk_version');
return false;
}
}
?>

14
modules/AdoptOpenJDK8.php Normal file
View file

@ -0,0 +1,14 @@
<?php
class AdoptOpenJDK8 extends PatchBase {
function __construct() {
parent::__construct('AdoptOpenJDK', 'OpenJDK JRE 8', 'https://adoptopenjdk.net/');
}
function check() : bool {
if ($this->fetch('https://api.adoptopenjdk.net/v2/info/releases/openjdk8?release=latest&openjdk_impl=hotspot&type=jre&os=windows&arch=x64', true))
return $this->parse_json('openjdk_version');
return false;
}
}
?>

14
modules/Arduino.php Normal file
View file

@ -0,0 +1,14 @@
<?php
class Arduino extends PatchBase {
function __construct() {
parent::__construct('Arduino AG', 'Arduino IDE', 'https://www.arduino.cc/');
}
function check() : bool {
if ($this->fetch('https://www.arduino.cc/en/Main/Software'))
return $this->parse('_<div class="blue-title">[\s]*ARDUINO ([\d\.]+)[\s]*</div>_');
return false;
}
}
?>

14
modules/Caddy.php Normal file
View file

@ -0,0 +1,14 @@
<?php
class Caddy extends PatchBase {
function __construct() {
parent::__construct('Matthew Holt', 'Caddy', 'https://caddyserver.com/');
}
function check() : bool {
if ($this->fetch('https://api.github.com/repos/caddyserver/caddy/releases/latest', true))
return $this->parse_json('tag_name');
return false;
}
}
?>

View file

@ -0,0 +1,14 @@
<?php
class DirectoryLister extends PatchBase {
function __construct() {
parent::__construct('Chris Kankiewicz', 'Directory Lister', 'https://www.directorylister.com/');
}
function check() : bool {
if ($this->fetch('https://api.github.com/repos/DirectoryLister/DirectoryLister/releases/latest', true))
return $this->parse_json('tag_name');
return false;
}
}
?>

14
modules/GIMP.php Normal file
View file

@ -0,0 +1,14 @@
<?php
class GIMP extends PatchBase {
function __construct() {
parent::__construct('GIMP Team', 'GNU Image Manipulation Program', 'https://www.gimp.org/');
}
function check() : bool {
if ($this->fetch('https://www.gimp.org/downloads/'))
return $this->parse('_//download\.gimp\.org/mirror/pub/gimp/v[\d\.]+/windows/gimp-([\d\.]+)-setup[\-\d]*\.exe_');
return false;
}
}
?>

14
modules/Gitea.php Normal file
View file

@ -0,0 +1,14 @@
<?php
class Gitea extends PatchBase {
function __construct() {
parent::__construct('Gitea Authors', 'Gitea', 'https://gitea.io/');
}
function check() : bool {
if ($this->fetch('https://api.github.com/repos/go-gitea/gitea/releases/latest', true))
return $this->parse_json('tag_name');
return false;
}
}
?>

14
modules/GoogleChrome.php Normal file
View file

@ -0,0 +1,14 @@
<?php
class GoogleChrome extends PatchBase {
function __construct() {
parent::__construct('Google', 'Chrome', 'https://www.google.de/chrome/');
}
function check() : bool {
if ($this->fetch('https://omahaproxy.appspot.com/all'))
return $this->parse('/win64,stable,([\d\.]+),/');
return false;
}
}
?>

14
modules/GpgWin.php Normal file
View file

@ -0,0 +1,14 @@
<?php
class GpgWin extends PatchBase {
function __construct() {
parent::__construct('Gpg4win Initiative', 'GNU Privacy Guard for Windows', 'https://www.gpg4win.de/');
}
function check() : bool {
if ($this->fetch('https://www.gpg4win.de/get-gpg4win-de.html'))
return $this->parse('/<h2>Download Gpg4win ([\d\.]+) \(/');
return false;
}
}
?>

16
modules/MSOffice2019.php Normal file
View file

@ -0,0 +1,16 @@
<?php
class MSOffice2019 extends PatchBase {
function __construct() {
parent::__construct('Microsoft', 'Office 2019', 'https://docs.microsoft.com/en-us/OfficeUpdates/update-history-office-2019#retail-versions-of-office-2016-c2r-and-office-2019');
}
function check() : bool {
if ($this->fetch('https://docs.microsoft.com/en-us/OfficeUpdates/update-history-office-2019')) {
$this->str_crop('retail-versions-of-office-2016-c2r-and-office-2019', '</table>');
return $this->parse('/Version ([\d]+ \(Build [\d\.]+\))/');
}
return false;
}
}
?>

View file

@ -0,0 +1,16 @@
<?php
class MSOffice2019VL extends PatchBase {
function __construct() {
parent::__construct('Microsoft', 'Office 2019 VL', 'https://docs.microsoft.com/en-us/OfficeUpdates/update-history-office-2019#volume-licensed-versions-of-office-2019');
}
function check() : bool {
if ($this->fetch('https://docs.microsoft.com/en-us/OfficeUpdates/update-history-office-2019')) {
$this->str_crop('volume-licensed-versions-of-office-2019', '</table>');
return $this->parse('/Version ([\d]+ \(Build [\d\.]+\))/');
}
return false;
}
}
?>

View file

@ -0,0 +1,16 @@
<?php
class MikroTikRouterOS extends PatchBase {
function __construct() {
parent::__construct('MikroTik', 'RouterOS', 'https://mikrotik.com/download');
}
function check() : bool {
if ($this->fetch('https://mikrotik.com/download')) {
$this->str_crop('id="routeros"', '</thead>');
return $this->parse('/<th>([\d\.]+) \(Stable\)/');
}
return false;
}
}
?>

View file

@ -0,0 +1,14 @@
<?php
class MozillaFirefox extends PatchBase {
function __construct() {
parent::__construct('Mozilla', 'Firefox', 'https://www.mozilla.org/de/firefox/all/');
}
function check() : bool {
if ($this->fetch('https://www.mozilla.org/de/firefox/all/'))
return $this->parse('/data-latest-firefox="([\d\.]+)"/');
return false;
}
}
?>

View file

@ -0,0 +1,14 @@
<?php
class MozillaFirefoxESR extends PatchBase {
function __construct() {
parent::__construct('Mozilla', 'Firefox ESR', 'https://www.mozilla.org/de/firefox/organizations/all/');
}
function check() : bool {
if ($this->fetch('https://www.mozilla.org/de/firefox/organizations/all/'))
return $this->parse('/data-esr-versions="([\d\.]+)[ "]/');
return false;
}
}
?>

View file

@ -0,0 +1,14 @@
<?php
class MozillaThunderbird extends PatchBase {
function __construct() {
parent::__construct('Mozilla', 'Thunderbird', 'https://www.thunderbird.net/de/thunderbird/all/');
}
function check() : bool {
if ($this->fetch('https://www.thunderbird.net/de/thunderbird/all/'))
return $this->parse('_"https://download\.mozilla\.org/\?product=thunderbird-([\d\.]+)(-SSL)?&(amp;)?os=win&(amp;)?lang=en-US"_');
return false;
}
}
?>

14
modules/PHP.php Normal file
View file

@ -0,0 +1,14 @@
<?php
class PHP extends PatchBase {
function __construct() {
parent::__construct('PHP Group', 'PHP', 'https://www.php.net/');
}
function check() : bool {
if ($this->fetch('https://www.php.net/downloads.php'))
return $this->parse('_Current Stable</span>[\s]*PHP ([\d\.]+)_');
return false;
}
}
?>

14
modules/PuTTY.php Normal file
View file

@ -0,0 +1,14 @@
<?php
class PuTTY extends PatchBase {
function __construct() {
parent::__construct('Simon Tatham', 'PuTTY', 'https://www.chiark.greenend.org.uk/~sgtatham/putty/');
}
function check() : bool {
if ($this->fetch('https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html'))
return $this->parse('/latest release \(([\d\.]+)\)/');
return false;
}
}
?>

14
modules/SevenZip.php Normal file
View file

@ -0,0 +1,14 @@
<?php
class SevenZip extends PatchBase {
function __construct() {
parent::__construct('Igor Pavlov', '7-Zip', 'https://www.7-zip.org/');
}
function check() : bool {
if ($this->fetch('https://www.7-zip.org/download.html'))
return $this->parse('/Download 7-Zip ([\d\.]+) \(/');
return false;
}
}
?>

View file

@ -0,0 +1,14 @@
<?php
class TotalCommander extends PatchBase {
function __construct() {
parent::__construct('Ghisler', 'Total Commander', 'https://www.ghisler.com/');
}
function check() : bool {
if ($this->fetch('https://www.ghisler.com/download.htm'))
return $this->parse('/version ([\d\w\.]+) of/');
return false;
}
}
?>

14
modules/VLC.php Normal file
View file

@ -0,0 +1,14 @@
<?php
class VLC extends PatchBase {
function __construct() {
parent::__construct('VideoLAN', 'VLC media player', 'https://www.videolan.org/vlc/');
}
function check() : bool {
if ($this->fetch('https://www.videolan.org/vlc/download-windows.html'))
return $this->parse('_//get\.videolan\.org/vlc/([\d\.]+)/win32/vlc-[\d\.]+-win32\.exe_');
return false;
}
}
?>

14
modules/Wireshark.php Normal file
View file

@ -0,0 +1,14 @@
<?php
class Wireshark extends PatchBase {
function __construct() {
parent::__construct('Gerald Combs', 'Wireshark', 'https://www.wireshark.org/');
}
function check() : bool {
if ($this->fetch('https://www.wireshark.org/download.html'))
return $this->parse('/>Stable Release \(([\d\.]+)\)/');
return false;
}
}
?>

14
modules/cTop.php Normal file
View file

@ -0,0 +1,14 @@
<?php
class cTop extends PatchBase {
function __construct() {
parent::__construct('Bradley Cicenas', 'ctop', 'https://ctop.sh/');
}
function check() : bool {
if ($this->fetch('https://api.github.com/repos/bcicen/ctop/releases/latest', true))
return $this->parse_json('tag_name');
return false;
}
}
?>