Erstelle NyaaLinkFixer

This commit is contained in:
Akamaru
2025-10-14 13:22:18 +02:00
commit 133f66481e
3 changed files with 97 additions and 0 deletions

57
README.md Normal file
View File

@@ -0,0 +1,57 @@
# xNyaaLinkFixer - FreshRSS Plugin
Ein FreshRSS-Plugin, das automatisch Nyaa.si Download-Links in View-Links umwandelt.
## Funktionalität
Das Plugin konvertiert Links von:
```
https://nyaa.si/download/1234567.torrent
```
zu:
```
https://nyaa.si/view/1234567
```
Dies ermöglicht es, direkt zur Detailseite des Torrents zu gelangen, anstatt die Torrent-Datei herunterzuladen.
## Installation
1. Navigieren Sie zu Ihrem FreshRSS-Installationsverzeichnis:
```bash
cd /path/to/FreshRSS/extensions
```
2. Kopieren Sie den Plugin-Ordner:
```bash
cp -r xNyaaLinkFixer /path/to/FreshRSS/extensions/
```
3. Setzen Sie die korrekten Berechtigungen:
```bash
chown -R www-data:www-data /path/to/FreshRSS/extensions/xNyaaLinkFixer
```
4. Loggen Sie sich in FreshRSS ein und gehen Sie zu:
- Einstellungen → Erweiterungen
- Aktivieren Sie "Nyaa Link Fixer"
## Funktionsweise
Das Plugin registriert sich für zwei Hooks:
- `entry_before_insert`: Korrigiert Links beim Importieren neuer Feed-Einträge
- `entry_before_display`: Korrigiert Links beim Anzeigen von Einträgen
Dadurch werden sowohl neue als auch bereits existierende Links konvertiert.
## Technische Details
- **Name**: Nyaa Link Fixer
- **Version**: 1.0
- **Typ**: System-Extension
- **Kompatibilität**: FreshRSS 1.x
## Lizenz
Frei verfügbar zur Verwendung und Modifikation.

View File

@@ -0,0 +1,32 @@
<?php
class NyaaLinkFixerExtension extends Minz_Extension
{
public function init()
{
$this->registerHook('entry_before_insert', [$this, 'fixNyaaLink']);
$this->registerHook('entry_before_display', [$this, 'fixNyaaLink']);
}
/**
* Fix Nyaa.si download links to view links
* Converts: https://nyaa.si/download/1234567.torrent
* To: https://nyaa.si/view/123457
*
* @param FreshRSS_Entry $entry
* @return FreshRSS_Entry
*/
public function fixNyaaLink($entry)
{
$link = $entry->link();
// Check if the link is a Nyaa.si download link
if (preg_match('#^https?://nyaa\.si/download/(\d+)\.torrent$#i', $link, $matches)) {
$torrentId = $matches[1];
$newLink = "https://nyaa.si/view/{$torrentId}";
$entry->_link($newLink);
}
return $entry;
}
}

View File

@@ -0,0 +1,8 @@
{
"name": "Nyaa Link Fixer",
"author": "Akamaru",
"description": "Converts Nyaa.si download links to view links in RSS feeds",
"version": "1.0.0",
"entrypoint": "NyaaLinkFixer",
"type": "system"
}