Quellcode durchsuchen

Fix some broken links from CI scans (#9495)

* Fix some broken links from CI scans

Follow-up of https://github.com/FreshRSS/FreshRSS/pull/9209 and https://github.com/FreshRSS/FreshRSS/pull/9207.

See: https://github.com/FreshRSS/FreshRSS/pull/9209#issuecomment-6383267668

* Apply some selected redirects

* Escape . properly
Inverle vor 9 Stunden
Ursprung
Commit
b8b657488d

+ 1 - 1
.editorconfig

@@ -1,4 +1,4 @@
-# http://EditorConfig.org
+# https://editorconfig.org/
 
 [*]
 charset = utf-8

+ 1 - 2
.github/workflows/tests.yml

@@ -17,7 +17,7 @@ jobs:
 
   tests:
     name: tests
-    # https://github.com/actions/virtual-environments
+    # https://github.com/actions/runner-images
     runs-on: ubuntu-26.04
 
     steps:
@@ -105,7 +105,6 @@ jobs:
       run: GOBIN=${PWD}/bin/ go install mvdan.cc/sh/v3/cmd/shfmt@v3.8.0
 
     - name: Check shell script syntax
-      # shellcheck is pre-installed https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2204-Readme.md
       run: ./tests/shellchecks.sh
 
     - name: Install hadolint

+ 9 - 1
.lycheeignore

@@ -7,7 +7,6 @@
 # URLs used in source code / tests
 ^http://www\.blogger\.com/feeds/1/posts
 ^https://www\.blogger\.com/feeds/1/posts
-^http://a\.bc/
 ^https://web\.archive\.org/save/~LINK~
 ^https://www\.facebook\.com/sharer\.php\?u=~LINK~&t=~TITLE~
 ^https://archive\.ph/submit/\?url=~LINK~
@@ -17,6 +16,10 @@
 ^https://www\.journalduhacker\.net/stories/new\?url=~LINK~&title=~TITLE~
 ^https://www\.linkedin\.com/shareArticle\?url=~LINK~&title=~TITLE~&source=FreshRSS
 ^https://www\.xing\.com/spi/shares/new\?url=~LINK
+^http://a\.bc/
+^http://rss-bridge\.lan/
+^https://198\.51\.100\.7/
+^https://198\.51\.100\.7:8443/
 
 # URLs that likely exist, but will be published in the future
 ^https://github\.com/FreshRSS/FreshRSS/security/advisories/.*
@@ -42,13 +45,18 @@
 ^https://alternativeto\.net/
 ^https://www\.patreon\.com/
 ^https://www\.reddit\.com/
+^https://fiat-tux\.fr/
 
 # Works normally in the browser, but not in lychee
 ^https://www\.vsta\.org/andy/
 ^https://gnusocial\.rocks/
 ^https://friendi\.ca/
 
+# TODO: Temporarily broken
+^https://install-app\.yunohost\.org/\?app=freshrss
+
 # TODO: Dead?
 ^https://template\.run\.claw\.cloud/\?openapp=system-fastdeploy%3FtemplateName%3Dfreshrss
 ^https://amaury\.carrade\.eu/
 ^https://www\.pimsnel\.com/
+^https://fsf\.org/

+ 6 - 6
CREDITS.md

@@ -19,7 +19,7 @@ People are sorted by name so please keep this order.
 * [Aidi Stan](https://github.com/aidistan): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:aidistan), [Web](https://aidistan.site/)
 * [akine](https://github.com/akine): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:akine)
 * [ale-rt](https://github.com/ale-rt): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:ale-rt)
-* [Alejandro Borrego](https://github.com/abp002): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:abp002), [Web](https://abp002.github.io/)
+* [Alejandro Borrego](https://github.com/abp002): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:abp002), [Web](https://alejandroborrego.dev/)
 * [Alexander Steinhöfer](https://github.com/lx-s): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:lx-s), [Web](https://lx-s.de/)
 * [Alexandre Alapetite](https://github.com/Alkarex): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Alkarex), [Web](https://alexandre.alapetite.fr/)
 * [Alexis Degrugillier](https://github.com/aledeg): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:aledeg)
@@ -44,7 +44,7 @@ People are sorted by name so please keep this order.
 * [Axel Leroy](https://github.com/axeleroy): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:axeleroy), [Web](https://axel.leroy.sh/)
 * [azlux](https://github.com/azlux): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:azlux), [Web](https://azlux.fr/)
 * [Balázs Keresztury](https://github.com/belidzs/): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:belidzs), [Web](https://www.keresztury.com/)
-* [Bartłomiej Dmitruk](https://github.com/hackerman70000): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:hackerman70000), [Web](https://www.bartek-dmitruk.com/)
+* [Bartłomiej Dmitruk](https://github.com/hackerman70000): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:hackerman70000), [Web](https://www.bartekdmitruk.com/)
 * [Bartosz Taudul](https://github.com/wolfpld): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:wolfpld), [Web](https://wolf.nereid.pl/)
 * [beerisgood](https://github.com/beerisgood): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:beerisgood)
 * [Ben Passmore](https://github.com/passbe): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:passbe), [Web](https://passbe.com/)
@@ -174,7 +174,7 @@ People are sorted by name so please keep this order.
 * [Jules Bertholet](https://github.com/Jules-Bertholet): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Jules-Bertholet)
 * [Julien Herr](https://github.com/juherr): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:juherr), [Web](https://juherr.dev/)
 * [Julien Reichardt](https://github.com/j8r): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:j8r)
-* [Julien-Pierre Avérous](https://github.com/javerous): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:javerous), [Web](https://www.sourcemac.com/)
+* [Julien-Pierre Avérous](https://github.com/javerous): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:javerous), [Web](https://www.sourcemac.fr/)
 * [junkfood](https://github.com/JunkFood02): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:JunkFood02)
 * [Justin Tracey](https://github.com/jtracey): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:jtracey), [Web](https://unsuspicious.click)
 * [Kachelkaiser](https://github.com/Kachelkaiser): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Kachelkaiser)
@@ -223,13 +223,13 @@ People are sorted by name so please keep this order.
 * [matthew-neavling](https://github.com/matthew-neavling): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:matthew-neavling)
 * [Maurice Schleußinger](https://github.com/maurice-schleussinger): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:maurice-schleussinger)
 * [Max Oberrauch](https://github.com/Juice-de-Orange): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Juice-de-Orange)
-* [May Meow](https://github.com/MayMeow): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:MayMeow), [Web](https://maymeow.com)
+* [May Meow](https://github.com/MayMeow): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:MayMeow), [Web](https://www.maymeow.com)
 * [McFev](https://github.com/McFev): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:McFev)
 * [Mejans](https://github.com/Mejans): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Mejans)
 * [Melvyn Laïly](https://github.com/yaurthek): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:yaurthek), [Web](https://x2a.yt/)
 * [Michael Meier](https://github.com/mmeier86): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:mmeier86)
 * [Michael Thomas](https://github.com/nanos): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:nanos), [Web](https://michael.thms.uk)
-* [Michael Wagner](https://github.com/michi-onl): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:michi-onl), [Web](https://about.michi.onl/)
+* [Michael Wagner](https://github.com/michi-onl): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:michi-onl), [Web](https://michi.onl/)
 * [Miguel Sánchez](https://github.com/msdlr): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:msdlr)
 * [Miika Launiainen](https://gitlab.com/miicat): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:miicat), [Web](https://miicat.eu/)
 * [Mike Vanbuskirk](https://github.com/codevbus): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:codevbus) [Web](https://mikevanbuskirk.io/)
@@ -300,7 +300,7 @@ People are sorted by name so please keep this order.
 * [Raineer](https://github.com/Raineer): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Raineer)
 * [Ramazan Sancar](https://github.com/ramazansancar): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:ramazansancar), [Web](https://www.ramazansancar.com.tr/)
 * [Ramón Cutanda](https://github.com/rcutanda): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:rcutanda)
-* [Rasmus Larsen](https://github.com/rlrs): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:rlrs), [Web](https://rlrs.github.io/)
+* [Rasmus Larsen](https://github.com/rlrs): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:rlrs), [Web](https://rlrs.dk/)
 * [raspo](https://github.com/raspo): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:raspo), [Web](https://raspo.dev/)
 * [rdmitr](https://github.com/rdmitr): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:rdmitr)
 * [Rebecca Scott](https://github.com/becdetat): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:becdetat), [Web](https://becdetat.com)

+ 1 - 1
Docker/README.md

@@ -446,7 +446,7 @@ docker compose down --remove-orphans --volumes
 ## Run in production
 
 For production, it is a good idea to use a reverse proxy on your host server, providing HTTPS.
-A dedicated solution such as [Træfik](https://traefik.io/traefik/) is recommended
+A dedicated solution such as [Træfik](https://traefik.io/traefik) is recommended
 (or see [alternative options below](#alternative-reverse-proxy-configurations)).
 
 You must first chose a domain (DNS) or sub-domain, e.g. `freshrss.example.net`, and set it in your `.env` file:

+ 1 - 1
README.fr.md

@@ -64,7 +64,7 @@ FreshRSS n’est fourni avec aucune garantie.
 	* Fonctionne même sur un Raspberry Pi 1 avec des temps de réponse < 1s (testé sur 150 flux, 22k articles)
 * Serveur Web Apache2.4+ (recommandé), ou nginx, lighttpd (non testé sur les autres)
 * PHP 8.1+
-	* Extensions requises : [cURL](https://www.php.net/curl), [DOM](https://www.php.net/dom), [JSON](https://www.php.net/json), [XML](https://www.php.net/xml), [session](https://www.php.net/session), [ctype](https://www.php.net/ctype)
+	* Extensions requises : [cURL](https://www.php.net/curl), [DOM](https://www.php.net/dom), [JSON](https://www.php.net/json), [XML](https://www.php.net/xml), [session](https://www.php.net/features.sessions), [ctype](https://www.php.net/ctype)
 	* Extensions recommandées : [PDO_SQLite](https://www.php.net/pdo-sqlite) (pour l’export/import), [GMP](https://www.php.net/gmp) (pour accès API sur plateformes < 64 bits), [IDN](https://www.php.net/intl.idn) (pour les noms de domaines internationalisés), [mbstring](https://www.php.net/mbstring) (pour le texte Unicode), [iconv](https://www.php.net/iconv) (pour conversion d’encodages), [ZIP](https://www.php.net/zip) (pour import/export), [zlib](https://www.php.net/zlib) (pour les flux compressés)
 	* Extension pour base de données : [PDO_PGSQL](https://www.php.net/pdo-pgsql) ou [PDO_SQLite](https://www.php.net/pdo-sqlite) ou [PDO_MySQL](https://www.php.net/pdo-mysql)
 * PostgreSQL 10+ ou SQLite ou MariaDB 10.6+ ou MySQL 8.0+

+ 2 - 2
README.md

@@ -87,7 +87,7 @@ and the [list of releases](https://github.com/FreshRSS/FreshRSS/releases).
 | | | |
 |-|-|-|
 | [<img src="https://www.docker.com/app/uploads/2022/03/horizontal-logo-monochromatic-white.png" width="160" alt="Docker" />](./Docker/) | [<img src="https://install-app.yunohost.org/install-with-yunohost.png" width="160" alt="YunoHost" />](https://install-app.yunohost.org/?app=freshrss) | [<img src="https://elest.io/images/logos/deploy-to-elestio-btn.png" width="160" alt="Elestio" />](https://elest.io/open-source/freshrss) |
-| [<img src="https://cloudron.io/img/button.svg" width="160" alt="Cloudron" />](https://cloudron.io/button.html?app=org.freshrss.cloudronapp) | [<img src="https://www.pikapods.com/static/run-button-34.svg" width="160" alt="PikaPods" />](https://www.pikapods.com/pods?run=freshrss) | [<img src="https://zeabur.com/button.svg" width="160" alt="Zeabur" />](https://zeabur.com/templates/MD4TRW) |
+| [<img src="https://www.cloudron.io/img/button.svg" width="160" alt="Cloudron" />](https://www.cloudron.io/button.html?app=org.freshrss.cloudronapp) | [<img src="https://www.pikapods.com/static/run-button-34.svg" width="160" alt="PikaPods" />](https://www.pikapods.com/pods?run=freshrss) | [<img src="https://zeabur.com/button.svg" width="160" alt="Zeabur" />](https://zeabur.com/templates/MD4TRW) |
 | [<img src="https://raw.githubusercontent.com/ClawCloud/Run-Template/refs/heads/main/Run-on-ClawCloud.svg" width="160" alt="ClawCloud" />](https://template.run.claw.cloud/?openapp=system-fastdeploy%3FtemplateName%3Dfreshrss) | [<img src="https://assets.hostinger.com/vps/deploy.svg" width="160" alt="Hostinger" />](https://www.hostinger.com/docker-hosting?compose_url=https://github.com/FreshRSS/FreshRSS/blob/edge/Docker/freshrss/docker-compose.yml) | |
 
 For more cloud hosting options, see the [list of cloud providers](https://freshrss.org/cloud-providers.html) or [Chatons](https://www.chatons.org/search/by-service?field_software_target_id=269) (a directory of ethical hosting providers).
@@ -199,7 +199,7 @@ and [Fever API](https://freshrss.github.io/FreshRSS/en/developers/06_Fever_API.h
 | [lire](https://lireapp.com/)                                                          | iOS, macOS  | –                                                            | ✓✓                   | GReader          | ?            | ?        | ?                             | ?                  | ?         | ?     | ?       | ?           |
 | [Unread](https://www.goldenhillsoftware.com/unread/)                            | iOS         | –                                                            | ✓✓                   | Fever            | ✓            | ?        | ?                             | ?                  | ✓         | –     | –       | –           |
 | [Fiery Feeds](https://voidstern.net/fiery-feeds)         | iOS         | –                                                            | ✓✓                   | Fever            | ?            | ?        | ?                             | ?                  | ?         | –     | –       | –           |
-| [Netnewswire](https://ranchero.com/netnewswire/)                                      | iOS, macOS  | [✓](https://github.com/Ranchero-Software/NetNewsWire)        | Work in progress       | GReader          | ✓            | ?        | ?                             | ?                  | ✓         | –     | –       | ✓           |
+| [Netnewswire](https://netnewswire.com/)                                      | iOS, macOS  | [✓](https://github.com/Ranchero-Software/NetNewsWire)        | Work in progress       | GReader          | ✓            | ?        | ?                             | ?                  | ✓         | –     | –       | ✓           |
 
 # Included libraries
 

+ 1 - 1
docs/en/admins/08_FeedUpdates.md

@@ -24,7 +24,7 @@ docker run ... \
 
 ## Cron as a trigger
 
-You’ll need to check the Cron documentation for your specific distribution ([Debian/Ubuntu](https://help.ubuntu.com/community/CronHowto), [Red Hat/Fedora/CentOS](https://fedoraproject.org/wiki/Administration_Guide_Draft/Cron), [Slackware](https://docs.slackware.com/slackbook:process_control#cron), [Gentoo](https://wiki.gentoo.org/wiki/Cron), [Arch Linux](https://wiki.archlinux.org/title/Cron) …) to make sure you set the Cron job correctly.
+You’ll need to check the Cron documentation for your specific distribution ([Debian/Ubuntu](https://ubuntu.com/server/docs/how-to/backups/back-up-using-shell-scripts/#run-with-cron), [Red Hat/Fedora/CentOS](https://fedoraproject.org/wiki/Administration_Guide_Draft/Cron), [Slackware](https://docs.slackware.com/slackbook:process_control#cron), [Gentoo](https://wiki.gentoo.org/wiki/Cron), [Arch Linux](https://wiki.archlinux.org/title/Cron) …) to make sure you set the Cron job correctly.
 
 It’s advisable that you run the Cron job as your Web server user (often `www-data`).
 

+ 1 - 1
docs/en/admins/18_Pocket-ID.md

@@ -3,7 +3,7 @@
 **[Pocket ID](https://github.com/pocket-id/pocket-id)** is a simple OIDC provider that allows users to authenticate with their passkeys to your services.
 (See [FreshRSS’ OpenID Connect documentation](16_OpenID-Connect.md)).
 
-You can find more information in the [Pocket ID documentation](https://pocket-id.org/docs).
+You can find more information in the [Pocket ID documentation](https://pocket-id.org/docs/introduction).
 
 ## 1. Create OAuth2/OpenID Provider
 

+ 1 - 1
docs/en/users/08_sharing_services.md

@@ -29,7 +29,7 @@ FreshRSS has the option to share links with a bunch of services.
 | Nextcloud Bookmarks | Selfhosted bookmark app for Nextcloud                | [Website](https://apps.nextcloud.com/apps/bookmarks) | |
 | Omnivore          | A complete, open source read-it-later solution for people who love to read. | [Website](https://omnivore.app/) | |
 | Pinboard          | Social Bookmarking for Introverts                    | [Website](https://pinboard.in/) | |
-| Pinterest         | Is an image sharing and social media service designed to enable saving and discovery of information| [Website](https://pinterest.com/), [Wikipedia](https://en.wikipedia.org/wiki/Pinterest) | |
+| Pinterest         | Is an image sharing and social media service designed to enable saving and discovery of information| [Website](https://www.pinterest.com/), [Wikipedia](https://en.wikipedia.org/wiki/Pinterest) | |
 | Raindrop.io       | All-in-one bookmark manager                          | [Website](https://raindrop.io/)| |
 | Reddit            | A network of communities where people can dive into their interests, hobbies and passions| [Website](https://www.reddit.com/), [Wikipedia](https://en.wikipedia.org/wiki/Reddit)| |
 | Shaarli           | Self-hosted minimalist bookmark manager and link sharing service | [Website](https://shaarli.readthedocs.io/) | |