• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

umputun / newscope
81%
master: 81%

Build:
Build:
LAST BUILD BRANCH: feat/csrf-protection
DEFAULT BRANCH: master
Repo Added 29 Jun 2025 08:22PM UTC
Token B1ANRvmViJzhtlBIzE15bImi0zjBKBfCt regen
Build 87 Last
Files 24
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH feat/csrf-protection
branch: SELECT
CHANGE BRANCH
x
Sync Branches
  • No branch selected
  • add-claude-github-actions-1754853952019
  • chore/go-1.26-toolchain
  • ci/workflow-hardening
  • dependabot/github_actions/actions/checkout-5
  • dependabot/github_actions/actions/checkout-6
  • dependabot/github_actions/actions/setup-go-6
  • dependabot/github_actions/golangci/golangci-lint-action-9
  • dependabot/go_modules/github.com/go-pkgz/rest-1.20.4
  • dependabot/go_modules/github.com/go-pkgz/rest-1.20.6
  • dependabot/go_modules/github.com/sashabaranov/go-openai-1.40.5
  • dependabot/go_modules/github.com/sashabaranov/go-openai-1.41.0
  • dependabot/go_modules/github.com/sashabaranov/go-openai-1.41.1
  • dependabot/go_modules/github.com/sashabaranov/go-openai-1.41.2
  • dependabot/go_modules/github.com/stretchr/testify-1.11.1
  • dependabot/go_modules/golang.org/x/crypto-0.45.0
  • dependabot/go_modules/golang.org/x/net-0.42.0
  • dependabot/go_modules/golang.org/x/net-0.43.0
  • dependabot/go_modules/golang.org/x/net-0.44.0
  • dependabot/go_modules/golang.org/x/net-0.46.0
  • dependabot/go_modules/golang.org/x/net-0.48.0
  • dependabot/go_modules/golang.org/x/sync-0.16.0
  • dependabot/go_modules/golang.org/x/sync-0.17.0
  • dependabot/go_modules/golang.org/x/sync-0.19.0
  • dependabot/go_modules/modernc.org/sqlite-1.38.1
  • feat/csrf-protection
  • feat/summary-validation-theme-toggle
  • feature/ai-classification-improvements
  • feature/multi-user-auth
  • fix/nil-extractor-panic
  • fix_docker_compose
  • master

20 Aug 2026 09:24AM UTC coverage: 81.169% (+0.008%) from 81.161%
32354246562

Pull #40

github

paskal
Wrap router with http.CrossOriginProtection for CSRF defence

Newscope has no CSRF protection: every state-changing endpoint under
/api/v1 accepts a cross-site form post, and the UI runs without tokens.
http.CrossOriginProtection rejects unsafe methods whose Sec-Fetch-Site or
Origin marks them as cross-origin, and leaves GET, HEAD and header-less
requests from non-browser clients alone, so RSS readers and API clients
keep working.

The middleware runs directly after the throttle, ahead of rest.SizeLimit,
which reads the whole body into memory before passing the request on.
Pull Request #40: Wrap router with http.CrossOriginProtection for CSRF defence

2 of 2 new or added lines in 1 file covered. (100.0%)

3750 of 4620 relevant lines covered (81.17%)

27.94 hits per line

Relevant lines Covered
Build:
Build:
4620 RELEVANT LINES 3750 COVERED LINES
27.94 HITS PER LINE
Source Files on master
  • Tree
  • List 24
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
32354246562 feat/csrf-protection Wrap router with http.CrossOriginProtection for CSRF defence Newscope has no CSRF protection: every state-changing endpoint under /api/v1 accepts a cross-site form post, and the UI runs without tokens. http.CrossOriginProtection rejects unsafe me... Pull #40 20 Aug 2026 09:33AM UTC paskal github
81.17
32346543881 master Move to go 1.26 and apply go fix (#44) Raise the go directive to 1.26.0 and match it in the CI workflows; the Docker build already runs on golang:1.26-alpine through the base image. Apply `go fix ./...`, which replaces `interface{}` with `any`, ... push 20 Aug 2026 08:00AM UTC web-flow github
81.16
32346293379 chore/go-1.26-toolchain Merge branch 'master' into chore/go-1.26-toolchain Pull #44 20 Aug 2026 07:57AM UTC web-flow github
81.16
32346247079 master Fix panic when content extraction is disabled Previously, main passed a nil *content.HTTPExtractor to the scheduler when extraction.enabled was false, producing a non-nil Extractor interface with a nil pointer inside and panicking on the first pr... push 20 Aug 2026 07:56AM UTC umputun github
81.17
32345648948 feat/csrf-protection Wrap router with http.CrossOriginProtection for CSRF defence Newscope has no CSRF protection: every state-changing endpoint under /api/v1 accepts a cross-site form post, and the UI runs without tokens. Go 1.25 ships http.CrossOriginProtection, wh... Pull #40 20 Aug 2026 07:49AM UTC paskal github
80.9
32272196460 chore/go-1.26-toolchain Move to go 1.26 and apply go fix Raise the go directive to 1.26.0 and match it in the CI workflows; the Docker build already runs on golang:1.26-alpine through the base image. Apply `go fix ./...`, which replaces `interface{}` with `any`, rewrit... Pull #44 19 Aug 2026 03:49PM UTC paskal github
80.97
32271360150 fix/nil-extractor-panic Fix panic when content extraction is disabled Previously, main passed a nil *content.HTTPExtractor to the scheduler when extraction.enabled was false, producing a non-nil Extractor interface with a nil pointer inside and panicking on the first pr... Pull #43 19 Aug 2026 03:41PM UTC paskal github
81.13
24543355571 feat/csrf-protection wrap router with http.crossoriginprotection for csrf defence bumps go to 1.25 to pick up http.newcrossoriginprotection. the middleware checks sec-fetch-site (forbidden header set by all major browsers since 2023) with an origin/host fallback and ... Pull #40 17 Apr 2026 01:43AM UTC paskal github
80.98
23326286653 master ci: harden workflows, upgrade actions, suppress new lint rules push 20 Mar 2026 02:19AM UTC umputun github
80.89
23325245933 ci/workflow-hardening ci: harden workflows, upgrade actions, suppress new lint rules Pull #39 20 Mar 2026 01:34AM UTC paskal github
80.98
See All Builds (65)

Badge your Repo: newscope

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

Refresh
  • Settings
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc