YouTuber Reference Scraper.
  • Go 90%
  • Nix 9.5%
  • Dockerfile 0.5%
Find a file
Gabriel Santos de Souza 59eaef9f7f
Some checks failed
Continuous Integration / ci (ubuntu-latest) (push) Failing after 1s
Documentation / docs (push) Failing after 1s
Continuous Integration / ci (macos-latest) (push) Has been cancelled
Continuous Integration / ci (windows-latest) (push) Has been cancelled
docs(runner.md): actually use correct versioning expected by the language
Go expects a "v" prefix in the tags. :/
2026-07-31 17:41:41 -03:00
.devcontainer chore: initial commit 2026-07-26 18:46:42 -03:00
.github/workflows fix: further fix release workflow 2026-07-26 20:02:22 -03:00
cli chore: initial commit 2026-07-26 18:46:42 -03:00
docs docs(runner.md): actually use correct versioning expected by the language 2026-07-31 17:41:41 -03:00
fixtures chore: initial commit 2026-07-26 18:46:42 -03:00
img docs: readd gophers 2026-07-29 16:54:27 -03:00
LICENSES docs: add project go gopher 2026-07-28 10:30:20 -03:00
nix chore(flake.lock): update 2026-07-26 18:46:54 -03:00
scraping chore: update go version to 1.26.5 2026-07-26 18:51:53 -03:00
.editorconfig chore: initial commit 2026-07-26 18:46:42 -03:00
.envrc chore: initial commit 2026-07-26 18:46:42 -03:00
.gitattributes fix(.gitattributes): set png files as binaries 2026-07-29 16:52:36 -03:00
.gitignore chore: initial commit 2026-07-26 18:46:42 -03:00
.goreleaser.yaml fix: further fix release workflow 2026-07-26 20:02:22 -03:00
cog.toml chore: initial commit 2026-07-26 18:46:42 -03:00
demo.tape chore: initial commit 2026-07-26 18:46:42 -03:00
Dockerfile fix: release workflow 2026-07-26 19:45:45 -03:00
go.mod chore: update go version to 1.26.5 2026-07-26 18:51:53 -03:00
go.sum chore: update go version to 1.26.5 2026-07-26 18:51:53 -03:00
go.work chore: update go version to 1.26.5 2026-07-26 18:51:53 -03:00
go.work.sum chore: initial commit 2026-07-26 18:46:42 -03:00
LICENSE chore: initial commit 2026-07-26 18:46:42 -03:00
main.go chore: initial commit 2026-07-26 18:46:42 -03:00
README.md docs: add project go gopher 2026-07-28 10:30:20 -03:00
REUSE.toml docs: add project go gopher 2026-07-28 10:30:20 -03:00

Relaxed Go Gopher floating in a giant wineglass

tubenoisseur: YouTuber Reference Scraper

Codecov License

GIF showcasing the program being used on the "bashbunni" YouTube channel, and the generated file with the sources

VHS

Introduction

tubenoisseur is a command-line interface (CLI) built with Cobra meant to be coupled with a scheduling system, such as systemd or a cron job, to gather links in the description of videos from a YouTube channel, with the goal of mapping out their sources.

Philosophies

  • Dependency Injection.
  • Functional Core, Imperative Shell1.
  • Parse, don't validate2.
  • Test Driven Development3.
  • You Aren't Gonna Need It4.

  1. Bernhardt, G. (2012) Functional core, imperative shell. Destroy All Software. Available at: https://www.destroyallsoftware.com/screencasts/catalog/functional-core-imperative-shell (Accessed: May 1, 2026). ↩︎

  2. King, A. (2019) Parse, dont validate. Alexis Kings Blog. Available at: https://lexi-lambda.github.io/blog/2019/11/05/parse-don-t-validate/ (Accessed: September 29, 2025). ↩︎

  3. Beck, K. (2003) Test-driven development: By example. Boston: Addison-Wesley (The Addison-Wesley signature series). ↩︎

  4. Jeffries, R., Anderson, A. and Hendrickson, C. (2001) Extreme programming installed. Boston: Addison-Wesley (The XP series). ↩︎