adixal/favs
0
0
Fork
You've already forked favs
0
A self-hosted public, and private, bookmark management project.
  • Python 59%
  • HTML 37.6%
  • CSS 2.5%
  • Dockerfile 0.6%
  • Shell 0.3%
byzantium 99d042ed86 Move debug to own config section
Shift detection of fields around
Set default reverse proxy to 2
Add cloudflare scraping upon request failure
2023年01月09日 22:25:18 +10:00
core Move debug to own config section 2023年01月09日 22:25:18 +10:00
data Move debug to own config section 2023年01月09日 22:25:18 +10:00
lang Added API Limiter 2023年01月07日 18:26:46 +10:00
misc Added basic systemd service 2023年01月07日 17:08:44 +10:00
network Start of network (Link Contact) support 2022年12月31日 15:20:52 +10:00
routes Fixed API Agent detection 2023年01月07日 18:47:26 +10:00
static Moved RAW details to API endpoints 2022年12月31日 20:08:44 +10:00
templates Added API Limiter 2023年01月07日 18:26:46 +10:00
.dockerignore Add .dockerignore 2022年12月03日 15:05:48 +10:00
.gitignore Initial Commit 2022年11月18日 21:31:58 +10:00
build.sh Create manual docker builder 2022年12月13日 12:58:35 +10:00
docker-compose.yml Optimisation and import sorting 2022年12月24日 09:35:53 +10:00
Dockerfile Docker adjustments 2022年11月26日 10:24:22 +10:00
init.sh Docker adjustments 2022年11月26日 10:24:22 +10:00
LICENSE Initial Commit 2022年11月18日 21:31:58 +10:00
main.py Move debug to own config section 2023年01月09日 22:25:18 +10:00
README.md Moved RAW details to API endpoints 2022年12月31日 20:08:44 +10:00
requirements.txt Move debug to own config section 2023年01月09日 22:25:18 +10:00
VERSION Move debug to own config section 2023年01月09日 22:25:18 +10:00

[画像:This is the logo of favs - A beige computer from the early 90s on an orange background.]

Favs

Good ol' bookmarks!

This is primarily a hobby project from a self-taught individual who enjoys writing stuff as a learning experience. There are a number of these types of projects around but few suited what I wanted out of a bookmark app. Always keen to hear if anybody else runs this project on their own hardware.

Contains

  • Absolutely NO javascript
  • Absolutely NO tracking
  • Adjustable rate limiting for login and submission
  • API endpoints accessible at /api/
  • Argon2id password hashing
  • Bulk import of links from exported bookmarks file
    • Exportable links to bookmarks file
  • Categorised and tagged links
  • Easy to use administration page
  • Invitation registration
  • Localisation support
  • Multi-user bookmarks
  • Private and NSFW links
    • Private will only display for users and not public view
    • NSFW will only display for logged-in users and marked as red
  • Private key user recovery
  • Purging of user accounts or user links
  • Random links! Because why not!
  • Raw JSON data output with endpoints
  • Searchable and filterable links
  • Single SQLite database
  • Super simple first start
  • TOTP logins using SHA3-256
    • This is not optional for users

Requirements

  • Python >= 3.10
  • Memcached

Docker Run

  • docker build --tag favs .
  • docker run -d favs

Docker Compose Run

  • docker-compose up -d

First Start (non-docker)

  • Install from requirements.txt using pip
  • Edit the data/config.json file if required
  • Open up the URL, create a superuser, and login
  • Give out the invitation link to a few people
    • Perhaps submit a link with an invitation code!

Todo

  • User management for admin page
  • Move all inline style tags to extra.css file
  • Better accessibility support
  • Custom start page for users
  • Encryption of private URLs
  • Pinned bookmarks
  • Passwords check against zxcvbn