ezBookkeeping

ezbookkeeping.mayswind.net
ezBookkeeping

A lightweight, self-hosted personal finance app for recording daily transactions and analyzing spending patterns. Self-hosted, with all data staying on your own server. Supports 2FA and OICD.

Open Source

ezBookkeeping Source Code

Author

mayswind

Description

ezBookkeeping is an open source, powerful, self-hosted personal finance app that is easy to use.

#accounting#app#bookkeeping#docker#expense-manager#expense-tracker#expenses#finance#finance-management#finances#financial#golang#homelab#mobile#money#money-manager#personal-finance#self-hosted#typescript#vue

Homepage

https://ezbookkeeping.mayswind.net

Repository

  • LicenseMIT
  • Created17 Oct 20
  • Primary languageGo
  • Size29,193 KB
  • Stars6,060
  • Forks760
  • Watchers6,060

Language Usage

Language Usage

Project Health

  • Last commit3 days ago
  • Open issues17
  • Latest releasev2.1.1

Recent Commits

  • MaysWind(10 Nov 26)

    add missing localized aria labels (#756)

  • MaysWind(10 Nov 26)

    update the default values used when reading configuration settings

  • MaysWind(10 Nov 26)

    enforce minimum and maximum token lengths

  • MaysWind(10 Nov 26)

    fix an issue where updating the user profile may clear the map proxy token stored in cookies

  • MaysWind(10 Nov 26)

    pass tokens in headers for email verification and password recovery

  • MaysWind(09 Nov 26)

    encode tokens using base62 and add a signature to each token

  • MaysWind(09 Nov 26)

    disallow the use of parent tokens in scenarios that require derived tokens

  • MaysWind(09 Nov 26)

    use derived child tokens for map proxy

  • Shanazar Nizamaddinov(09 Nov 26)

    add turkish translations. (#755)

  • MaysWind(08 Nov 26)

    do not send current token to the API endpoints that do not require authentication after the token refreshed

  • Albert Brugués(08 Nov 26)

    add spanish translations (#754)

  • MaysWind(08 Nov 26)

    continue processing other requests if token refresh fails

  • MaysWind(08 Nov 26)

    fix linking an external OAuth 2.0 account after the user has set a profile picture

  • MaysWind(08 Nov 26)

    fix a potential null pointer issue

  • MaysWind(08 Nov 26)

    add more logs

  • MaysWind(08 Nov 26)

    force refresh the user custom icon list when current token is updated

  • MaysWind(08 Nov 26)

    fix a potential array index out of bounds issue

  • MaysWind(08 Nov 26)

    use derived child tokens for user custom icons

  • MaysWind(08 Nov 26)

    replace the container struct with an interface

  • MaysWind(08 Nov 26)

    rename variable names

  • MaysWind(08 Nov 26)

    add a database abstraction layer

  • MaysWind(07 Nov 26)

    refactor authentication for API endpoints that only accept normal tokens

  • MaysWind(07 Nov 26)

    improve the user experience of linking external OAuth 2.0 accounts for logged in users

  • MaysWind(07 Nov 26)

    add new contributor

  • kevin(07 Nov 26)

    fix(utils): reject amounts that overflow int64 or carry a second sign in ParseAmount (#748)

  • MaysWind(07 Nov 26)

    update translation

  • Laybr1990(07 Nov 26)

    Add Slovak (sk) translation (#753) Claude-Session: https://claude.ai/code/session_01TwK23DryEWp5m4tjgbZvzA Co-authored-by: Claude Opus 5.5 <[email protected]>

  • MaysWind(07 Nov 26)

    clear the browser cache when the request to delete unused transaction images fails

  • MaysWind(07 Nov 26)

    support configuring the browser cache expiration time for transaction pictures

  • MaysWind(06 Nov 26)

    fix the issue preventing direct access to image urls

ezBookkeeping Security

4.2/10

Repo Security Summary

Updated 24 Aug 26

  • Code-Review0/10
  • Maintained10/10
  • Token-Permissions0/10
  • Dangerous-Workflow10/10
  • CII-Best-Practices0/10
  • Binary-Artifacts10/10
  • Security-Policy0/10
  • License10/10
  • Fuzzing0/10
  • Signed-Releases0/10
  • Branch-ProtectionN/A
  • Packaging10/10
  • SAST0/10
  • Pinned-Dependencies0/10

Security Advisories (4)

  • highPatchedCVSS 7.4

    GHSA-537p-h8qj-p2grezBookkeeping: TOTP single-use (anti-replay) window is too short — 30s dedup TTL vs ~90s passcode validity (±1 step skew) allows replay of an already-used 2FA passcode

  • highPatchedCVSS 8.1

    GHSA-wq25-mpcf-2mfcAPI Token → NORMAL Session Token Escalation via tokens/refresh.json

  • highPatched

    GHSA-p6qr-48g6-97q3TOTP Replay Attack - Same Code Accepted Twice Within Valid Window (RFC 6238 Violation)

  • highPatched

    CVE-2026-86041Source-IP allowlist (MCP & API token) is bypassable via a spoofed `X-Forwarded-For` header

ezBookkeeping Website

Website

ezBookkeeping - open source, powerful, self-hosted personal finance app that is easy to use

ezBookkeeping is an open source, powerful, self-hosted personal finance app that is easy to use.

Redirects

Does not redirect

Security Checks

All 65 security checks passed

Server Details

  • IP Address185.199.111.153
  • Hostnamecdn-185-199-111-153.github.com
  • LocationFrancisco,Indiana,United States of America,NA
  • ISPGitHub Inc.
  • ASNAS54113

Associated Countries

  • USUS

Safety Score

Website marked as safe

100%

Trackers

Loads 1 third-party tracker

  • googletagmanager.comGoogle Ads

Blacklist Check

ezbookkeeping.mayswind.net was found on 0 blacklists

  • AntiSocial Blacklist
  • Artists Against 419
  • Badbitcoin
  • Bambenek Consulting
  • CERT Polska
  • CoinBlockerLists
  • CRDF
  • CryptoScamDB
  • EtherAddressLookup
  • EtherScamDB
  • Fake Website Buster
  • MetaMask EthPhishing
  • NABP Not Recommended Sites
  • OpenPhish
  • PetScams
  • PhishFeed
  • PhishFort
  • Phishing.Database
  • PhishStats
  • PhishTank
  • Phishunt
  • RPiList Not Serious
  • Scam.Directory
  • SecureReload Phishing List
  • Spam404
  • StopGunScams
  • Suspicious Hosting IP
  • ThreatFox
  • ThreatLog
  • TweetFeed
  • URLhaus
  • ViriBack C2 Tracker

Website Preview

Website preview

ezBookkeeping Docker

Container Info

ezbookkeeping

Personal finance app for logging what you spend and earn across accounts and currencies, with receipt photos, scheduled transactions and charts. Imports bank statement files, GnuCash and Firefly III, and installs on a phone like an app. Source: https://github.com/mayswind/ezbookkeeping

#Finance

Run Command

docker run -d \
  -e EZBOOKKEEPING_SECRET_KEY=${EZBOOKKEEPING_SECRET_KEY} \
  -e EZBOOKKEEPING_DB_PASSWORD=${EZBOOKKEEPING_DB_PASSWORD} \
  -e EZBOOKKEEPING_PORT=${EZBOOKKEEPING_PORT} \
  -e EZBOOKKEEPING_URL=${EZBOOKKEEPING_URL} \
  --restart=unless-stopped \
  

Compose File

version: 3.8
services:
  ezbookkeeping:
    environment:
      EZBOOKKEEPING_SECRET_KEY: 
      EZBOOKKEEPING_DB_PASSWORD: 
      EZBOOKKEEPING_PORT: 8100
      EZBOOKKEEPING_URL: "http://localhost:8100/"
    restart: unless-stopped

Environment Variables

  • Var NameDefault
  • EZBOOKKEEPING_SECRET_KEYnull
  • EZBOOKKEEPING_DB_PASSWORDnull
  • EZBOOKKEEPING_PORT8100
  • EZBOOKKEEPING_URLhttp://localhost:8100/

ezBookkeeping Reviews

More Secure Budgeting

About the Data: ezBookkeeping

Change History

Edit ezBookkeeping Data

You can edit ezBookkeeping's entry in this section of awesome-privacy.yml by submitting a PR to our GitHub repo.
Note that some of the information shown above has been aggregated from external sources, a list of these can be found data documentation.

Origin Data

Modify Data

API

You can access ezBookkeeping's data programmatically via our API. Simply make a GET request to:

https://api.awesome-privacy.xyz/v1/services/ezbookkeeping

The REST API is free, no-auth and CORS-enabled. To learn more, view the API Docs or read the API Usage Guide.

Share ezBookkeeping

Help your friends compare Secure Budgeting, and pick privacy-respecting software and services.
Share ezBookkeeping and Awesome Privacy with your network!