rename: kafka → samsa
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 11s
Mirror to GitHub / mirror (push) Failing after 5s
Tests / test (push) Successful in 42s

Full project rename from kafka to samsa (after Gregor Samsa, who
woke one morning from uneasy dreams to find himself transformed).

- Module: github.com/metamorphosis-dev/kafka → samsa
- Binary: cmd/kafka/ → cmd/samsa/
- CSS: kafka.css → samsa.css
- UI: all 'kafka' product names, titles, localStorage keys → samsa
- localStorage keys: kafka-theme → samsa-theme, kafka-engines → samsa-engines
- OpenSearch: ShortName, LongName, description, URLs updated
- AGPL headers: 'kafka' → 'samsa'
- Docs, configs, examples updated
- Cache key prefix: kafka: → samsa:
This commit is contained in:
Franz Kafka 2026-03-22 23:44:55 +00:00
parent c91908a427
commit 8e9aae062b
70 changed files with 185 additions and 184 deletions

View file

@ -1,4 +1,4 @@
// kafka — a privacy-respecting metasearch engine
// samsa — a privacy-respecting metasearch engine
// Copyright (C) 2026-present metamorphosis-dev
//
// This program is free software: you can redistribute it and/or modify
@ -28,7 +28,7 @@ import (
"strings"
"time"
"github.com/metamorphosis-dev/kafka/internal/contracts"
"github.com/metamorphosis-dev/samsa/internal/contracts"
)
const (

View file

@ -6,7 +6,7 @@ import (
"strings"
"testing"
"github.com/metamorphosis-dev/kafka/internal/contracts"
"github.com/metamorphosis-dev/samsa/internal/contracts"
)
func TestArxivEngine_Search(t *testing.T) {

View file

@ -1,4 +1,4 @@
// kafka — a privacy-respecting metasearch engine
// samsa — a privacy-respecting metasearch engine
// Copyright (C) 2026-present metamorphosis-dev
//
// This program is free software: you can redistribute it and/or modify
@ -28,7 +28,7 @@ import (
"strconv"
"strings"
"github.com/metamorphosis-dev/kafka/internal/contracts"
"github.com/metamorphosis-dev/samsa/internal/contracts"
)
// BingEngine searches Bing via the public Bing API.

View file

@ -1,4 +1,4 @@
// kafka — a privacy-respecting metasearch engine
// samsa — a privacy-respecting metasearch engine
// Copyright (C) 2026-present metamorphosis-dev
//
// This program is free software: you can redistribute it and/or modify
@ -18,7 +18,7 @@ import (
"net/url"
"strings"
"github.com/metamorphosis-dev/kafka/internal/contracts"
"github.com/metamorphosis-dev/samsa/internal/contracts"
)
// BingImagesEngine searches Bing Images via their public RSS endpoint.

View file

@ -7,7 +7,7 @@ import (
"testing"
"time"
"github.com/metamorphosis-dev/kafka/internal/contracts"
"github.com/metamorphosis-dev/samsa/internal/contracts"
)
func TestBingEngine_EmptyQuery(t *testing.T) {

View file

@ -9,7 +9,7 @@ import (
"regexp"
"strings"
"github.com/metamorphosis-dev/kafka/internal/contracts"
"github.com/metamorphosis-dev/samsa/internal/contracts"
)
type BraveEngine struct {

View file

@ -1,4 +1,4 @@
// kafka — a privacy-respecting metasearch engine
// samsa — a privacy-respecting metasearch engine
// Copyright (C) 2026-present metamorphosis-dev
//
// This program is free software: you can redistribute it and/or modify
@ -27,7 +27,7 @@ import (
"strings"
"time"
"github.com/metamorphosis-dev/kafka/internal/contracts"
"github.com/metamorphosis-dev/samsa/internal/contracts"
)
// BraveEngine implements the Brave Web Search API.

View file

@ -5,7 +5,7 @@ import (
"net/http"
"testing"
"github.com/metamorphosis-dev/kafka/internal/contracts"
"github.com/metamorphosis-dev/samsa/internal/contracts"
)
func TestBraveEngine_GatingAndHeader(t *testing.T) {

View file

@ -1,4 +1,4 @@
// kafka — a privacy-respecting metasearch engine
// samsa — a privacy-respecting metasearch engine
// Copyright (C) 2026-present metamorphosis-dev
//
// This program is free software: you can redistribute it and/or modify
@ -27,7 +27,7 @@ import (
"strings"
"time"
"github.com/metamorphosis-dev/kafka/internal/contracts"
"github.com/metamorphosis-dev/samsa/internal/contracts"
)
type CrossrefEngine struct {

View file

@ -5,7 +5,7 @@ import (
"net/http"
"testing"
"github.com/metamorphosis-dev/kafka/internal/contracts"
"github.com/metamorphosis-dev/samsa/internal/contracts"
)
func TestCrossrefEngine_Search(t *testing.T) {

View file

@ -1,4 +1,4 @@
// kafka — a privacy-respecting metasearch engine
// samsa — a privacy-respecting metasearch engine
// Copyright (C) 2026-present metamorphosis-dev
//
// This program is free software: you can redistribute it and/or modify
@ -19,7 +19,7 @@ import (
"strconv"
"strings"
"github.com/metamorphosis-dev/kafka/internal/contracts"
"github.com/metamorphosis-dev/samsa/internal/contracts"
)
// DuckDuckGoImagesEngine searches DuckDuckGo Images via their vql API.

View file

@ -1,4 +1,4 @@
// kafka — a privacy-respecting metasearch engine
// samsa — a privacy-respecting metasearch engine
// Copyright (C) 2026-present metamorphosis-dev
//
// This program is free software: you can redistribute it and/or modify
@ -25,7 +25,7 @@ import (
"net/url"
"strings"
"github.com/metamorphosis-dev/kafka/internal/contracts"
"github.com/metamorphosis-dev/samsa/internal/contracts"
)
// DuckDuckGoEngine searches DuckDuckGo's Lite/HTML endpoint.

View file

@ -1,4 +1,4 @@
// kafka — a privacy-respecting metasearch engine
// samsa — a privacy-respecting metasearch engine
// Copyright (C) 2026-present metamorphosis-dev
//
// This program is free software: you can redistribute it and/or modify
@ -21,7 +21,7 @@ import (
"net/url"
"strings"
"github.com/metamorphosis-dev/kafka/internal/contracts"
"github.com/metamorphosis-dev/samsa/internal/contracts"
)
// parseDuckDuckGoHTML parses DuckDuckGo Lite's HTML response for search results.

View file

@ -7,7 +7,7 @@ import (
"testing"
"time"
"github.com/metamorphosis-dev/kafka/internal/contracts"
"github.com/metamorphosis-dev/samsa/internal/contracts"
)
func TestDuckDuckGoEngine_EmptyQuery(t *testing.T) {

View file

@ -1,4 +1,4 @@
// kafka — a privacy-respecting metasearch engine
// samsa — a privacy-respecting metasearch engine
// Copyright (C) 2026-present metamorphosis-dev
//
// This program is free software: you can redistribute it and/or modify
@ -19,7 +19,7 @@ package engines
import (
"context"
"github.com/metamorphosis-dev/kafka/internal/contracts"
"github.com/metamorphosis-dev/samsa/internal/contracts"
)
// Engine is a Go-native implementation of a search engine.

View file

@ -1,4 +1,4 @@
// kafka — a privacy-respecting metasearch engine
// samsa — a privacy-respecting metasearch engine
// Copyright (C) 2026-present metamorphosis-dev
//
// This program is free software: you can redistribute it and/or modify
@ -21,7 +21,7 @@ import (
"os"
"time"
"github.com/metamorphosis-dev/kafka/internal/config"
"github.com/metamorphosis-dev/samsa/internal/config"
)
// NewDefaultPortedEngines returns the Go-native engine registry.

View file

@ -1,4 +1,4 @@
// kafka — a privacy-respecting metasearch engine
// samsa — a privacy-respecting metasearch engine
// Copyright (C) 2026-present metamorphosis-dev
//
// This program is free software: you can redistribute it and/or modify
@ -27,7 +27,7 @@ import (
"strings"
"time"
"github.com/metamorphosis-dev/kafka/internal/contracts"
"github.com/metamorphosis-dev/samsa/internal/contracts"
)
// GitHubEngine searches GitHub repositories and code via the public search API.

View file

@ -6,7 +6,7 @@ import (
"testing"
"time"
"github.com/metamorphosis-dev/kafka/internal/contracts"
"github.com/metamorphosis-dev/samsa/internal/contracts"
)
func TestGitHubEngine_EmptyQuery(t *testing.T) {

View file

@ -1,4 +1,4 @@
// kafka — a privacy-respecting metasearch engine
// samsa — a privacy-respecting metasearch engine
// Copyright (C) 2026-present metamorphosis-dev
//
// This program is free software: you can redistribute it and/or modify
@ -25,13 +25,13 @@ import (
"regexp"
"strings"
"github.com/metamorphosis-dev/kafka/internal/contracts"
"github.com/metamorphosis-dev/samsa/internal/contracts"
)
// googleUserAgent is an honest User-Agent identifying the metasearch engine.
// Using a spoofed GSA User-Agent violates Google's Terms of Service and
// risks permanent IP blocking.
var googleUserAgent = "Kafka/0.1 (compatible; +https://github.com/metamorphosis-dev/kafka)"
var googleUserAgent = "Kafka/0.1 (compatible; +https://github.com/metamorphosis-dev/samsa)"
type GoogleEngine struct {
client *http.Client

View file

@ -1,4 +1,4 @@
// kafka — a privacy-respecting metasearch engine
// samsa — a privacy-respecting metasearch engine
// Copyright (C) 2026-present metamorphosis-dev
//
// This program is free software: you can redistribute it and/or modify

View file

@ -1,4 +1,4 @@
// kafka — a privacy-respecting metasearch engine
// samsa — a privacy-respecting metasearch engine
// Copyright (C) 2026-present metamorphosis-dev
//
// This program is free software: you can redistribute it and/or modify
@ -20,7 +20,7 @@ import (
"os"
"strings"
"github.com/metamorphosis-dev/kafka/internal/contracts"
"github.com/metamorphosis-dev/samsa/internal/contracts"
)
var defaultPortedEngines = []string{

View file

@ -1,4 +1,4 @@
// kafka — a privacy-respecting metasearch engine
// samsa — a privacy-respecting metasearch engine
// Copyright (C) 2026-present metamorphosis-dev
//
// This program is free software: you can redistribute it and/or modify
@ -26,7 +26,7 @@ import (
"net/url"
"strings"
"github.com/metamorphosis-dev/kafka/internal/contracts"
"github.com/metamorphosis-dev/samsa/internal/contracts"
"github.com/PuerkitoBio/goquery"
)

View file

@ -1,4 +1,4 @@
// kafka — a privacy-respecting metasearch engine
// samsa — a privacy-respecting metasearch engine
// Copyright (C) 2026-present metamorphosis-dev
//
// This program is free software: you can redistribute it and/or modify
@ -18,7 +18,7 @@ import (
"net/url"
"strings"
"github.com/metamorphosis-dev/kafka/internal/contracts"
"github.com/metamorphosis-dev/samsa/internal/contracts"
)
// QwantImagesEngine searches Qwant Images via the v3 search API.

View file

@ -5,7 +5,7 @@ import (
"net/http"
"testing"
"github.com/metamorphosis-dev/kafka/internal/contracts"
"github.com/metamorphosis-dev/samsa/internal/contracts"
)
func TestQwantEngine_WebLite(t *testing.T) {

View file

@ -5,7 +5,7 @@ import (
"net/http"
"testing"
"github.com/metamorphosis-dev/kafka/internal/contracts"
"github.com/metamorphosis-dev/samsa/internal/contracts"
)
func TestQwantEngine_Web(t *testing.T) {

View file

@ -1,4 +1,4 @@
// kafka — a privacy-respecting metasearch engine
// samsa — a privacy-respecting metasearch engine
// Copyright (C) 2026-present metamorphosis-dev
//
// This program is free software: you can redistribute it and/or modify
@ -26,7 +26,7 @@ import (
"net/url"
"strings"
"github.com/metamorphosis-dev/kafka/internal/contracts"
"github.com/metamorphosis-dev/samsa/internal/contracts"
)
// RedditEngine searches Reddit posts via the public JSON API.

View file

@ -6,7 +6,7 @@ import (
"testing"
"time"
"github.com/metamorphosis-dev/kafka/internal/contracts"
"github.com/metamorphosis-dev/samsa/internal/contracts"
)
func TestRedditEngine_EmptyQuery(t *testing.T) {

View file

@ -1,4 +1,4 @@
// kafka — a privacy-respecting metasearch engine
// samsa — a privacy-respecting metasearch engine
// Copyright (C) 2026-present metamorphosis-dev
//
// This program is free software: you can redistribute it and/or modify
@ -27,7 +27,7 @@ import (
"strings"
"time"
"github.com/metamorphosis-dev/kafka/internal/contracts"
"github.com/metamorphosis-dev/samsa/internal/contracts"
)
const stackOverflowAPIBase = "https://api.stackexchange.com/2.3"

View file

@ -1,4 +1,4 @@
// kafka — a privacy-respecting metasearch engine
// samsa — a privacy-respecting metasearch engine
// Copyright (C) 2026-present metamorphosis-dev
//
// This program is free software: you can redistribute it and/or modify
@ -23,7 +23,7 @@ import (
"net/http/httptest"
"testing"
"github.com/metamorphosis-dev/kafka/internal/contracts"
"github.com/metamorphosis-dev/samsa/internal/contracts"
)
func TestStackOverflow_Name(t *testing.T) {

View file

@ -1,4 +1,4 @@
// kafka — a privacy-respecting metasearch engine
// samsa — a privacy-respecting metasearch engine
// Copyright (C) 2026-present metamorphosis-dev
//
// This program is free software: you can redistribute it and/or modify
@ -26,7 +26,7 @@ import (
"net/url"
"strings"
"github.com/metamorphosis-dev/kafka/internal/contracts"
"github.com/metamorphosis-dev/samsa/internal/contracts"
)
type WikipediaEngine struct {
@ -108,7 +108,7 @@ func (e *WikipediaEngine) Search(ctx context.Context, req contracts.SearchReques
// Wikimedia APIs require a descriptive User-Agent.
httpReq.Header.Set(
"User-Agent",
"gosearch-go/0.1 (compatible; +https://github.com/metamorphosis-dev/kafka)",
"gosearch-go/0.1 (compatible; +https://github.com/metamorphosis-dev/samsa)",
)
// Best-effort: hint content language.
if req.Language != "" && req.Language != "auto" {

View file

@ -5,7 +5,7 @@ import (
"net/http"
"testing"
"github.com/metamorphosis-dev/kafka/internal/contracts"
"github.com/metamorphosis-dev/samsa/internal/contracts"
)
func TestWikipediaEngine_Search(t *testing.T) {

View file

@ -1,4 +1,4 @@
// kafka — a privacy-respecting metasearch engine
// samsa — a privacy-respecting metasearch engine
// Copyright (C) 2026-present metamorphosis-dev
//
// This program is free software: you can redistribute it and/or modify
@ -27,7 +27,7 @@ import (
"strings"
"time"
"github.com/metamorphosis-dev/kafka/internal/contracts"
"github.com/metamorphosis-dev/samsa/internal/contracts"
)
type YouTubeEngine struct {