https://github.com/Rev0li/SongSurf
· scanned 2026-06-15 23:50 UTC (2 months, 3 weeks ago)
39 raw signals (0 security + 39 graph)
Last scanned 2 months, 3 weeks ago · v1 · 39 actionable findings from 1 signal source. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 649 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
loadConfig |
software | healthy | chrome-extension/background.js:loadConfig |
ping |
software | healthy | chrome-extension/background.js:ping |
setStatus |
software | healthy | chrome-extension/background.js:setStatus |
updateBadge |
software | healthy | chrome-extension/background.js:updateBadge |
apiPost |
software | healthy | chrome-extension/background.js:apiPost |
previewUrl |
software | healthy | chrome-extension/background.js:previewUrl |
queueUrl |
software | healthy | chrome-extension/background.js:queueUrl |
getCookiesAndSend |
software | healthy | chrome-extension/background.js:getCookiesAndSend |
queueBatch |
software | healthy | chrome-extension/background.js:queueBatch |
detectType |
software | healthy | chrome-extension/content.js:detectType |
getCleanUrl |
software | healthy | chrome-extension/content.js:getCleanUrl |
ensureToast |
software | healthy | chrome-extension/content.js:ensureToast |
showToast |
software | healthy | chrome-extension/content.js:showToast |
ensurePanelStyles |
software | healthy | chrome-extension/content.js:ensurePanelStyles |
closePanel |
software | healthy | chrome-extension/content.js:closePanel |
showPanel |
software | healthy | chrome-extension/content.js:showPanel |
scrapeAlbumUrls |
software | healthy | chrome-extension/content.js:scrapeAlbumUrls |
albumTitle |
software | healthy | chrome-extension/content.js:albumTitle |
showArtistPanel |
software | healthy | chrome-extension/content.js:showArtistPanel |
artistName |
software | healthy | chrome-extension/content.js:artistName |
esc |
software | healthy | chrome-extension/content.js:esc |
ensureButton |
software | healthy | chrome-extension/content.js:ensureButton |
setButtonLabel |
software | healthy | chrome-extension/content.js:setButtonLabel |
flashButton |
software | healthy | chrome-extension/content.js:flashButton |
updateButtonForUrl |
software | healthy | chrome-extension/content.js:updateButtonForUrl |
refreshStatus |
software | healthy | chrome-extension/options/options.js:refreshStatus |
applyStatus |
software | healthy | chrome-extension/options/options.js:applyStatus |
showMsg |
software | healthy | chrome-extension/options/options.js:showMsg |
applyStatus |
software | healthy | chrome-extension/popup/popup.js:applyStatus |
showSyncStatus |
software | healthy | chrome-extension/popup/popup.js:showSyncStatus |
asText |
software | healthy | SongSurf/frontend/src/lib/utils.js:asText |
v |
software | healthy | SongSurf/frontend/src/lib/utils.js:v |
primaryArtist |
software | healthy | SongSurf/frontend/src/lib/utils.js:primaryArtist |
artistFromSongTitle |
software | healthy | SongSurf/frontend/src/lib/utils.js:artistFromSongTitle |
inferPlaylistArtist |
software | healthy | SongSurf/frontend/src/lib/utils.js:inferPlaylistArtist |
extractYouTubeVideoId |
software | healthy | SongSurf/frontend/src/lib/utils.js:extractYouTubeVideoId |
normalizeThumbUrl |
software | healthy | SongSurf/frontend/src/lib/utils.js:normalizeThumbUrl |
shouldCacheBust |
software | healthy | SongSurf/frontend/src/lib/utils.js:shouldCacheBust |
pushUnique |
software | healthy | SongSurf/frontend/src/lib/utils.js:pushUnique |
candidatesFromVideoId |
software | healthy | SongSurf/frontend/src/lib/utils.js:candidatesFromVideoId |
resolveCoverCandidates |
software | healthy | SongSurf/frontend/src/lib/utils.js:resolveCoverCandidates |
bustUrl |
software | healthy | SongSurf/frontend/src/lib/utils.js:bustUrl |
nrm |
software | healthy | SongSurf/frontend/src/lib/utils.js:nrm |
matchesFilter |
software | healthy | SongSurf/frontend/src/lib/utils.js:matchesFilter |
request |
software | healthy | SongSurf/frontend/src/lib/api.js:request |
addToast |
software | healthy | SongSurf/frontend/src/lib/stores.js:addToast |
removeToast |
software | healthy | SongSurf/frontend/src/lib/stores.js:removeToast |
confirmAction |
software | healthy | SongSurf/frontend/src/lib/stores.js:confirmAction |
tmp_music_dir |
software | healthy | SongSurf/tests/conftest.py:30 |
tmp_temp_dir |
software | healthy | SongSurf/tests/conftest.py:38 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
README.md |
software | healthy | README.md |
CLAUDE.md |
software | healthy | CLAUDE.md |
RELEASE_NOTES.md |
software | healthy | RELEASE_NOTES.md |
deploy_troubleshooting.md |
software | healthy | deploy_troubleshooting.md |
deploy_action.md |
software | healthy | deploy_action.md |
LICENSE |
software | healthy | LICENSE |
background.js |
software | healthy | chrome-extension/background.js |
manifest.json |
software | healthy | chrome-extension/manifest.json |
content.js |
software | healthy | chrome-extension/content.js |
options.js |
software | healthy | chrome-extension/options/options.js |
options.html |
software | healthy | chrome-extension/options/options.html |
popup.js |
software | healthy | chrome-extension/popup/popup.js |
popup.html |
software | healthy | chrome-extension/popup/popup.html |
docker-compose.local.yml |
software | healthy | SongSurf/docker-compose.local.yml |
Dockerfile |
software | healthy | SongSurf/Dockerfile |
.env.example |
software | healthy | SongSurf/.env.example |
DEPLOY.md |
software | healthy | SongSurf/DEPLOY.md |
Makefile |
software | healthy | SongSurf/Makefile |
LICENSE |
software | healthy | SongSurf/LICENSE |
docker-compose.nas.yml |
software | healthy | SongSurf/docker-compose.nas.yml |
docker-compose.yml |
software | healthy | SongSurf/docker-compose.yml |
vite.config.js |
software | healthy | SongSurf/frontend/vite.config.js |
package.json |
software | healthy | SongSurf/frontend/package.json |
package-lock.json |
software | healthy | SongSurf/frontend/package-lock.json |
svelte.config.js |
software | healthy | SongSurf/frontend/svelte.config.js |
README.md |
software | healthy | SongSurf/frontend/static/help/README.md |
app.html |
software | healthy | SongSurf/frontend/src/app.html |
utils.js |
software | healthy | SongSurf/frontend/src/lib/utils.js |
api.js |
software | healthy | SongSurf/frontend/src/lib/api.js |
stores.js |
software | healthy | SongSurf/frontend/src/lib/stores.js |
ProgressZone.svelte |
software | healthy | SongSurf/frontend/src/lib/components/ProgressZone.svelte |
DownloadPanel.svelte |
software | healthy | SongSurf/frontend/src/lib/components/DownloadPanel.svelte |
Header.svelte |
software | healthy | SongSurf/frontend/src/lib/components/Header.svelte |
LibraryTree.svelte |
software | healthy | SongSurf/frontend/src/lib/components/LibraryTree.svelte |
WatcherInactivity.svelte |
software | healthy | SongSurf/frontend/src/lib/components/WatcherInactivity.svel… |
Toast.svelte |
software | healthy | SongSurf/frontend/src/lib/components/Toast.svelte |
ConfirmModal.svelte |
software | healthy | SongSurf/frontend/src/lib/components/ConfirmModal.svelte |
UrlQueue.svelte |
software | healthy | SongSurf/frontend/src/lib/components/UrlQueue.svelte |
HelpModal.svelte |
software | healthy | SongSurf/frontend/src/lib/components/HelpModal.svelte |
layouts.css |
software | healthy | SongSurf/frontend/src/lib/styles/layouts.css |
dashboard.css |
software | healthy | SongSurf/frontend/src/lib/styles/dashboard.css |
components.css |
software | healthy | SongSurf/frontend/src/lib/styles/components.css |
design-system.css |
software | healthy | SongSurf/frontend/src/lib/styles/design-system.css |
+layout.js |
software | healthy | SongSurf/frontend/src/routes/+layout.js |
+page.svelte |
software | healthy | SongSurf/frontend/src/routes/+page.svelte |
+layout.svelte |
software | healthy | SongSurf/frontend/src/routes/+layout.svelte |
+page.svelte |
software | healthy | SongSurf/frontend/src/routes/metadata/+page.svelte |
compose-switch.sh |
software | healthy | SongSurf/docker/compose-switch.sh |
entrypoint.sh |
software | healthy | SongSurf/docker/entrypoint.sh |
conftest.py |
software | healthy | SongSurf/tests/conftest.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
ANY / |
api | healthy | SongSurf/server/app.py |
ANY /_app/<path:filename> |
api | healthy | SongSurf/server/app.py |
ANY /<path:filename> |
api | healthy | SongSurf/server/app.py |
ANY /api/me |
api | healthy | SongSurf/server/app.py |
ANY /ping |
api | healthy | SongSurf/server/app.py |
ANY /api/status |
api | healthy | SongSurf/server/app.py |
ANY /api/library |
api | healthy | SongSurf/server/app.py |
ANY /api/library/move |
api | healthy | SongSurf/server/app.py |
ANY /api/library/move-folder |
api | healthy | SongSurf/server/app.py |
ANY /api/library/delete-folder |
api | healthy | SongSurf/server/app.py |
ANY /api/library/folder-cover |
api | healthy | SongSurf/server/app.py |
ANY /api/library/artist-picture |
api | healthy | SongSurf/server/app.py |
ANY /api/library/song-meta/save |
api | healthy | SongSurf/server/app.py |
ANY /api/library/song-cover/upload |
api | healthy | SongSurf/server/app.py |
ANY /api/library/artist-cover/upload |
api | healthy | SongSurf/server/app.py |
ANY /api/library/album-cover/upload |
api | healthy | SongSurf/server/app.py |
ANY /api/extract |
api | healthy | SongSurf/server/app.py |
ANY /api/download |
api | healthy | SongSurf/server/app.py |
ANY /api/download-playlist |
api | healthy | SongSurf/server/app.py |
ANY /api/prepare-zip |
api | healthy | SongSurf/server/app.py |
ANY /api/download-zip |
api | healthy | SongSurf/server/app.py |
ANY /api/admin/dl-logs |
api | healthy | SongSurf/server/app.py |
ANY /api/admin/extract-covers |
api | healthy | SongSurf/server/app.py |
ANY /api/library/audit/artist |
api | healthy | SongSurf/server/app.py |
ANY /api/library/audit/apply |
api | healthy | SongSurf/server/app.py |
ANY /api/admin/genre-backfill |
api | healthy | SongSurf/server/app.py |
ANY /api/admin/genre-backfill/status |
api | healthy | SongSurf/server/app.py |
ANY /api/prefetch/cover |
api | healthy | SongSurf/server/app.py |
ANY /api/prefetch/cancel |
api | healthy | SongSurf/server/app.py |
ANY /api/cookies/update |
api | healthy | SongSurf/server/app.py |
ANY /api/preview |
api | healthy | SongSurf/server/app.py |
ANY /api/queue-direct |
api | healthy | SongSurf/server/app.py |
ANY /api/extension-queue/consume |
api | healthy | SongSurf/server/app.py |
ANY /api/library/song-meta |
api | healthy | SongSurf/server/app.py |
ANY /api/library/album-tracks |
api | healthy | SongSurf/server/app.py |
ANY /api/library/album-status |
api | healthy | SongSurf/server/app.py |
ANY /api/library/renumber-album |
api | healthy | SongSurf/server/app.py |
ANY /watcher/loading |
api | healthy | SongSurf/watcher/watcher.py |
ANY /watcher/ready |
api | healthy | SongSurf/watcher/watcher.py |
ANY /watcher/inactivity-status |
api | healthy | SongSurf/watcher/watcher.py |
ANY /watcher/keepalive |
api | healthy | SongSurf/watcher/watcher.py |
ANY /<path:path> |
api | healthy | SongSurf/watcher/watcher.py |
ANY /logout |
api | healthy | SongSurf/watcher/watcher.py |
| Label | Layer | Status | Path |
|---|---|---|---|
FakeResp |
software | healthy | SongSurf/tests/test_genre_lookup.py:27 |
TestLookupGenres |
software | healthy | SongSurf/tests/test_genre_lookup.py:43 |
TestLookupAlbumInfo |
software | healthy | SongSurf/tests/test_genre_lookup.py:132 |
TestLookupAlbumTracks |
software | healthy | SongSurf/tests/test_genre_lookup.py:208 |
TestArtistMatches |
software | healthy | SongSurf/tests/test_genre_lookup.py:249 |
TestReadTags |
software | healthy | SongSurf/tests/test_library_audit.py:51 |
TestAuditArtist |
software | healthy | SongSurf/tests/test_library_audit.py:73 |
TestTrackNumberFromItunes |
software | healthy | SongSurf/tests/test_library_audit.py:246 |
TestBackfillGenres |
software | healthy | SongSurf/tests/test_library_audit.py:343 |
TestNormalizeUrl |
software | healthy | SongSurf/tests/test_downloader_utils.py:23 |
TestSplitArtists |
software | healthy | SongSurf/tests/test_downloader_utils.py:44 |
TestArtistList |
software | healthy | SongSurf/tests/test_downloader_utils.py:62 |
TestStripArtistPrefix |
software | healthy | SongSurf/tests/test_downloader_utils.py:75 |
TestDetectType |
software | healthy | SongSurf/tests/test_downloader_utils.py:95 |
TestPrimaryArtist |
software | healthy | SongSurf/tests/test_downloader_utils.py:115 |
TestCleanFilename |
software | healthy | SongSurf/tests/test_downloader_utils.py:146 |
TestPost |
software | healthy | SongSurf/tests/test_events_client.py:47 |
TestReplay |
software | healthy | SongSurf/tests/test_events_client.py:109 |
TestDerivePseudo |
software | healthy | SongSurf/tests/test_events_client.py:172 |
TestValidUrls |
software | healthy | SongSurf/tests/test_url_validation.py:39 |
TestHttpRejected |
software | healthy | SongSurf/tests/test_url_validation.py:64 |
TestNonYoutubeDomain |
software | healthy | SongSurf/tests/test_url_validation.py:80 |
TestXssRejected |
software | healthy | SongSurf/tests/test_url_validation.py:99 |
TestEmptyUrl |
software | healthy | SongSurf/tests/test_url_validation.py:121 |
TestDetectFeaturing |
software | healthy | SongSurf/tests/test_organizer.py:21 |
TestOrganizerCleanFilename |
software | healthy | SongSurf/tests/test_organizer.py:62 |
TestOrganizeFilePlacement |
software | healthy | SongSurf/tests/test_organizer.py:75 |
DownloadProgress |
software | healthy | SongSurf/server/downloader.py:25 |
YouTubeDownloader |
software | healthy | SongSurf/server/downloader.py:72 |
MusicOrganizer |
software | healthy | SongSurf/server/organizer.py:27 |
_RedactTokenFilter |
software | healthy | SongSurf/watcher/watcher.py:101 |
| Label | Layer | Status | Path |
|---|---|---|---|
chrome-extension |
software | healthy | chrome-extension |
options |
software | healthy | chrome-extension/options |
popup |
software | healthy | chrome-extension/popup |
SongSurf |
software | healthy | SongSurf |
frontend |
software | healthy | SongSurf/frontend |
static |
software | healthy | SongSurf/frontend/static |
help |
software | healthy | SongSurf/frontend/static/help |
src |
software | healthy | SongSurf/frontend/src |
lib |
software | healthy | SongSurf/frontend/src/lib |
components |
software | healthy | SongSurf/frontend/src/lib/components |
styles |
software | healthy | SongSurf/frontend/src/lib/styles |
routes |
software | healthy | SongSurf/frontend/src/routes |
metadata |
software | healthy | SongSurf/frontend/src/routes/metadata |
docker |
software | healthy | SongSurf/docker |
tests |
software | healthy | SongSurf/tests |
shared |
software | healthy | SongSurf/shared |
scripts |
software | healthy | SongSurf/scripts |
server |
software | healthy | SongSurf/server |
watcher |
software | healthy | SongSurf/watcher |
templates |
software | healthy | SongSurf/watcher/templates |
pages |
software | healthy | SongSurf/watcher/templates/pages |
documentation |
software | healthy | documentation |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::SongSurf/tests/test_watcher_auth.py |
security | healthy | SongSurf/tests/test_watcher_auth.py |
auth::SongSurf/scripts/generate_secrets.sh |
security | healthy | SongSurf/scripts/generate_secrets.sh |
auth::README.md |
security | healthy | README.md |
auth::SongSurf/tests/test_app_routes.py |
security | healthy | SongSurf/tests/test_app_routes.py |
auth::SongSurf/shared/events_client.py |
security | healthy | SongSurf/shared/events_client.py |
auth::SongSurf/scripts/gen_test_token.sh |
security | healthy | SongSurf/scripts/gen_test_token.sh |
auth::SongSurf/watcher/watcher.py |
security | healthy | SongSurf/watcher/watcher.py |
auth::SongSurf/server/app.py |
security | healthy | SongSurf/server/app.py |
auth::SongSurf/Makefile |
security | healthy | SongSurf/Makefile |
auth::CLAUDE.md |
security | healthy | CLAUDE.md |
auth::SongSurf/.env.example |
security | healthy | SongSurf/.env.example |
| Label | Layer | Status | Path |
|---|---|---|---|
image::SongSurf/Dockerfile |
hardware | healthy | SongSurf/Dockerfile |
image::SongSurf/watcher/Dockerfile |
hardware | healthy | SongSurf/watcher/Dockerfile |
watcher |
hardware | healthy | SongSurf/docker-compose.yml |
songsurf |
hardware | healthy | SongSurf/docker-compose.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
port:8081 |
network | healthy | SongSurf/Dockerfile |
port:5173 |
network | healthy | SongSurf/frontend/vite.config.js |
port:8080 |
network | healthy | SongSurf/watcher/Dockerfile |
| Label | Layer | Status | Path |
|---|---|---|---|
caddy |
network | healthy | README.md |
nginx |
network | healthy | README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | SongSurf/docker-compose.local.yml |
192.168.1.45 |
network | healthy | SongSurf/Makefile |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-4eq5r0y1 |
software | healthy | /tmp/repobility-clone-4eq5r0y1 |
| Label | Layer | Status | Path |
|---|---|---|---|
postgresql |
data | healthy | CLAUDE.md |
This page is publicly accessible at:
https://repobility.com/scan/5ed576c9-4f7f-47a7-855c-f4bf941e99f9/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/5ed576c9-4f7f-47a7-855c-f4bf941e99f9/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.