{"id":13564656,"url":"https://github.com/asciimoo/omnom","last_synced_at":"2025-07-09T22:33:47.474Z","repository":{"id":9847651,"uuid":"359514956","full_name":"asciimoo/omnom","owner":"asciimoo","description":"A web content preservation service","archived":false,"fork":false,"pushed_at":"2025-07-02T15:20:54.000Z","size":5565,"stargazers_count":411,"open_issues_count":1,"forks_count":28,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-07-02T16:33:56.933Z","etag":null,"topics":["activitypub","bookmark","fediverse","feed-reader","self-hosted","snapshot","webapplication"],"latest_commit_sha":null,"homepage":"https://omnom.zone/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/asciimoo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["asciimoo"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2021-04-19T15:50:17.000Z","updated_at":"2025-07-02T15:20:57.000Z","dependencies_parsed_at":"2024-01-16T18:58:13.916Z","dependency_job_id":"45efe83b-98b5-4685-8d61-2a02a7e7e9a6","html_url":"https://github.com/asciimoo/omnom","commit_stats":{"total_commits":358,"total_committers":4,"mean_commits":89.5,"dds":"0.16480446927374304","last_synced_commit":"dcffb65de285bb60ec3c0178e553bf5c33933abd"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/asciimoo/omnom","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asciimoo%2Fomnom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asciimoo%2Fomnom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asciimoo%2Fomnom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asciimoo%2Fomnom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asciimoo","download_url":"https://codeload.github.com/asciimoo/omnom/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asciimoo%2Fomnom/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264504611,"owners_count":23618830,"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":["activitypub","bookmark","fediverse","feed-reader","self-hosted","snapshot","webapplication"],"created_at":"2024-08-01T13:01:34.137Z","updated_at":"2025-07-09T22:33:47.468Z","avatar_url":"https://github.com/asciimoo.png","language":"Go","funding_links":["https://github.com/sponsors/asciimoo"],"categories":["Go"],"sub_categories":[],"readme":"# Omnom\n\n[![Translation status](https://hosted.weblate.org/widget/omnom/svg-badge.svg)](https://hosted.weblate.org/engage/omnom/)\n\n\nBookmarking with website snapshots.\n\n\nAccess \u0026 share previously visited pages without worrying about modifications or availability.\n\n\nCheck out our [wiki](https://github.com/asciimoo/omnom/wiki) for more information.\n\n\n## Features\n\n - Websites are captured as your browser renders it - saves the displayed content of dynamic pages as well\n - Self hosted\n - Web interface with multiuser support\n - Flexible filtering - by date, free text search in content, tags, users, domains, URLs, etc..\n - [Fediverse/ActivityPub support](https://github.com/asciimoo/omnom/wiki/Fediverse-support)\n - Private \u0026 public bookmarks\n - Multiple snapshots of the same URL with resource summary and compare/diff views\n - [Documented API](https://github.com/asciimoo/omnom/wiki/API-documentation)\n\n\n## Browser addon\n\nOmnom browser addon is available for\n- [Firefox](https://addons.mozilla.org/en-US/firefox/addon/omnom/)\n- [Chrome/Chromium](https://chrome.google.com/webstore/detail/omnom/nhpakcgbfdhghjnilnbgofmaeecoojei)\n\n\n## Installation\n\nSingle file binary release is available [here](https://github.com/asciimoo/omnom/releases/latest).\n\nDocker image is also available available, more details [here](https://github.com/asciimoo/omnom/wiki/Docker).\n\n### Local build\n\ngo \u003e= 1.24 required\n\n - Checkout the repo and execute `go get -u` in the root directory\n - Run `go build`\n\n## Setup \u0026 run\n\n - Run `./omnom help` to list the available commands\n - Execute `./omnom listen` to start the web application\n\n\n## Configuration\n\nSettings can be configured in `config.yml` config file - don't forget to restart webapp after updating.\n\nExecute `./omnom create-config config.yml` to generate a configuration file with the default configuration values.\n\n\n## User handling\n\nOmnom does not store passwords. Login requires one time login token, OAuth, or a remote user header.\n\nLogin tokens can be requested via email (this requires a valid SMTP configuration in `config.yml`) through the web interface or can be generated from command line using the `./omnom create-token [username] login`.\n\nIf you use Omnom behind a reverse proxy with authentication, you can pass the logged-in username in an HTTP header like `Remote-User` to automatically log in. Omnom can be configured to trust the header by setting the `remote_user_header` option in `config.yml`. Remote user header authentication can't be used with OAuth or open signups.\n\n\n### Command line tool\n\nBasic management actions are available using the command line tool (`go run omnom.go` or `go build; ./omnom`)\n\n#### Available Commands\n```\n  create-bookmark      create new bookmark\n  create-config        create default configuration file\n  create-token         create new login/addon token for a user\n  create-user          create new user\n  generate-api-docs-md Generate Markdown API documentation\n  help                 Help about any command\n  listen               start server\n  set-token            set new login/addon token for a user\n  show-user            show user details\n  completion           Generate the autocompletion script for the specified shell\n```\n\n\n## Translations\n\nTo contribute to localizations, please visit our [weblate](https://hosted.weblate.org/projects/omnom/)\n\n[![Translation status](https://hosted.weblate.org/widget/omnom/multi-auto.svg)](https://hosted.weblate.org/engage/omnom/)\n\n\n\n## Bugs\n\nBugs or suggestions? Visit the [issue tracker](https://github.com/asciimoo/omnom/issues) or join our [discord server](https://discord.gg/GAh4RCruh6)\n\n## License\n\nAGPLv3\n\n## Funding\n\nThis project is funded through [NGI Zero Core](https://nlnet.nl/core), a fund established by [NLnet](https://nlnet.nl) with financial support from the European Commission's [Next Generation Internet](https://ngi.eu) program. Learn more at the [NLnet project page](https://nlnet.nl/project/Omnom-ActivityPub).\n\n[\u003cimg src=\"https://nlnet.nl/logo/banner.png\" alt=\"NLnet foundation logo\" width=\"20%\" /\u003e](https://nlnet.nl)\n[\u003cimg src=\"https://nlnet.nl/image/logos/NGI0_tag.svg\" alt=\"NGI Zero Logo\" width=\"20%\" /\u003e](https://nlnet.nl/core)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasciimoo%2Fomnom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasciimoo%2Fomnom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasciimoo%2Fomnom/lists"}