Tools API - Komplett ändringslogg
Detta dokument spårar alla ändringar, uppdateringar och förbättringar som gjorts på Tornevall Networks Tools API-plattformen.
2026-02-11
Buggfixar & förbättringar
SSL-verifiering konfigurerbar
- Lagt till
DISABLE_SSL_VERIFY miljövariabel för att styra SSL-certifikatverifiering
- När satt till
true, hoppas SSL-certifikatverifiering över för alla HTTPS-anrop
- Gäller alla anrop till OpenAI API och Cloudflare Turnstile
- Användbart för lokala utvecklingsmiljöer (WAMP på Windows etc.) där CA-certifikat inte är korrekt konfigurerade
- INTE rekommenderat för produktionsmiljöer
- Konfigureras i
.env: DISABLE_SSL_VERIFY=true eller DISABLE_SSL_VERIFY=false
- Default:
false (SSL-verifiering aktiverad)
Dashboard synkad med tjänster
- Lagt till saknade tjänster på dashboarden: API-nycklar (admin), Mina API-nycklar (användare), MCU Timeline Editor, Åtkomstblockeringar
- Uppdaterat "inga behörigheter"-kontroll för att inkludera alla tillgängliga tjänster
- Konsekvent tjänstetillgänglighet mellan dashboard och tjänstesida
- Bättre visuell organisation med korrekt kortstyling
OpenAI-testfix
- Fixat null-profilfel när man testar OpenAI utan att välja en prompt-profil
- Skapar nu minimal temporär profil för ad-hoc-testning
- Tillåter testning med bara modell + input utan att kräva sparad profil
- Förbättrad felhantering med tydligare meddelanden
Spårning av användarregistrering
- Lagt till
reg_from-fält i users-tabellen för att spåra registrerings-IP-adress
- Lagras som REMOTE_ADDR vid registrering (127.0.0.1 för lokala/testmiljöer)
- Hjälper till att identifiera misstänkta registreringsmönster
- Användbart för säkerhetsrevision och förebyggande av missbruk
Turnstile-bypass för admins
- Admins (is_admin=1) kan nu bypassa Turnstile CAPTCHA vid inloggning
- Förenklar utveckling och nödåtkomstscenarier
- Icke-admin-användare kräver fortfarande CAPTCHA-verifiering när aktiverad
- SSL-verifiering inaktiverad i lokala/dev-miljöer för enklare testning
Säkerhet & åtkomstkontroll
Cloudflare Turnstile CAPTCHA-integration
- Lagt till Turnstile-tjänst för botskydd på inloggnings- och registreringsformulär
- Automatisk detektering av global
cloudflare_turnstile API-nyckel
- Om aktiverad (global nyckel finns), visas CAPTCHA-widget på autentiseringsformulär
- Om inaktiverad eller nyckel saknas, fungerar formulären normalt utan CAPTCHA
- Site key (public_key) och secret key (secret_key) lagras i api_keys-tabellen
- Verifiering på serversidan mot Cloudflare API
- Misslyckad verifiering blockerar inloggning/registrering med tydligt felmeddelande
- Sömlös integration - inga frontend-ändringar behövs utöver widget-rendering
Adminvarningssystem
- Automatisk detektering av nya adminkonton vid varje webförfrågan
- Varningar skickas via Slack webhook (TOOLSAPI_SLACK i .env)
- E-postnotifieringar till konfigurerad adress (ADMINWARN_MAIL eller thorne@tornevall.net)
- Throttling-mekanism: varningar skickas bara en gång per konfigurerbart intervall (standard 3600 sekunder)
- Bekräftelsesystem: admins kan "bekräfta" nya admins för att stoppa upprepade varningar
- Obekräftade admins behandlas som icke-admin av säkerhetsskäl tills de bekräftas
- Adminvarningspanel i dashboarden (/admin/warnings) visar alla obekräftade admins
- Snabb "Bekräfta"-knapp för att markera admins som legitima
- Skyddar mot obehörig privilegieeskalering
Åtkomstblockering
- Ny adminpanel för IP- och e-postblockering (/access-bans)
- Blockera e-postadresser för att förhindra registrering och inloggning
- Blockera IP-intervall i CIDR-format (t.ex. 192.168.1.0/24) för att blockera hela subnät
- Blockeringar kontrolleras vid registrering och inloggning
- Tydliga felmeddelanden för blockerade användare
- Endast admin-åtkomst (kräver adminbehörigheter)
- Stöd för massradering för att hantera stora blockeringslistor
- Integrerat med användarhanteringspanelen
Förbättringar i användarhantering
- Pagineringsstöd för stora användarlistor (10 per sida som standard)
- Massraderingsfunktion flyttad under tabellen för bättre UX
- Kryssrutor för "Välj nuvarande sida" och "Välj ALLA icke-admin-användare"
- Massradering påverkar aldrig adminkonton eller ditt eget konto
- Tydliga visuella indikatorer för adminstatus (grön badge)
- Behörighetsbadges för enkel behörighetsöversikt
- Förbättrad tabellayout med bättre avstånd och läsbarhet
Förbättringar i API-nyckelhantering
- Paginerad API-nyckellista för bättre prestanda med många nycklar
- Hemliga nycklar maskerade som standard (visas som ••••••••••••)
- Fullständig public key-visning i hopfällbar "Visa fullständig"-sektion
- Redigeringspanel flyttad utanför tabellen för att undvika layoutproblem
- Tydliga instruktioner för Cloudflare Turnstile-installation
- Global/användarspecifika nyckelindikatorer
- Stöd för tom public_key (valfritt fält)
Förbättringar i OpenAI Admin-UI
Prompt-profil är valfri i testformuläret
- Test prompt-formuläret kräver inte längre att du väljer en prompt-profil
- Lade till alternativet "(ingen – testa direkt)" som standard i profildropdown
- När ingen profil väljs körs testet med endast config-defaults
- System-/developer-instructions appliceras bara om profil är vald
- Gör det enklare att snabbtesta utan att behöva skapa profiler först
Dropdown för modellval
- Bytte ut fria textfält för modeller till dropdowns
- Samma beteende i:
- Test prompt
- Config "Default model"
- Lägg till / redigera prompt-profiler
- Minskar risken för stavfel och ogiltiga modellnamn
Bättre yta för instruktioner och input
- Högre textfält (textarea) för system/dev-instructions samt test-prompt
- Full bredd (100%) för textfält så det går att jobba effektivt med längre texter
Dashboard/Services
- OpenAI Engine finns som kort/länk på Dashboard och Services (styrt av behörigheten
openai.manage)
2026-02-10 (Sen nattuppdatering Del 2)
Dashboard & Services-synkronisering
Enhetlig Dashboard-upplevelse
- Synkroniserade hemdashboarden (
/) med services-sidans innehåll
- Dashboarden visar nu alla publika tjänster (RSS Feed Subscription, MCU Timeline, Documentation)
- Autentiserade användare ser personliga administrativa funktioner baserat på sina behörigheter
- Behörighetsbaserade tjänstekort (Användarhantering, Brandvägg, RSS-konfiguration, API-nycklar, MCU-editor)
- Gridbaserad responsiv layout för optimal visning på alla enheter
- Förbättrad visuell hierarki med konsekvent kortstyling
Förbättrad tjänstupptäcktsystem
- Publika tjänster visas framträdande för alla besökare
- Administrativa tjänster-sektionen synlig endast för autentiserade användare
- Behörighetskontroller säkerställer att användare endast ser funktioner de har tillgång till
- Direkt navigering från dashboardkort till respektive tjänster
- Konsekvent styling mellan dashboard och services-sida
MCU Timeline-editor UI-förbättringar
Tabelllayout-optimering
- Tog bort fast minsta bredd-begränsning för fullbredds responsiv tabell
- Klickbar ID-kolumn med blå färg och fet stil för enkel navigering
- Klickbara titelrader - klicka var som helst på titeln för att redigera post
- Förbättrad visuell hierarki med bättre avstånd och hover-tillstånd
- Behåller alla filtrerings-, sidnumrerings- och hanteringsfunktioner
2026-02-10 (Sen nattuppdatering)
MCU Timeline-editor
Komplett administrativt system för Marvel Cinematic Universe-databas
- Skapade omfattande MCU timeline-editor med fullständiga CRUD-operationer
- Lade till MCU-databasanslutningskonfiguration med env-variabler
- Implementerade behörighetsbaserad åtkomstkontroll (kräver "mcu"-behörighet)
- Hantering av timeline-poster med filtrering efter kategori, fas och raderade
- Sidnumreringsstöd (standard 30 poster per sida, max 100)
- Fas- och kategoriorganisation för allt MCU-innehåll
Timeline-funktioner
- Komplett postredigering med alla databasfält:
- Grundläggande info: Titel, Extra titel, Kategori, Samling
- Tidslinjedata: MCU-tid, Premiärdatum, Digital release, Sorteringsordning
- TV/Serie-info: TV-show-flagga, Animerad-flagga, Säsong, Avsnitt
- Externa länkar: IMDB-ID, IMDB-avsnitts-ID, Distribution, Etiketttyp
- Innehåll: Nyckelord, Länkar (JSON), Innehållsinformation
- Redigeringshistorik med spårning av ändringar på kolumnnivå
- Mjuk borttagning och återställningsfunktionalitet
- Realtidsuppdaterad tidsstämpel vid ändringar
Kategorihantering
- Fullständig CRUD för MCU-kategorier
- Fasorganisation (MCU Fas 1, 2, 3, 4, 5, etc.)
- Anpassade bakgrundsfärger för visuell kategorisering
- Kontroll av sorteringsordning
- Inline-redigering i tabellvy
Samlingshantering
- Skapa och hantera MCU-samlingar (Avengers, Spider-Man, etc.)
- Tilldela poster till samlingar för gruppering
- Enkelt samlingsnamnsystem
Teknisk implementation
- McuEditorController med dedikerad databasanslutning
- Separata vyer för index, redigering, kategorier och samlingar
- Fieldset-organisation för bättre UX
- Historiksvisning (senaste 50 redigeringarna per post)
- Integration av behörighetsmiddleware
- Lade till "MCU Editor"-länk i navbar (synlig med behörighet)
- Integration i services-sidan med administrativ sektion
Databasintegration
- Anslutning till separat MCU-databas via env-config
- Tabeller: timeline, category, collections, edithistory
- Automatisk loggning av redigeringshistorik vid alla ändringar
- Stöd för IMDB-cachedata och avsnittsinformation
2026-02-10
UI/UX-förbättringar (Sen kvällsuppdatering)
Styling av formulärfält i mörkt läge
- Lagt till korrekt styling för mörkt läge för alla formulärfält (input, select, textarea)
- Formulärfält har nu mörk bakgrund med vit text i mörkt läge
- Input-bakgrund:
#0f172a (mörkt läge) / #ffffff (ljust läge)
- Fokus-bakgrund:
#1e293b (mörkt läge) / #ffffff (ljust läge)
- Lagt till mjuka övergångar för bakgrunds- och kantfärger
- Speciell styling för tabellsinmatningar (RSS-editor, Firewall-editor, etc.)
- Formulärfält nu tydligt synliga med korrekt kontrast i båda teman
- Kantfärg anpassar sig till temat med CSS-variabler
- Etiketter använder korrekta textfärgsvariabler för synlighet
UI/UX-förbättringar (Kvällsuppdatering)
Temaväxlare i admingränssnitt
- Lagt till temaväxlingsknapp bredvid logout-knappen i navbar
- Temaväxlaren nu tillgänglig på alla autentiserade sidor (inte bara välkomstsidan)
- Växlaren visar "☀️ Light" i mörkt läge och "🌙 Dark" i ljust läge
- Positionerad till höger om logout-knappen för enkel åtkomst
Fix av textkontrast på Services-sidan
- Fixade hårdkodade mörka färger (
#2c3e50, #666) på Services-sidan
- All text använder nu CSS-variabler (
var(--text-color))
- Korrekt kontrast i både ljust och mörkt läge
- Tjänstekort, titlar och beskrivningar ordentligt synliga i mörkt läge
- Text i Administrative Features-sektionen nu läsbar
Förbättringar av RSS-feedlistning
- Gjorde ID-kolumnen mer framträdande och klickbar (teckenstorlek: 1.1rem, fet, blå)
- Titelkolumnen också klickbar nu
- Förbättrad tabellpadding och avstånd
- Bättre visuell hierarki med färger och teckensnittsvikter
- URLs trunkerade om för långa (max 50 tecken med ellips)
- Site type visas som stylad badge
- "Last Scanned"-kolumnen städad (em dash för tomma värden)
Navigation & Användarupplevelse
Förenklad dashboard-navigation
- Tog bort Users, Firewall och RSS från navbar (redan tillgängliga i Services-sektionen)
- Inloggning omdirigerar nu till
/ (hem/dashboard) för alla användare
- Dashboard fungerar som enhetlig kontrollpanel som visar alla tillgängliga verktyg
- Renare navbar med endast viktiga länkar (Home, Services, Contact, Documentation)
Stöd för mörkt läge
- Sessionsbaserad temaväxling (ljust/mörkt)
- Växlingsknapp på välkomstsidan för temaväxling
- NYTT: Temaväxlare nu tillgänglig i admin navbar (bredvid logout)
- CSS-variabler för alla färger (dynamisk tematisering)
- Mjuka övergångar mellan teman
- Mörkt tema-färger:
- Sidbakgrund:
#0f172a
- Kortbakgrund:
#1e293b
- Textfärg:
#e2e8f0
- Input-bakgrund:
#0f172a
- Input-fokus-bakgrund:
#1e293b
- Kantfärg:
#334155
- Ljust tema behåller ursprungligt färgschema
Tema-controller
- Ny
ThemeController för hantering av temaväxling
- Rutt:
POST /theme/toggle
- Sessionssparad temainställning kvarstår över sidor
2026-02-09
Autentisering & Auktorisering
Implementation av behörighetssystem
- Implementerat rollbaserad åtkomstkontroll med Spatie Laravel Permission-paketet
- Skapade fyra kärnbehörigheter:
users, firewall, rss, docs
- Tillagd middleware-baserad behörighetskontroll på alla skyddade routes
- Adminanvändare (
is_admin = 1) kringgår alla behörighetskontroller
- Gränssnitt för behörighetsallokering i användarredigeraren
- "Lägg till/Ta bort behörighet"-funktionalitet för detaljerad kontroll
Förbättringar av användarhantering
- Admin-kryssruta för snabb administratörsbefordran
- UI för behörighetshantering i användarredigeringsformuläret
- Visning av tilldelade behörigheter per användare
- Sessionsbaserad autentisering med "kom ihåg mig"-funktionalitet
Användargränssnitt & Design
Enhetligt navigationssystem
- Skapade en navbar-komponent (
partials/navbar.blade.php) som används på alla sidor
- Fixad navbar-positionering (klistrad längst upp, inget vitt utrymme)
- Konsekvent mörkblått gradienttema (
#2c3e50 till #34495e)
- Dynamiskt navbar-innehåll baserat på autentiseringstillstånd
- Behörighetsmedvetna menyalternativ (visa bara vad användaren har tillgång till)
- "Tornevall Networks"-branding för gäster, "Tools API Admin" för autentiserade användare
Konsekvent layout
- Borttagen vit yta överst på alla sidor
- Standardiserad container-avstånd och padding
- Grid-baserad layout för tjänste- och kontaktsidor
- Responsiv design med mobilstöd
- Konsekvent kortstyling på hela plattformen
Siduppdateringar
- Välkomstsidan omdesignad med hero-sektion
- Tjänstesidan med grid-layout som visar alla verktyg
- Kontaktsidan använder nu grid-layout (var centrerat kort)
- Inloggnings-/Registreringssidor med konsekvent navbar
- Alla adminsidor använder enhetlig navbar
Dokumentationssystem
Markdown-dokumentationsmotor
- Implementerat Laravel-baserat Markdown-dokumentationssystem
- CommonMark-parser med stöd för syntaxmarkering
- Automatisk innehållsförteckningsgenerering från H2/H3-rubriker
- Stöd för kodblock, tabeller, listor och länkar
- Filbaserad routing:
/docs/{page} renderar docs/{page}.md
Flerspråkigt stöd
- Svenska översättningar på
/docs/sv/{page}
- Språkväxlare i dokumentationen
- Parallell engelsk/svensk dokumentationsstruktur
Skapade dokumentationssidor
- RSS Watch användarguide (
rsswatch.md)
- MCU Timeline API-guide (
mcu-api.md)
- Komplett ändringslogg (denna fil)
- Alla guider tillgängliga på både engelska och svenska
Dokumentationsnavigering
- Tillagd "Documentation"-länk till huvudnavbaren
- Dokumentation tillgänglig från tjänstesidan
- Footerlänkar till dokumentation
- Brödsmulenavigering inom docs
Databas & Prestanda
RSS-databasoptimeringar
- Tillagd
real_url-kolumn till urls-tabellen för URL-alias
- Sammansatta index på
urls-tabellen för scraper-frågor:
idx_urls_list på (deleted, protected, lastscrape)
idx_urls_scrape på (protected, deleted, noscrape, lastscrape)
idx_urls_lastrequest på (lastrequestfrom)
- Index på
inbound-tabellen för bearbetningspipeline:
idx_fetch på (handled, processlock, registered, incomingidx)
idx_cleanup på (handled, registered)
- Content-tabellindex för feedgenerering:
idx_content_urlid_pub_ins på (urlid, pubdate, inserted)
idx_content_link_title_desc på (link, title, description)
idx_content_hash på (content_hash)
idx_content_link_hash på (link, content_hash)
Frågeoptimeringar
- Ersatt N+1 entry count-frågor med en batchad GROUP BY-fråga
- Reducerat feedlistning från ~100+ frågor till 2 frågor
- Förbättrad feedgenereringsprestanda med optimerade index
Migrationssystem
- Laravel-migreringar för alla databasändringar
- Versionskontrollerade schemauppdateringar
- Rollback-stöd för alla migreringar
Onlinestatistik
Sessionsspårning
- Realtidsstatistik för inloggade användare
- Gäst vs autentiserad användarspårning
- Sessionsantal visas i footer
- Databasbackad sessionslagring för persistens
2026-02-08
RSS-feedsystem - Stor översyn
Historikspårningssystem
- Tillagd
content_hash-kolumn (SHA1) till content-tabellen
- Automatisk hashgenerering vid insert:
SHA1(title|description|content)
- Full versionsspårning för alla feedposter
- Dubblettförebyggande baserat på innehållshash
- Historisk versionslagring med tidsstämplar
Webb-feedvisare (/feed)
- Publikt RSS-feed-bläddringsgränssnitt
- Feedlistning med postantal och senaste uppdateringstider
- Individuell feedvy med paginering
- Vy per post med direktlänkar
- Historiklägesvippning (
?history=1)
- Anpassningsbara inlägg per sida (
?per_page=N)
- Historikgränskontroll (
?history_limit=N)
Diff-visualisering
- Sida-vid-sida-jämförelse av gammal vs ny
- Markerade inline-diffar med färgkodning:
- Grön bakgrund för tillägg
- Röd bakgrund för borttagningar
- Diffar per fält (titel, beskrivning, innehåll separat)
- GitHub/Bitbucket-stil diff-rendering
- Hopfällbara "Gammal vs Ny"-sektioner
Sökning efter redigerade inlägg (/feed/{id}/edited)
- Hitta inlägg redigerade N gånger eller fler
- Filtrera efter minimum förändringantal
- Visar endast poster med flera versioner
- Användbart för att spåra ofta uppdaterat innehåll
- Direktlänkar till fullständigt inlägg med historik
URL-omdirigering
/out/{contentid}-endpoint för säkra externa länkar
- Förhindrar referrer-läckage
- Använder
real_url om tillgänglig, faller tillbaka på url
- 302-omdirigering till faktisk innehålls-URL
API-förbättringar
- JSON-utdataläge (
?as=json) för alla feeder
- Historikdata i API-svar
- Diff-data tillgänglig via API
- Feedmetadata i svar
Användarhantering
Användarredigerare
- CRUD-gränssnitt för användarhantering
- E-post-, namn-, lösenordsfält
- Admin-flaggkryssruta
- UI för behörighetsallokering
- Användarlistning med redigera/ta bort-åtgärder
- Skyddad mot självradering för inloggad användare
Autentiseringsflöde
- Inloggningssida med e-post/lösenord
- Registreringssida för nya användare
- Lösenordshashning med bcrypt
- Sessionspersistens med "Kom ihåg mig"
- Utloggning med CSRF-skydd
Brandväggshantering
Brandväggsregelredigerare (/firewall)
- Webbgränssnitt för hantering av brandväggsregler
- Stöd för 9 brandväggstabeller:
manualRules: Anpassade iptables-regler
masquerades: NAT-maskeringsregler
trustFull: Helt betrodda värdar
trustHost: Betrodda värdar (begränsade portar)
trustInternal: Interna nätverksvärdar
trustNat: NAT-vidarebefordringsregler
trustNet: Betrodda nätverk
trustOther: Andra betrodda enheter
trustPorts: Konfiguration av öppna portar
- CRUD-operationer per tabell
- Radera via soft-delete (
deleted = 1)
- Redigera befintliga regler inline
- Separat databasanslutning till brandväggs-DB
Databaskonfiguration
- Miljöbaserad brandväggs-DB-anslutning
- Stöder fjärrbrandväggsdatabas
- Oberoende av huvud-Tools-DB
RSS-redigerare (/rss)
URL-hanteringsgränssnitt
- Lista alla RSS-feedkällor
- Lägg till nya feed-URLer
- Redigera befintliga feeder:
- URL och titel
- Läsintervall (sekunder mellan scrapningar)
- Webbplatstyp (rss, wp, json, html)
- Real URL för omdirigeringar
- UTF-8-flagga
- Skyddad flagga
- Kategori
- Ta bort feeder (soft delete)
- Visar postantal per feed
WordPress-integration
sitetype=wp för WordPress-feeder
- Auto-konverterar
/feed till /wp-json/wp/v2/posts
- Hämtar fullständigt innehåll via WP REST API
- Bättre utdrag- och innehållshantering
2026-02-06
Sessionshantering
Databas-sessioner
- Migrerat från filbaserade till databas-sessioner
sessions-tabell med user_id, IP, user agent-spårning
- Sessionsstöd över domäner
- Sessionspersistens över deployments
- Bättre sessionsdebugging och övervakning
Sessionskonfiguration
- Dynamisk sessionsdomän baserad på request host
- Kakans säkerhetsinställningar
- Hantering av sessionens livslängd
- CSRF-skydd på alla formulär
System för betrodda IP-adresser
IP-vitlista
trusted_ips-tabell för IP-baserad åtkomstkontroll
- Beskrivningsfält för IP-dokumentation
- CIDR-notationsstöd planerat
- Används för att kringgå vissa auth-krav
DNS-zonbehörigheter (Förberedda)
Databasschema
dns_zone_permissions-tabell skapad
- Länkar användare till specifika DNS-zoner
- Förberedd för framtida DNS-redigerarimplementation
- Admin-kringgående för full åtkomst
Seeding av adminanvändare
Standardadministratör
- Skapade seeder för standardadminanvändare
- E-post:
thorne@tornevall.net
- Lösenord:
admin (bör ändras vid första inloggningen)
is_admin-flagga satt till 1
- Auto-skapad vid nya installationer
2026-02-05
Innehållsdeduplikering
Hashbaserad dubblettdetektering
- SHA1-hash av titel + beskrivning + innehåll
content_hash-kolumn tillagd till content-tabellen
- Förhindrar exakta dubblettposter
- Tillåter spårning av innehållsändringar
Purge Duplicates API (/api/rss/purge)
- Identifierar dubblettposter genom hash
- Dry-run-läge visar vad som skulle raderas
- Bekräftelseläge (
?confirm=1) utför radering
- Behåller nyaste post, raderar äldre dubbletter
- Returnerar statistik om purgade poster
Databasindexering
- Tillagt index på
content_hash för snabb dubblettupptäck
- Sammansatt index på
link + content_hash
- Snabbare dubblettdetekteringsfrågor
Scraper-förbättringar
WordPress REST API-stöd
- Detekterar WordPress-sajter från
/feed-URLer
- Konverterar till WP JSON API-endpoints
- Hämtar fullständigt postinnehåll och metadata
- Bättre hantering av WordPress-specifika fält
- Stöder anpassade posttyper
Feedbearbetningspipeline
- Processlåsning förhindrar samtidig bearbetning
processlock-flagga i inbound-tabellen
- Automatisk låsupplösning efter bearbetning
- Hanterar JSON-, XML- och HTML-feeder
Felhantering
- Undantag loggade till
/tmp/canQueryExceptions.log
- Debugloggning för misslyckad innehållsextraktion
- Graciös hantering av felformade feeder
2026-02-05 (Tidigare)
Indexoptimering
URLs-tabell
idx_urls_list: Snabb feedlistning
idx_urls_scrape: Optimerade scraper-frågor
idx_urls_lastrequest: Förhindra dubbelscraping
Inbound-tabell
idx_fetch: Hitta obearbetade poster snabbt
idx_cleanup: Rensa gamla bearbetade poster
idx_lock: Processlåsningseffektivitet
Content-tabell
idx_content_urlid_pub_ins: Feedgenerering sorterad efter publiceringsdatum
idx_content_link_title_desc: Dubblettdetektering
idx_content_urlid: Join-optimering
UTF-8-hantering
Kodningsfixar
- Auto-detektering av kodningsproblem
- Konvertering från ISO-8859-1 och Windows-1252
- BOM-borttagning från innehåll
- Validering av teckenkodning
- Fallback till iconv för problematiska strängar
Pre-2026-02-05 (Grund)
RSS-feedsystem
Kärnarkitektur
- Tre-tabellsdesign:
urls, inbound, content
- URLs-tabell: Konfiguration av feedkälla
- Inbound-tabell: Mellanlagring av rå scraper-data
- Content-tabell: Normaliserade, bearbetade poster
Feedkällor
- Stöd för standard RSS/Atom-feeder (Laminas Feed Reader)
- JSON-feeder med anpassade regeluppsättningar
- HTML-scraping med XPath-väljare
- Konfigurerbara läsintervall per feed
Feedgenerering
- Atom-feedutdata (
/api/rss/feed/{site})
- JSON-utdataläge
- Feedlistningsendpoint
- Agentstatusendpoint
- Postinräkning och statistik
Scraper-system
- Fjärrscraperbotar hämtar feeddata
- POST data till
/api/rss/data
- Bakgrundsbearbetning via
/api/rss/update
- Automatiska feedmetadatauppdateringar
- Förfrågningsdeduplikering via IP-hash
Åtkomstkontroll
- Skyddade feeder med värdnamnsbegränsningar
- Publik vs skyddad feedseparation
- Värdbaserade åtkomstlistor (kommaseparerade)
- Fel värddetektering och blockering
MCU Timeline API
Kärnfunktioner
- Komplett Marvel Cinematic Universe-tidslinje
- Kronologisk ordning av allt innehåll
- Fasbaserad organisation (Fas 1-5)
- Kategorifiltrering: Filmer, TV-serier, One-Shots, Webbserier
- Samlingstöd: Infinity Saga, Multiverse Saga
IMDB-integration
- Automatisk IMDB-datahämtning
- Betygs- och röstvisning
- IMDB-länkar för allt innehåll
- Fallback när IMDB är otillgänglig
API-endpoints
/api/mcu/timeline: Full tidslinje
/api/mcu/phase/{phase}: Filtrera efter fas
/api/mcu/find/{keyword}: Sök efter titel
/api/mcu/imdb/{imdbid}: Uppslag via IMDB-ID
- RSS-feedstöd
Filtrering
- Efter kategori (film, serie, oneshot, webb)
- Efter distributör (Disney+, Netflix, Hulu, etc.)
- Efter fas eller flera faser
- Efter samling/saga
Initial plattformsinställning
Laravel-ramverk
- Laravel 8.x basinstallation
- Dingo API för API-routing
- Anpassad undantagshantering
- CORS-stöd för API-åtkomst
- Hastighetsbegränsning (9000 req/min)
Databasdesign
- MySQL/MariaDB-stöd
- Miljöbaserad konfiguration
- Stöd för flera databasanslutningar
- Migrationssystem för versionskontroll
Externa beroenden
- Laminas Feed Reader för RSS/Atom
- TorneLIB för nätverksoperationer
- CommonMark för Markdown-parsing
- Spatie Permissions för RBAC
Framtida planerade funktioner
DNS-hanteringssystem
- Zonredigerare med SOA-hantering
- DNSSEC-stöd
- Dynamiska DNS-uppdateringar via rndc
- Zonmallar
- Användarnivå-zonbehörigheter
Förbättrade RSS-funktioner
- Webhook-notifieringar vid innehållsändringar
- RSS-feedskapande från godtyckliga källor
- Innehållsfiltrering och transformation
- Avancerad sökning med fulltextindexering
API-förbättringar
- GraphQL-endpoint
- WebSocket-stöd för realtidsuppdateringar
- API-nyckelhantering
- Förfrågningsanalys och användningsstatistik
Säkerhetsförbättringar
- Tvåfaktorsautentisering
- API-nyckelrotation
- Revisionsloggning för alla adminåtgärder
- IP-baserad hastighetsbegränsning per användare
Underhålls av: Tornevall Networks
Senast uppdaterad: 2026-02-11
Version: 1.0.0