pub / kontra

Der linke Newsaggregator.
git clone src.jayvii.de/pub/kontra.git
Home | Log | Files | Exports | Refs | README | RSS

commit e8438c3b78564e7376653a8a33ce5e699135c8b3
Author: JayVii <jayvii[AT]posteo[DOT]de>
Date:   Fri,  6 Jun 2025 10:55:25 +0200

feat: initial development version of kontra

Diffstat:
AREADME.md | 99+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Anews-sources.json | 424+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 523 insertions(+), 0 deletions(-)

diff --git a/README.md b/README.md @@ -0,0 +1,99 @@ +# Kontra + +**Das Projekt befindet sich zur Zeit im Aufbau und ist noch nicht nutzbar.** + +Für Anregungen und Ideen, sende Anfragen oder Code-Patches an: +[jayvii+kontra[AT]posteo[DOT]de](mailto:jayvii+kontra[AT]posteo[DOT]de). + +Die aktuellen Entwiclungsziele befindet sich im Abschnitt +[Meilensteine](#meilensteine). + +--- + +## Der Linke Newsaggregator + +Inspiriert von der [Altera-App](https://alerta-app.de/) stellt "Kontra" eine +frei zugängliche Online-Plattform, welche seriöse Nachrichten aus dem politisch +linken Spektrum durchsuchbar und verfügbar macht. + +Ziel von "Kontra" ist es, Nutzer:innen die Möglichkeit zu bieten, +unterschiedliche Nachrichtenquellen durchsuchbar zu machen und sich dadurch, +nach den eigenen interessen, einen persönlichen Nachrichtenfeed zu erstellen. + +Die Nachrichtenquellen sollen zunächst den deutschsprachigen (DACH) Raum +abdecken, allerdings soll es mittelfristig auch internationale +Nachrichtenquellen geben. + +Mit "Kontra" ziele ich darauf ab, möglichst offen und mit möglichst wenigen +Einstiegsbarrieren Zugang zu seriösen linken Medien zu bieten. Die Grundprämisse +der ideenstiftenden [Alerta-App](https://alerta-app.de/) ist gut, jedoch ist sie +vollkommen Smartphone-App basiert, ist keine +[Freie Open Source Software](https://fsfe.org/freesoftware/freesoftware.de.html) +und ist zum aktuellen Zeitpunkt **ausschließlich** für Android und iOS über die +App-Stores beider Tech-Giganten verfügbar. + +Mindestens die Android-Version von "Alerta" ist zudem +[gespickt mit Trackern von Facebook, Google und anderen Werbeplattformen](https://reports.exodus-privacy.eu.org/de/reports/195504/). + +Dem entgegen soll "Kontra" möglichst breit nutzbar sein, indem es offene +Standards wie [RSS](https://de.wikipedia.org/wiki/RSS_(Web-Feed)) und +[OPML](https://de.wikipedia.org/wiki/Outline_Processor_Markup_Language) nutzt. +Das ermöglicht Nutzer:innen die Nutzung von "Kontra" über gängige News-Reader +ganz ohne Anmeldung, ohne +[Tracking](https://de.wikipedia.org/wiki/Web_Analytics) und ohne +[Lock-In Effekte](https://de.wikipedia.org/wiki/Lock-in-Effekt). + +Nachrichten kommen **direkt** und ohne Umwege von den jeweiligen Zeitungen, +Magazinen oder Blogs. Ermöglicht wird dies durch die RSS-Feeds der +Nachrichtenseiten selbst. "Kontra" selbst liefert keine Nachrichten und keine +Informationen zwischen Nutzer:innen und den Nachrichtenseiten läuft über die +"Kontra" Plattform. Die von "Kontra" erstellten OPML-Dateien können in +beliebigen [Feedreadern](https://de.wikipedia.org/wiki/Feedreader) genutzt +werden, wie zum Beispiel: + +- [FeedDeck](https://feeddeck.app/) +- [Newsblur](https://www.newsblur.com/) +- [FreshRSS](https://freshrss.org/) +- [Tiny Tiny RSS](https://tt-rss.org/) +- [NetNewsWire](https://netnewswire.com/) +- [Twine](https://github.com/msasikanth/twine?tab=readme-ov-file#readme) +- [Thunderbird](https://www.thunderbird.net/de/) +- [und viele weitere](https://alternativeto.net/browse/search/?q=rss%20reader) + +--- + +# Lizenz + +Das Projekt "Kontra" steht unter der Freien und Open Source Software Lizenz +"AGPL-3.0-or-later". + +Das Projekt strebt die Konformität zur +[REUSE-Spezifikation](https://reuse.software) an, damit auch andere einfach auf +"Kontra" aufbauen können. + +Verantwortlich für das Projekt ist: + +- JayVii [jayvii+kontra[AT]posteo[DOT]de](mailto:jayvii+kontra[AT]posteo[DOT]de) + +--- + +# Meilensteine + +## Version 0 (Pilot-Version) + +- [ ] Initiale Nachrichten-Quelldatei mit den wichtigsten deutschen Linken + Zeitungen *[in Arbeit]* +- [ ] Aufbau der Grundstruktur für eine Webapplikation: Quellenliste, + Kategorienlisten, Suchfunktion und Erstellung von OPML-Dateien + +## Version 1 (Erste nutzbare Version) + +- [ ] Dynamische Zusammenstellung von Quellen zu einer einzelnen OPML-Datei + +## Version 2 + +- [ ] Voranschau einzelner Feeds und dynamischer Zusammenstellungen + +Für Anregungen und Ideen, sende Anfragen oder Code-Patches an: +[jayvii+kontra[AT]posteo[DOT]de](mailto:jayvii+kontra[AT]posteo[DOT]de). + diff --git a/news-sources.json b/news-sources.json @@ -0,0 +1,424 @@ +{ + "sources": { + "taz-pol-de": { + "title": "taz: Politik Deutschland", + "web": "https://taz.de/Politik/Deutschland/!p4616/", + "rss": "https://taz.de/Politik/Deutschland/!p4616;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "politik", "innenpolitik", + "deutschland" + ] + }, + "taz-pol-eu": { + "title": "taz Politik Europa", + "web": "https://taz.de/Politik/Europa/!p4617/", + "rss": "https://taz.de/Politik/Europa/!p4617;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "politik", "europapolitik", + "europa" + ] + }, + "taz-pol-us": { + "title": "taz Politik Amerika", + "web": "https://taz.de/Politik/Amerika/!p4618/", + "rss": "https://taz.de/Politik/Amerika/!p4618;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "politik", "außenpolitik", + "usa", "amerika" + ] + }, + "taz-pol-af": { + "title": "taz Politik Afrika", + "web": "https://taz.de/Politik/Afrika/!p4621/", + "rss": "https://taz.de/Politik/Afrika/!p4621;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "politik", "außenpolitik", + "afrika" + ] + }, + "taz-pol-as": { + "title": "taz Politik Asien", + "web": "https://taz.de/Politik/Asien/!p4619/", + "rss": "https://taz.de/Politik/Asien/!p4619;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "politik", "außenpolitik", + "asien" + ] + }, + "taz-pol-no": { + "title": "taz Politik Nahost", + "web": "https://taz.de/Politik/Nahost/!p4620/", + "rss": "https://taz.de/Politik/Nahost/!p4620;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "politik", "außenpolitik", + "nahost" + ] + }, + "taz-pol-net": { + "title": "taz Netzpolitik", + "web": "https://taz.de/Politik/Netzpolitik/!p4622/", + "rss": "https://taz.de/Politik/Netzpolitik/!p4622;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "politik", "netz" + ] + }, + "taz-eco-net": { + "title": "taz Netzökonomie", + "web": "https://taz.de/Oeko/Netzoekonomie/!p4627/", + "rss": "https://taz.de/Oeko/Netzoekonomie/!p4627;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "wirtschaft", "netz" + ] + }, + "taz-cul-net": { + "title": "taz Netzkultur", + "web": "https://taz.de/Kultur/Netzkultur/!p4631/", + "rss": "https://taz.de/Kultur/Netzkultur/!p4631;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "kultur", "netz" + ] + }, + "taz-ökonomie": { + "title": "taz Ökonomie", + "web": "https://taz.de/Oeko/Oekonomie/!p4623/", + "rss": "https://taz.de/Oeko/Oekonomie/!p4623;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "wirtschaft", + "volkswirtschaft" + ] + }, + "taz-ökologie": { + "title": "taz Ökologie", + "web": "https://taz.de/Oeko/Oekologie/!p4624/", + "rss": "https://taz.de/Oeko/Oekologie/!p4624;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "umwelt" + ] + }, + "taz-arbeit": { + "title": "taz Arbeit", + "web": "https://taz.de/Oeko/Arbeit/!p4629/", + "rss": "https://taz.de/Oeko/Arbeit/!p4629;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "wirtschaft", "arbeit" + ] + }, + "taz-konsum": { + "title": "taz Konsum", + "web": "https://taz.de/Oeko/Konsum/!p4625/", + "rss": "https://taz.de/Oeko/Konsum/!p4625;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "wirtschaft", "konsum" + ] + }, + "taz-verkehr": { + "title": "taz Verkehr", + "web": "https://taz.de/Oeko/Verkehr/!p4628/", + "rss": "https://taz.de/Oeko/Verkehr/!p4628;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "wirtschaft", "verkehr" + ] + }, + "taz-wissenschaft": { + "title": "taz Wissenschaft", + "web": "https://taz.de/Oeko/Wissenschaft/!p4636/", + "rss": "https://taz.de/Oeko/Wissenschaft/!p4636;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "wissenschaft" + ] + }, + "taz-soc-alltag": { + "title": "taz Alltag", + "web": "https://taz.de/Gesellschaft/Alltag/!p4632/", + "rss": "https://taz.de/Gesellschaft/Alltag/!p4632;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "gesellschaft" + ] + }, + "taz-soc-reportage": { + "title": "taz Reportage und Recherche", + "web": "https://taz.de/Gesellschaft/Reportage-und-Recherche/!p5265/", + "rss": "https://taz.de/Gesellschaft/Reportage-und-Recherche/!p5265;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "gesellschaft", + "reportage" + ] + }, + "taz-soc-reportage": { + "title": "taz Debatte", + "web": "https://taz.de/Gesellschaft/Debatte/!p4633/", + "rss": "https://taz.de/Gesellschaft/Debatte/!p4633;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "gesellschaft", + "debatte" + ] + }, + "taz-soc-kolumne": { + "title": "taz Kolumnen", + "web": "https://taz.de/Gesellschaft/Kolumnen/!p4634/", + "rss": "https://taz.de/Gesellschaft/Kolumnen/!p4634;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "gesellschaft", + "kolumne" + ] + }, + "taz-soc-medien": { + "title": "taz Medien", + "web": "https://taz.de/Gesellschaft/Medien/!p4630/", + "rss": "https://taz.de/Gesellschaft/Medien/!p4630;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "gesellschaft", + "medien" + ] + }, + "taz-soc-bildung": { + "title": "taz Bildung", + "web": "https://taz.de/Gesellschaft/Bildung/!p4635/", + "rss": "https://taz.de/Gesellschaft/Bildung/!p4635;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "gesellschaft", + "politik", "bildung" + ] + }, + "taz-soc-gesundheit": { + "title": "taz Gesundheit", + "web": "https://taz.de/Gesellschaft/Gesundheit/!p4637/", + "rss": "https://taz.de/Gesellschaft/Gesundheit/!p4637;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "gesellschaft", + "gesundheit" + ] + }, + "taz-soc-reise": { + "title": "taz Reisen", + "web": "https://taz.de/Gesellschaft/Reise/!p4638/", + "rss": "https://taz.de/Gesellschaft/Reise/!p4638;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "gesellschaft", + "tourismus" + ] + }, + "taz-cul-musik": { + "title": "taz Musik", + "web": "https://taz.de/Kultur/Musik/!p4640/", + "rss": "https://taz.de/Kultur/Musik/!p4640;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "kultur", "musik" + ] + }, + "taz-cul-film": { + "title": "taz Film", + "web": "https://taz.de/Kultur/Film/!p4641/", + "rss": "https://taz.de/Kultur/Film/!p4641;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "kultur", "filme" + ] + }, + "taz-cul-kunst": { + "title": "taz Künste", + "web": "https://taz.de/Kultur/Kuenste/!p4642/", + "rss": "https://taz.de/Kultur/Kuenste/!p4642;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "kultur", "kunst" + ] + }, + "taz-cul-buch": { + "title": "taz Buch", + "web": "https://taz.de/Kultur/Buch/!p4643/", + "rss": "https://taz.de/Kultur/Buch/!p4643;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "kultur", "bücher" + ] + }, + "taz-cul-sport": { + "title": "taz Sport", + "web": "https://taz.de/Sport/!p4646/", + "rss": "https://taz.de/Sport/!p4646;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "sport" + ] + }, + "taz-loc-berlin": { + "title": "taz Berlin", + "web": "https://taz.de/Berlin/!p4649/", + "rss": "https://taz.de/Berlin/!p4649;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "lokal", "berlin" + ] + }, + "taz-loc-hamburg": { + "title": "taz Hamburg", + "web": "https://taz.de/Nord/Hamburg/!p4651/", + "rss": "https://taz.de/Nord/Hamburg/!p4651;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "lokal", "hamburg" + ] + }, + "taz-loc-bremen": { + "title": "taz Bremen", + "web": "https://taz.de/Nord/Bremen/!p4652/", + "rss": "https://taz.de/Nord/Bremen/!p4652;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "lokal", "bremen" + ] + }, + "taz-loc-nord-cul": { + "title": "taz Kultur Norden", + "web": "https://taz.de/Nord/Kultur/!p4653/", + "rss": "https://taz.de/Nord/Kultur/!p4653;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "lokal", "norddeutschland", + "kultur" + ] + }, + "taz-sat-wahrheit": { + "title": "taz Wahrheit", + "web": "https://taz.de/Wahrheit/!p4644/", + "rss": "https://taz.de/Wahrheit/!p4644;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "satire" + ] + }, + "taz-foc-klimawandel": { + "title": "taz Klimawandel", + "web": "https://taz.de/Schwerpunkt-Klimawandel/!t5008262/", + "rss": "https://taz.de/Schwerpunkt-Klimawandel/!t5008262;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "umwelt" + ] + }, + "taz-foc-nahost": { + "title": "taz Nahost-Konflikt", + "web": "https://taz.de/Schwerpunkt-Nahost-Konflikt/!t5007999/", + "rss": "https://taz.de/Schwerpunkt-Nahost-Konflikt/!t5007999;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "nahost" + ] + }, + "taz-wochenkommentar": { + "title": "taz Wochenkommentar", + "web": "https://taz.de/Wochenkommentar/!t5478515/", + "rss": "https://taz.de/Wochenkommentar/!t5478515;rss/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "kommentar" + ] + }, + "taz-hausblog": { + "title": "taz Hausblog", + "web": "https://blogs.taz.de/hausblog/", + "rss": "https://blogs.taz.de/hausblog/blogfeed/", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "hinter_den_kulissen" + ] + }, + + "nd-meinung": { + "title": "nd Meinung", + "web": "https://www.nd-aktuell.de/rubrik/meinung/", + "rss": "https://www.nd-aktuell.de/rss/kommentare.xml", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "kommentar" + ] + }, + "nd-pol": { + "title": "nd Politik", + "web": "https://www.nd-aktuell.de/rubrik/politik/", + "rss": "https://www.nd-aktuell.de/rss/politik.xml", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "politik" + ] + }, + "nd-eco": { + "title": "nd Wirtschaft und Umwelt", + "web": "https://www.nd-aktuell.de/rubrik/wirtschaft-umwelt", + "rss": "https://www.nd-aktuell.de/rss/wirtschaft-umwelt.xml", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "wirtschaft", + "volkswirtschaft", "umwelt" + ] + }, + "nd-loc-berlin": { + "title": "nd Berlin", + "web": "https://www.nd-aktuell.de/rubrik/Berlin/", + "rss": "https://www.nd-aktuell.de/rss/berlin.xml", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "lokal", "berlin" + ] + }, + "nd-loc-brandenburg": { + "title": "nd Berlin", + "web": "https://www.nd-aktuell.de/rubrik/Brandenburg/", + "rss": "https://www.nd-aktuell.de/rss/brandenburg.xml", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "lokal", "brandenburg" + ] + }, + "nd-wissen": { + "title": "nd Wissen", + "web": "https://www.nd-aktuell.de/rubrik/wissen/", + "rss": "https://www.nd-aktuell.de/rss/wissen.xml", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "kultur" + ] + }, + "nd-kultur": { + "title": "nd Kultur", + "web": "https://www.nd-aktuell.de/rubrik/kultur/", + "rss": "https://www.nd-aktuell.de/rss/kultur.xml", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "debatte", "kultur" + ] + }, + "nd-sport": { + "title": "nd Sport", + "web": "https://www.nd-aktuell.de/rubrik/sport/", + "rss": "https://www.nd-aktuell.de/rss/sport.xml", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "sport" + ] + }, + "nd-gesundheit": { + "title": "nd Gesund leben", + "web": "https://www.nd-aktuell.de/rubrik/gesund_leben/", + "rss": "https://www.nd-aktuell.de/rss/gesund_leben.xml", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "gesellschaft", + "gesundheit" + ] + }, + "nd-reisen": { + "title": "nd Reisen", + "web": "https://www.nd-aktuell.de/rubrik/reise/", + "rss": "https://www.nd-aktuell.de/rss/reise.xml", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "gesellschaft", + "tourismus" + ] + }, + "nd-ratgeber": { + "title": "nd Ratgeber", + "web": "https://www.nd-aktuell.de/rubrik/ratgeber/", + "rss": "https://www.nd-aktuell.de/rss/ratgeber.xml", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "gesellschaft", + "ratgeber" + ] + }, + "nd-commune": { + "title": "nd Commune", + "web": "https://www.nd-aktuell.de/rubrik/nd-commune/", + "rss": "https://www.nd-aktuell.de/rss/nd-commune.xml", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "hinter_den_kulissen" + ] + }, + "nd-hausblog": { + "title": "nd In eigener Sache", + "web": "https://www.nd-aktuell.de/rubrik/hausblog/", + "rss": "https://www.nd-aktuell.de/rss/hausblog.xml", + "categories": [ + "keine_bezahlschranke", "deutsch", "täglich", "hinter_den_kulissen" + ] + } + } +}