Erstelle NyaaLinkFixer
This commit is contained in:
57
README.md
Normal file
57
README.md
Normal 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.
|
||||
32
xNyaaLinkFixer/extension.php
Normal file
32
xNyaaLinkFixer/extension.php
Normal 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;
|
||||
}
|
||||
}
|
||||
8
xNyaaLinkFixer/metadata.json
Normal file
8
xNyaaLinkFixer/metadata.json
Normal 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"
|
||||
}
|
||||
Reference in New Issue
Block a user