← Back to docs

rsswatch

Language: SV | EN | SV

RSS Watch - Användarguide

Översikt

RSS Watch är ett RSS-feedaggreggerings- och historikspårningssystem som låter dig visa flera RSS-feeder på ett ställe och spåra hur innehåll förändras över tid.

Huvudfunktioner:

Bas-URL: https://tools.tornevall.net


Publika API-endpoints

Alla API-endpoints finns tillgängliga på https://tools.tornevall.net/api/rss/

Lista tillgängliga feeder

Hämta en lista över alla tillgängliga RSS-feeder.

Endpoint:

GET /api/rss/feed

Query-parametrar:

Exempelförfrågan:

curl "https://tools.tornevall.net/api/rss/feed"

Exempelsvar:

{
  "urls": [
    {
      "urlid": 5,
      "title": "Exempelblogg",
      "utf8": 0,
      "interval": 600,
      "lastupdate": "2026-02-08 21:30:07",
      "explicit": 0,
      "entryCount": 1234
    }
  ]
}

Hämta feedinnehåll (Atom-format)

Hämta feedposter i Atom XML-format.

Endpoint:

GET /api/rss/feed/{feedId}

Sökvägsparametrar:

Query-parametrar:

Exempel:

Hämta senaste 50 posterna:

curl "https://tools.tornevall.net/api/rss/feed/5?limit=50"

Filtrera efter nyckelord:

curl "https://tools.tornevall.net/api/rss/feed/5?match=teknik,innovation"

Få JSON istället för XML:

curl "https://tools.tornevall.net/api/rss/feed/5?as=json&limit=20"

Inkludera historik:

curl "https://tools.tornevall.net/api/rss/feed/5?history=1"

Svarsformat (Atom):

<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Exempelblogg</title>
  <updated>2026-02-08T21:30:07+00:00</updated>
  <link rel="alternate" href="https://example.com"/>
  <entry>
    <title>Inläggstitel</title>
    <summary>Inläggsbeskrivning...</summary>
    <published>2026-02-08T12:00:00+00:00</published>
    <link href="https://example.com/post"/>
  </entry>
</feed>

Svarsformat (JSON med as=json):

[
  {
    "title": "Inläggstitel",
    "description": "Inläggsbeskrivning...",
    "link": "https://example.com/post",
    "pubdate": 1739013600,
    "inserted": "2026-02-08 14:30:29",
    "content_hash": "abc123..."
  }
]

Webbfeedvisare

Tillgång till den webbaserade feedvisaren på https://tools.tornevall.net/feed

Bläddra alla feeder

URL: /feed

Visar en lista över alla tillgängliga feeder med:

Exempel:

https://tools.tornevall.net/feed

Visa feedinnehåll

URL: /feed/{feedId}

Visa poster från en specifik feed.

Query-parametrar:

Exempel:

Visa feed med 25 poster per sida:

https://tools.tornevall.net/feed/5?per_page=25

Inaktivera historikläge:

https://tools.tornevall.net/feed/5?history=0

Visa upp till 20 versioner per post:

https://tools.tornevall.net/feed/5?history=1&history_limit=20

Visa enskild post

URL: /feed/entry/{contentId}

Visa en enskild feedpost med fullständig historik.

Exempel:

https://tools.tornevall.net/feed/entry/881323

Detta visar:


Hitta redigerade inlägg

URL: /feed/{feedId}/edited

Hitta inlägg som har redigerats flera gånger.

Query-parametrar:

Exempel:

Hitta alla inlägg redigerade 5 eller fler gånger:

https://tools.tornevall.net/feed/5/edited?min_changes=5

Säker extern länk

URL: /out/{contentId}

Omdirigerar till den ursprungliga inläggets URL utan att avslöja referrer.

Exempel:

https://tools.tornevall.net/out/881323

Detta skyddar din integritet genom att inte skicka en referrer-header till den externa sidan.


Förstå historikspårning

RSS Watch spårar ändringar i feedposter över tid. När ett inlägg redigeras sparar systemet en ny version.

Hur det fungerar

  1. Varje post får ett unikt "fingeravtryck" (hash) baserat på dess innehåll
  2. När samma post hämtas igen med olika innehåll skapas en ny version
  3. Du kan se alla versioner och exakt vad som ändrats

Visa historik

I webbvisaren visar historikläget:

Aktivera historikläge:

https://tools.tornevall.net/feed/5?history=1

Inaktivera historikläge:

https://tools.tornevall.net/feed/5?history=0

Nyckelordsfiltrering

Filtrera feedposter genom att söka efter specifika nyckelord.

API-användning:

curl "https://tools.tornevall.net/api/rss/feed/5?match=teknik,innovation"

Detta returnerar endast poster som innehåller minst ett av nyckelorden.

Hur det fungerar:


Skyddade feeder

Vissa feeder kan vara begränsade till specifika domäner. Om du försöker komma åt en skyddad feed från en obehörig domän får du ett 403-fel.

Felmeddelande:

{
  "error": {
    "code": 403,
    "message": "Feed is protected by its hostname..."
  }
}

Skyddade feeder är endast tillgängliga när de begärs från tillåtna domäner.


Hastighetsbegränsning och prestanda

API-begränsning

API:et har höga hastighetsbegränsningar:

Bästa praxis

För optimal prestanda:

Paginering

För stora feeder, använd paginering:

/feed/5?per_page=25&page=1  # Första sidan
/feed/5?per_page=25&page=2  # Andra sidan

Vanliga användningsfall

Bygg din egen RSS-läsare

// Hämta tillgängliga feeder
fetch('https://tools.tornevall.net/api/rss/feed')
  .then(r => r.json())
  .then(data => {
    data.urls.forEach(feed => {
      console.log(feed.title, feed.entryCount);
    });
  });

// Hämta feedinnehåll
fetch('https://tools.tornevall.net/api/rss/feed/5?as=json&limit=20')
  .then(r => r.json())
  .then(entries => {
    entries.forEach(entry => {
      console.log(entry.title, entry.link);
    });
  });

Övervaka innehållsändringar

Använd historikspårning för att övervaka när inlägg redigeras:

# Hitta inlägg som har redigerats 5+ gånger
curl "https://tools.tornevall.net/feed/5/edited?min_changes=5"

Filtrera efter ämne

Få endast poster om specifika ämnen:

# Få teknikrelaterade inlägg
curl "https://tools.tornevall.net/api/rss/feed/5?match=tech,programvara,ai&limit=50"

Bädda in feed på din sajt

<div id="feed"></div>
<script>
fetch('https://tools.tornevall.net/api/rss/feed/5?as=json&limit=10')
  .then(r => r.json())
  .then(entries => {
    const html = entries.map(e => `
      <article>
        <h3><a href="${e.link}">${e.title}</a></h3>
        <p>${e.description}</p>
        <small>${new Date(e.pubdate * 1000).toLocaleDateString('sv-SE')}</small>
      </article>
    `).join('');
    document.getElementById('feed').innerHTML = html;
  });
</script>

Felsökning

Feed hittades inte (404)

Problem: Försöker komma åt en feed som inte finns.

Lösning: Kontrollera feedlistan på /api/rss/feed för giltiga feed-ID:n.

Åtkomst nekad (403)

Problem: Feeden är skyddad och du kommer åt från fel domän.

Lösning: Skyddade feeder kan endast nås från auktoriserade domäner. Kontakta administratören om du behöver åtkomst.

Tomma resultat

Problem: Feeden returnerar inga poster.

Lösning:

Kodningsproblem

Problem: Specialtecken visas felaktigt.

Lösning: API:et hanterar UTF-8 automatiskt. Om du fortfarande ser problem, se till att din klient tolkar svar som UTF-8.


Support

För problem eller frågor:


Senast uppdaterad: 2026-02-09
API-version: 1.0