{"id":18078956,"url":"https://github.com/fengkx/keeplink","last_synced_at":"2025-04-12T12:05:57.012Z","repository":{"id":42031337,"uuid":"363128456","full_name":"fengkx/keeplink","owner":"fengkx","description":"KeepLink is a simple bookmark service with tags and archive build with Supabase and Next.js. It doesn't have any social sharing featrue and You can host your own instance","archived":false,"fork":false,"pushed_at":"2023-07-05T14:29:42.000Z","size":1063,"stargazers_count":70,"open_issues_count":2,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-06T04:06:30.968Z","etag":null,"topics":["bookmark-archiver","bookmarking","bookmarks-manager","self-hosted","supabase"],"latest_commit_sha":null,"homepage":"https://app.keeplink.cc","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fengkx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-04-30T12:06:36.000Z","updated_at":"2025-02-11T09:54:56.000Z","dependencies_parsed_at":"2022-08-12T02:50:57.727Z","dependency_job_id":null,"html_url":"https://github.com/fengkx/keeplink","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fengkx%2Fkeeplink","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fengkx%2Fkeeplink/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fengkx%2Fkeeplink/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fengkx%2Fkeeplink/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fengkx","download_url":"https://codeload.github.com/fengkx/keeplink/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248565060,"owners_count":21125415,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bookmark-archiver","bookmarking","bookmarks-manager","self-hosted","supabase"],"created_at":"2024-10-31T12:16:48.321Z","updated_at":"2025-04-12T12:05:56.992Z","avatar_url":"https://github.com/fengkx.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# KeepLink\n\nKeepLink is a simple bookmark service with tags and archive build with [Supabase](https://github.com/supabase/supabase/) and [Next.js](https://nextjs.org).\nIt doesn't have any social sharing featrue and You can [host your own instance](#self-hosting)\n\n## Features Hightlight\n\n1. Automatically tag new bookmark based on existed tags\n2. Automatically fetch titles and descriptions with [metascraper](https://metascraper.js.org)\n3. Page archive with [SinglePage](https://github.com/gildas-lormeau/SingleFile) and headless chrome\n4. Fulltext search for url, title, description,tag and archived content\n5. Tagging alias for admin\n6. Database and restful API access thanks to Supabase stack\n\n## ScreenShot\n\n![Desktop ScreenShot](.github/images/keeplink-screenshot.png)\n\n## Demo Site\n\nSite: https://app.keeplink.cc\\\nAccount email and password is `demo@keelink.cc`\n\nIt is not a admin account, some admin feature like tag alias management are missing.\n\n## Self hosting\n\nKeepLink is build with Supabase stack and Next.js, But It cannot depoly directly on [vercel.com](https://vercel.com/) and [https://supabase.io](https://supabase.io) (at least for now) for two reason.\n\n1. KeepLink use [rum index](https://github.com/postgrespro/rum) and [zhparser](https://github.com/amutu/zhparser) for better search support which is not currently exist in supabase's extensions list.\n2. Vercel's API route has [10 seconds runtime limit](https://vercel.com/docs/platform/limits?query=limit#general-limits) for its hobby plain. Archiving page with headless chrome might reach this limit. Maybe it can be solved by [Supabase Workflows](https://supabase.io/blog/2021/04/02/supabase-workflows).\n\n[Detail Self Hosting Guide](https://github.com/fengkx/keeplink/wiki/Self-Hosting)\n\nMore infomation is in https://github.com/fengkx/keeplink/wiki\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffengkx%2Fkeeplink","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffengkx%2Fkeeplink","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffengkx%2Fkeeplink/lists"}