1
0

Korrigiere Favicon

This commit is contained in:
Akamaru
2025-11-17 21:45:22 +01:00
parent 789c5391de
commit 864fb8d4e2
35 changed files with 177 additions and 35 deletions

View File

@@ -4,10 +4,14 @@ class AnantaBridge extends BridgeAbstract {
const MAINTAINER = 'Akamaru';
const NAME = 'Ananta Game News';
const URI = 'https://www.anantagame.com/news/';
const ICON = 'https://www.google.com/s2/favicons?domain=www.anantagame.com&sz=32';
const CACHE_TIMEOUT = 21600; // 21600 = 6h
const DESCRIPTION = 'Get the latest news from Ananta Game';
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=www.anantagame.com&sz=32';
}
public function collectData() {
// Retrieve webpage
$pageUrl = self::URI;

View File

@@ -4,10 +4,14 @@ class AnimationDigitalNetworkBridge extends BridgeAbstract {
const MAINTAINER = 'Akamaru';
const NAME = 'Animation Digital Network';
const URI = 'https://animationdigitalnetwork.com/';
const ICON = 'https://www.google.com/s2/favicons?domain=animationdigitalnetwork.com&sz=32';
const CACHE_TIMEOUT = 3600; // 1h
const DESCRIPTION = 'Holt die neuesten Episoden einer Serie von Animation Digital Network';
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=animationdigitalnetwork.com&sz=32';
}
const PARAMETERS = array(
array(
'show_id' => array(

View File

@@ -4,10 +4,14 @@ class BSICertBridge extends BridgeAbstract
const MAINTAINER = 'Brawl';
const NAME = 'BSI Bürger-CERT-Sicherheitshinweise';
const URI = 'https://www.bsi.bund.de/';
const ICON = 'https://www.google.com/s2/favicons?domain=www.bsi.bund.de&sz=32';
const CACHE_TIMEOUT = 21600; // 21600 = 6h
const DESCRIPTION = 'Sicherheitshinweise des Bürger-CERT vom Bundesministerium für Internetsicherheit';
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=www.bsi.bund.de&sz=32';
}
public function collectData()
{
// Retrieve webpage

View File

@@ -3,9 +3,14 @@ class BlueArchiveNewsBridge extends BridgeAbstract {
const MAINTAINER = 'Akamaru';
const NAME = 'Blue Archive News';
const URI = 'https://forum.nexon.com/bluearchive-en/';
const ICON = 'https://www.google.com/s2/favicons?domain=forum.nexon.com&sz=32';
const CACHE_TIMEOUT = 21600; // 6h
const DESCRIPTION = 'Get the latest Announcements, Updates, and Events from Blue Archive (EN) Forum.';
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=forum.nexon.com&sz=32';
}
const PARAMETERS = [
[
'category' => [

View File

@@ -4,10 +4,14 @@ class CUIIBridge extends BridgeAbstract
const MAINTAINER = 'Brawl, ChatGPT';
const NAME = 'CUII-Sperrungen';
const URI = 'https://cuii.info/anordnungen/';
const ICON = 'https://www.google.com/s2/favicons?domain=cuii.info&sz=32';
const CACHE_TIMEOUT = 21600; // 21600 = 6h
const DESCRIPTION = 'Zeigt die neuesten Sperrungen der CUII (Clearingstelle Urheberrecht im Internet)';
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=cuii.info&sz=32';
}
public function collectData()
{
$html = getSimpleHTMLDOM(self::URI) or returnServerError('Could not request cuii.info.');

View File

@@ -4,10 +4,14 @@ class CemuReleasesBridge extends BridgeAbstract {
const MAINTAINER = 'Brawl';
const NAME = 'Cemu Releases';
const URI = 'https://cemu.info/';
const ICON = 'https://www.google.com/s2/favicons?domain=cemu.info&sz=32';
const CACHE_TIMEOUT = 21600; // 21600 = 6h
const DESCRIPTION = 'Returns the latest Cemu releases.';
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=cemu.info&sz=32';
}
public function collectData() {
// Retrieve webpage
$pageUrl = self::URI . 'changelog.html';

View File

@@ -5,9 +5,14 @@ class CosppiBridge extends BridgeAbstract
const MAINTAINER = 'Brawl, GPT-4';
const NAME = 'Cosppi';
const URI = 'https://cosppi.net/';
const ICON = 'https://www.google.com/s2/favicons?domain=cosppi.net&sz=32';
const CACHE_TIMEOUT = 10800; // 10800 = 3h
const DESCRIPTION = 'Tweets from Cosplayers scraped by Cosppi';
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=cosppi.net&sz=32';
}
const PARAMETERS = [
'global' => [
'sort' => [

View File

@@ -6,11 +6,15 @@ class DiscoveryPlusBridge extends BridgeAbstract
{
const NAME = 'Discovery+ Bridge';
const URI = 'https://www.discoveryplus.com/';
const ICON = 'https://www.google.com/s2/favicons?domain=www.discoveryplus.com&sz=32';
const DESCRIPTION = 'RSS-Feed für Serien von Discovery+';
const CACHE_TIMEOUT = 21600; // 6h
const MAINTAINER = 'Akamaru';
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=www.discoveryplus.com&sz=32';
}
const PARAMETERS = [
[
'show_id' => [

View File

@@ -5,10 +5,14 @@ class DubesorBridge extends BridgeAbstract
const MAINTAINER = 'Brawl, Claude';
const NAME = 'Dubesor LLM Benchmark First Impressions';
const URI = 'https://dubesor.de/first-impressions';
const ICON = 'https://www.google.com/s2/favicons?domain=dubesor.de&sz=32';
const CACHE_TIMEOUT = 43200; // 12h
const DESCRIPTION = 'First impressions blog from Dubesor';
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=dubesor.de&sz=32';
}
public function collectData()
{
$pageUrl = $this->getURI();

View File

@@ -2,11 +2,15 @@
class EchoLederheckeBridge extends BridgeAbstract {
const NAME = 'Echo der Lederhecke';
const URI = 'https://www.sulzdorf-adl.de/unsere-gemeinde/gemeindeblatt';
const ICON = 'https://www.google.com/s2/favicons?domain=www.sulzdorf-adl.de&sz=32';
const DESCRIPTION = 'Neue Ausgaben des Gemeindeblatts "Echo der Lederhecke" als RSS-Feed.';
const MAINTAINER = 'Akamaru';
const CACHE_TIMEOUT = 3600; // 1 Stunde Cache
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=www.sulzdorf-adl.de&sz=32';
}
public function collectData() {
$url = self::URI;
$html = getSimpleHTMLDOM($url);

View File

@@ -2,11 +2,15 @@
class EverSDBridge extends BridgeAbstract {
const NAME = 'EverSD News Bridge';
const URI = 'https://eversd.com/news';
const ICON = 'https://www.google.com/s2/favicons?domain=eversd.com&sz=32';
const DESCRIPTION = 'EverSD News und Changelog.';
const MAINTAINER = 'Akamaru';
const CACHE_TIMEOUT = 3600; // 1 Stunde
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=eversd.com&sz=32';
}
public function collectData() {
$html = getSimpleHTMLDOM(self::URI);
if (!$html) {

View File

@@ -4,10 +4,14 @@ class EvercadeBridge extends BridgeAbstract {
const MAINTAINER = 'Akamaru';
const NAME = 'Evercade News';
const URI = 'https://evercade.co.uk/blog';
const ICON = 'https://www.google.com/s2/favicons?domain=evercade.co.uk&sz=32';
const CACHE_TIMEOUT = 21600; // 21600 = 6h
const DESCRIPTION = 'All the news from Evercade and our community';
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=evercade.co.uk&sz=32';
}
public function collectData() {
// Retrieve webpage
$pageUrl = self::URI;

View File

@@ -3,10 +3,14 @@ class FloridaTVBridge extends BridgeAbstract {
const MAINTAINER = 'Akamaru';
const NAME = 'FloridaTV Entertainment News';
const URI = 'https://www.floridatv-entertainment.de/news/';
const ICON = 'https://www.google.com/s2/favicons?domain=www.floridatv-entertainment.de&sz=32';
const CACHE_TIMEOUT = 21600; // 6 Stunden
const DESCRIPTION = 'Neueste News von FloridaTV Entertainment.';
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=www.floridatv-entertainment.de&sz=32';
}
public function collectData() {
$html = getSimpleHTMLDOM(self::URI);
if (!$html) {

View File

@@ -4,10 +4,14 @@ class FoodwatchBridge extends BridgeAbstract {
const MAINTAINER = 'Akamaru';
const NAME = 'Foodwatch.org News';
const URI = 'https://www.foodwatch.org';
const ICON = 'https://www.google.com/s2/favicons?domain=www.foodwatch.org&sz=32';
const CACHE_TIMEOUT = 21600; // 21600 = 6h
const DESCRIPTION = 'Get the latest news from Foodwatch.org.';
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=www.foodwatch.org&sz=32';
}
public function collectData() {
// Retrieve webpage
$pageUrl = self::URI . '/de/informieren/aktuelle-nachrichten/';

View File

@@ -2,11 +2,15 @@
class FuturamaHitAndRunBridge extends BridgeAbstract {
const NAME = 'Futurama: Hit & Run Mod Releases';
const URI = 'https://modbakery.donutteam.com/projects/downloads/48/183';
const ICON = 'https://www.google.com/s2/favicons?domain=modbakery.donutteam.com&sz=32';
const DESCRIPTION = 'Returns the latest releases for the Futurama: Hit & Run total conversion mod';
const MAINTAINER = 'Akamaru';
const CACHE_TIMEOUT = 3600; // 1 hour
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=modbakery.donutteam.com&sz=32';
}
public function collectData() {
$html = getSimpleHTMLDOM(self::URI);
if (!$html) return;

View File

@@ -4,7 +4,6 @@ class GalleryEpicBridge extends BridgeAbstract
const MAINTAINER = 'Brawl, Gemini';
const NAME = 'GalleryEpic Bridge';
const URI = 'https://galleryepic.com/';
const ICON = 'https://www.google.com/s2/favicons?domain=galleryepic.com&sz=32';
const DESCRIPTION = 'Returns the latest albums for a cosplayer on GalleryEpic.';
const PARAMETERS = [
[
@@ -19,6 +18,11 @@ class GalleryEpicBridge extends BridgeAbstract
];
const CACHE_TIMEOUT = 21600; // 6 hours
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=galleryepic.com&sz=32';
}
private $feedName = null;
public function collectData()

View File

@@ -5,9 +5,13 @@ class GenshinImpactNewsBridge extends BridgeAbstract
const MAINTAINER = 'Brawl, Akamaru';
const NAME = 'Genshin Impact News';
const URI = 'https://sg-public-api-static.hoyoverse.com/content_v2_user/app/a1b1f9d3315447cc/getContentList';
const ICON = 'https://www.google.com/s2/favicons?domain=genshin.hoyoverse.com&sz=32';
const CACHE_TIMEOUT = 3600; // 3600 = 1h
const DESCRIPTION = 'Get the latest news from Genshin Impact!';
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=genshin.hoyoverse.com&sz=32';
}
const PARAMETERS = array(
array(
'lang' => array(

View File

@@ -4,10 +4,14 @@ class HolonometriaMangaBridge extends BridgeAbstract
const MAINTAINER = 'Brawl, Akamaru';
const NAME = 'Holonometria Manga Series';
const URI = 'https://holoearth.com/en/alt/holonometria/manga/';
const ICON = 'https://www.google.com/s2/favicons?domain=holoearth.com&sz=32';
const CACHE_TIMEOUT = 21600; // 6h
const DESCRIPTION = 'Get the latest chapters of the Holonometria Manga series.';
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=holoearth.com&sz=32';
}
const PARAMETERS = [
[
'manga' => [

View File

@@ -3,9 +3,13 @@ class HumbleBundlesBridge extends BridgeAbstract {
const MAINTAINER = 'Akamaru';
const NAME = 'Humble Bundle';
const URI = 'https://www.humblebundle.com/';
const ICON = 'https://www.google.com/s2/favicons?domain=www.humblebundle.com&sz=32';
const CACHE_TIMEOUT = 3600; // 1h
const DESCRIPTION = 'Get the latest bundles from Humble Bundle.';
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=www.humblebundle.com&sz=32';
}
const PARAMETERS = [
[
'category' => [

View File

@@ -3,10 +3,14 @@ class IndiegalaFreebiesBridge extends BridgeAbstract {
const MAINTAINER = 'Akamaru';
const NAME = 'Indiegala Freebies';
const URI = 'https://freebies.indiegala.com/';
const ICON = 'https://www.google.com/s2/favicons?domain=freebies.indiegala.com&sz=32';
const CACHE_TIMEOUT = 21600; // 6h
const DESCRIPTION = 'Get the latest free PC games from Indiegala Freebies.';
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=freebies.indiegala.com&sz=32';
}
public function collectData() {
$html = getSimpleHTMLDOM(self::URI);
if (!$html) return;

View File

@@ -4,10 +4,14 @@ class JapanTimesFeaturesBridge extends BridgeAbstract {
const MAINTAINER = 'Brawl';
const NAME = 'Deep Reads by The Japan Times';
const URI = 'https://features.japantimes.co.jp/';
const ICON = 'https://www.google.com/s2/favicons?domain=features.japantimes.co.jp&sz=32';
const CACHE_TIMEOUT = 21600; // 21600 = 6h
const DESCRIPTION = 'Deep Dives from the JT.';
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=features.japantimes.co.jp&sz=32';
}
public function collectData() {
// Retrieve webpage
$pageUrl = self::URI;

View File

@@ -2,10 +2,14 @@
class JoynBridge extends BridgeAbstract {
const NAME = 'Joyn.de Serien RSS';
const URI = 'https://www.joyn.de/';
const ICON = 'https://www.google.com/s2/favicons?domain=www.joyn.de&sz=32';
const DESCRIPTION = 'RSS-Feed für Serien von Joyn.de';
const CACHE_TIMEOUT = 21600; // 6h
const MAINTAINER = 'Akamaru, Claude';
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=www.joyn.de&sz=32';
}
const PARAMETERS = [
[
'series_id' => [

View File

@@ -3,10 +3,14 @@ class KemonoFriendsMusicNewsBridge extends BridgeAbstract {
const MAINTAINER = 'Akamaru';
const NAME = 'Kemono Friends Music News';
const URI = 'https://www.jvcmusic.co.jp/kemono-friends/';
const ICON = 'https://www.google.com/s2/favicons?domain=www.jvcmusic.co.jp&sz=32';
const CACHE_TIMEOUT = 1; // 21600 = 6h
const DESCRIPTION = 'Get the latest news for Kemono Friends Music.';
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=www.jvcmusic.co.jp&sz=32';
}
public function collectData() {
// Retrieve webpage
$pageUrl = self::URI;

View File

@@ -2,9 +2,13 @@
class MainPostBridge extends BridgeAbstract {
const NAME = 'Main-Post Nachrichten';
const URI = 'https://www.mainpost.de/';
const ICON = 'https://www.google.com/s2/favicons?domain=www.mainpost.de&sz=32';
const DESCRIPTION = 'Nachrichten und Artikel von der Main-Post';
const MAINTAINER = 'Akamaru';
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=www.mainpost.de&sz=32';
}
const PARAMETERS = [
'Regionen' => [
'ort' => [

View File

@@ -3,10 +3,14 @@ class MuchoHentaiBridge extends BridgeAbstract {
const NAME = 'MuchoHentai ENG Subbed Releases';
const URI = 'https://muchohentai.com/';
const ICON = 'https://www.google.com/s2/favicons?domain=muchohentai.com&sz=32';
const DESCRIPTION = 'Shows new english subbed releases from MuchoHentai';
const MAINTAINER = 'Akamaru';
const CACHE_TIMEOUT = 3600; // 1 Stunde Cache
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=muchohentai.com&sz=32';
}
const PARAMETERS = [
'' => [

View File

@@ -4,9 +4,13 @@ class PokemonGOBridge extends BridgeAbstract {
const MAINTAINER = 'Brawl, Akamaru';
const NAME = 'Pokémon GO News';
const URI = 'https://pokemongo.com/';
const ICON = 'https://www.google.com/s2/favicons?domain=pokemongo.com&sz=32';
const CACHE_TIMEOUT = 21600; // 21600 = 6h
const DESCRIPTION = 'Get the latest official "Pokémon GO" news.';
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=pokemongo.com&sz=32';
}
const PARAMETERS = array(
array(
'lang' => array(

View File

@@ -4,10 +4,14 @@ class RTLPlusBridge extends BridgeAbstract
{
const NAME = 'RTL+ Serien RSS';
const URI = 'https://plus.rtl.de/';
const ICON = 'https://www.google.com/s2/favicons?domain=plus.rtl.de&sz=32';
const DESCRIPTION = 'RSS-Feed für Serien von RTL+';
const CACHE_TIMEOUT = 21600; // 6h
const MAINTAINER = 'Akamaru';
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=plus.rtl.de&sz=32';
}
const PARAMETERS = [
[
'series_id' => [

View File

@@ -5,9 +5,13 @@ class SSBUNewsBridge extends BridgeAbstract
const MAINTAINER = 'Brawl';
const NAME = 'Super Smash Bros. Ultimate News';
const URI = 'https://www-aaaba-lp1-hac.cdn.nintendo.net/';
const ICON = 'https://www.google.com/s2/favicons?domain=www.smashbros.com&sz=32';
const CACHE_TIMEOUT = 43200; // 43200 = 12h
const DESCRIPTION = 'Returns the latest Super Smash Bros. Ultimate news.';
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=www.smashbros.com&sz=32';
}
const PARAMETERS = array(
array(
'lang' => array(

View File

@@ -2,10 +2,14 @@
class SnowbreakNewsBridge extends BridgeAbstract {
const NAME = 'Snowbreak: Containment Zone News';
const URI = 'https://snowbreak.amazingseasun.com';
const ICON = 'https://www.google.com/s2/favicons?domain=snowbreak.amazingseasun.com&sz=32';
const DESCRIPTION = 'Returns the latest news from Snowbreak: Containment Zone';
const MAINTAINER = 'Akamaru';
const CACHE_TIMEOUT = 21600; // 6 hours
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=snowbreak.amazingseasun.com&sz=32';
}
const PARAMETERS = [
'Category' => [
'category' => [

View File

@@ -3,10 +3,14 @@ class StellaSoraBridge extends BridgeAbstract {
const MAINTAINER = 'Akamaru';
const NAME = 'Stella Sora News';
const URI = 'https://stellasora.global/news/';
const ICON = 'https://www.google.com/s2/favicons?domain=stellasora.global&sz=32';
const CACHE_TIMEOUT = 21600; // 6h
const DESCRIPTION = 'Get the latest news from Stella Sora (Global)';
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=stellasora.global&sz=32';
}
public function collectData() {
$apiUrl = 'https://stellasora.global/api/resource/news?index=1&size=999&type=latest';
$json = getContents($apiUrl)

View File

@@ -2,10 +2,14 @@
class ToggoBridge extends BridgeAbstract {
const NAME = 'Toggo.de Serien RSS';
const URI = 'https://www.toggo.de/';
const ICON = 'https://www.google.com/s2/favicons?domain=www.toggo.de&sz=32';
const DESCRIPTION = 'RSS-Feed für Serien von Toggo.de';
const CACHE_TIMEOUT = 21600; // 6h
const MAINTAINER = 'Akamaru';
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=www.toggo.de&sz=32';
}
const PARAMETERS = [
[
'series_id' => [

View File

@@ -5,10 +5,14 @@ class WHODiseaseOutbreakBridge extends BridgeAbstract
const MAINTAINER = 'Brawl';
const NAME = 'WHO Disease Outbreak News';
const URI = 'https://www.who.int/emergencies/disease-outbreak-news';
const ICON = 'https://www.google.com/s2/favicons?domain=www.who.int&sz=32';
const CACHE_TIMEOUT = 21600; // 21600 = 6h
const DESCRIPTION = 'Latest WHO Disease Outbreak News (DONs), providing information on confirmed acute public health events or potential events of concern.';
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=www.who.int&sz=32';
}
public function collectData()
{
// Retrieve webpage

View File

@@ -4,10 +4,14 @@ class WeiboPicsBridge extends BridgeAbstract
const MAINTAINER = 'Akamaru, Brawl, Gemini 2.5 Pro';
const NAME = 'Weibo User Pictures';
const URI = 'https://weibo.com';
const ICON = 'https://www.google.com/s2/favicons?domain=weibo.com&sz=32';
const CACHE_TIMEOUT = 3600; // 1 hour for feed data
const DESCRIPTION = 'Get the latest pictures from a Weibo user.';
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=weibo.com&sz=32';
}
const PARAMETERS = [[
'uid' => [
'name' => 'User ID',

View File

@@ -4,11 +4,15 @@ class WutheringWavesNewsBridge extends BridgeAbstract
{
const NAME = 'Wuthering Waves News';
const URI = 'https://wutheringwaves.kurogames.com/main/news';
const ICON = 'https://www.google.com/s2/favicons?domain=wutheringwaves.kurogames.com&sz=32';
const DESCRIPTION = 'Returns news articles from Wuthering Waves';
const MAINTAINER = 'Akamaru';
const CACHE_TIMEOUT = 3600; // 1 hour
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=wutheringwaves.kurogames.com&sz=32';
}
const PARAMETERS = [
[
'language' => [

View File

@@ -4,9 +4,13 @@ class Y2MateDownloaderBridge extends BridgeAbstract {
const MAINTAINER = 'Akamaru';
const NAME = 'Y2Mate Downloader Changelog';
const URI = 'https://y2matedownloader.com/y2mate-downloader-changelog';
const ICON = 'https://www.google.com/s2/favicons?domain=y2matedownloader.com&sz=32';
const CACHE_TIMEOUT = 21600; // 6 hours
const DESCRIPTION = 'Changelog for Y2Mate Downloader';
public function getIcon()
{
return 'https://www.google.com/s2/favicons?domain=y2matedownloader.com&sz=32';
}
const PARAMETERS = [
'Language' => [
'lang' => [