Import source
This commit is contained in:
parent
50b489784d
commit
32b8c4cb56
34 changed files with 890 additions and 0 deletions
16
modules/AdobeFlashPlayer.php
Normal file
16
modules/AdobeFlashPlayer.php
Normal 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
14
modules/AdobeReader.php
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
14
modules/AdoptOpenJDK11.php
Normal file
14
modules/AdoptOpenJDK11.php
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
14
modules/AdoptOpenJDK12.php
Normal file
14
modules/AdoptOpenJDK12.php
Normal 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
14
modules/AdoptOpenJDK8.php
Normal 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
14
modules/Arduino.php
Normal 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
14
modules/Caddy.php
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
14
modules/DirectoryLister.php
Normal file
14
modules/DirectoryLister.php
Normal 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
14
modules/GIMP.php
Normal 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
14
modules/Gitea.php
Normal 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
14
modules/GoogleChrome.php
Normal 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
14
modules/GpgWin.php
Normal 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
16
modules/MSOffice2019.php
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
16
modules/MSOffice2019VL.php
Normal file
16
modules/MSOffice2019VL.php
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
16
modules/MikroTikRouterOS.php
Normal file
16
modules/MikroTikRouterOS.php
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
14
modules/MozillaFirefox.php
Normal file
14
modules/MozillaFirefox.php
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
14
modules/MozillaFirefoxESR.php
Normal file
14
modules/MozillaFirefoxESR.php
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
14
modules/MozillaThunderbird.php
Normal file
14
modules/MozillaThunderbird.php
Normal 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
14
modules/PHP.php
Normal 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
14
modules/PuTTY.php
Normal 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
14
modules/SevenZip.php
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
14
modules/TotalCommander.php
Normal file
14
modules/TotalCommander.php
Normal 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
14
modules/VLC.php
Normal 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
14
modules/Wireshark.php
Normal 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
14
modules/cTop.php
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
Loading…
Add table
Add a link
Reference in a new issue