A browser application for archiving and searching bookmarks.
It's so creepy that every bookmarking service wants your data. Look, I just want something better than a text file, OK? A place I can drop links so I can close tabs. I want to annotate bookmarks, archive them to prevent dead links, and maybe (MAYBE) share them with people. Generally speaking, I don't want this information to leave my device, and I really don't want some stalker-as-a-service selling it.
This application tries to provide those features while respecting your privacy through its architecture:
- Information is stored on your device. Unless you choose to share it with another user, it never leaves your device.
- No central servers to administrate, just a static application.
- Save, annotate, and archive bookmarks.
- Index bookmarks so you can search for them.
- Share bookmarks or subsets thereof with your friends. Pending advancements in P2P browser technologies.
The vision I want this application to facilitate is this: a community search engine and archival tool where individuals can freely associate to develop, preserve, and explore their own corner of the web. It is not meant to replace web-wide search engines and concerns itself with a different use case, that is searching for things already known to you and yours. "Where was that thing I read?", "What was that article my friend sent me?", "What did that page look like before it disappeared?" etc.
This application will be reach its goals in stages. It will only become "social" perse in V1.
V0 implements basic features, like annotating bookmarks and searching them.
- Save links.
- Annotate links with
- Search links by tags.
- Implement typeaheads for
- Search terms
V1 adds social features, like sharing lists of bookmarks.
- Annotate bookmarks with
- Create lists with their own
- Implement profile archives for users to associate lists with a particular identity.
- Implement typeaheads for
- Bookmark lists
- List tags
- Store link lists as Dat archives.
- Subscribe to link lists using their discovery key or Dat DNS URL.
V2 introduces durability features like backups.
- Upload encrypted backups to friendly CouchDB installations.
- Decrypt backups drawn from friendly CouchDB installations.
These instructions are intended for the V1 application. The app is currently at V0.
As the application lives on the browser, there is no need to install anything. Just visit the demo site to start using it.
$ git clone https://github.com/garbados/linkfriend $ cd linkfriend $ npm install
To run a test server, use the
npm start command to build and serve the application:
$ npm start ... ┌───────────────────────────────────────────────┐ │ │ │ Serving! │ │ │ │ - Local: http://localhost:5000 │ │ - On Your Network: http://127.0.1.1:5000 │ │ │ │ Copied local address to clipboard! │ │ │ └───────────────────────────────────────────────┘
To serve the application and automatically rebuild its assets whenever source files change, use
npm run dev:
$ npm run dev
To run the test suite, use the
npm test command:
$ npm test
Contributions / Governance
All contributions are welcome but will be moderated at the discretion of the project's maintainers. This section will update as governance policies emerge and evolve.
To report a bug or request a feature, please file and issue.
To share a patch, please submit a pull request.