WGDashboard

Simple dashboard for WireGuard VPN written in Python w/ Flask

APACHE-2.0 License

Stars
1.2K

Bot releases are visible (Hide)

WGDashboard - 2024 September Release 1 (v4.0.3) Latest Release

Published by donaldzou about 1 month ago

📣 What's New: v4.0.3

🧐 Bugs Fixed

WGDashboard - 2024 August Release 3 (v4.0.2)

Published by donaldzou about 2 months ago

📣 What's New: v4.0.2

🧐 Bugs Fixed

WGDashboard - 2024 August Release 2 (v4.0.1)

Published by donaldzou 2 months ago

📣 What's New: v4.0

🧐 Bugs Fixed

WGDashboard - 2024 August Release 2 (v4.0)

Published by donaldzou 2 months ago

📣 What's New: v4.0

🎉 New Features

  • Updated dashboard design: Re-designed some of the section with more modern style and layout, the UI is faster and more responsive, it also uses less memory. But overall is still the same dashboard you're familiarized.
  • Docker Solution: We now have 2 docker solutions! Thanks to @DaanSelen & @shuricksumy for providing them. For more information, please see the Docker section below.
  • Peer Job Scheduler: Now you can schedule jobs for each peer to either restrict or delete the peer if the peer's total / upload / download data usage exceeded a limit, or you can set a specific datetime to restrict or delete the peer.
  • Share Peer's QR Code with Public Link: You can share a peer's QR code and .conf file without the need to loging in.
  • WGDashboard's REST API: You can now request all the api endpoint used in the dashboard. For more details please review the API Documentation.
  • Logging: Dashboard will now log all activity on the dashboard and API requests.
  • Time-Based One-Time Password (TOTP): You can enable this function to add one more layer of security, and generate the TOTP with your choice of authenticator.
  • Designs
    • Real-time Graphs: You can view real-time data changes with graphs in each configuration.
    • Night mode: You know what that means, it avoids bugs ;)
  • Enforce Python Virtual Environment: I noticed newer Python version (3.12) does not allow to install packages globally, and plus I think is a good idea to use venv.

🧐 Other Changes

  • Deprecated jQuery from the project, and migrated and rewrote the whole front-end with Vue.js. This allows the dashboard is future proofed, and potential cross server access with a desktop app.
  • Rewrote the backend into a REST API structure
  • Improved SQL query efficient
  • Removed all templates, except for index.html where it will load the Vue.js app.
  • Parsing names in .conf
  • Minimized the need to read .conf, only when any .conf is modified

🥘 New Experimental Features

  • Cross-Server Access: Now you can access other servers that installed v4 of WGDashboard through API key.
  • Desktop App: Thanks to Cross-Server Access, you can now download an ElectronJS based desktop app of WGDashboard, and use that to access WGDashboard on different servers.

I can't thank enough for all of you who wait for this release, and for those who are new to this project, welcome :)
Also, huge thanks to who contributed to this major release:
@bolgovrussia, @eduardorosabales, @Profik, @airgapper, @tokon2000, @bkeenke, @kontorskiy777, @bugsse, @Johnnykson, @DaanSelen, @shuricksumy and many others!

WGDashboard - v4.0 Beta Release 3

Published by donaldzou 2 months ago

Roadmap on v4.0

I will keep updating this comment :)

Updates on the new features everyone requested 😄

  • Traffic statistic on configuration page
  • API interface w/ API Key (Still need to finish documentation).
  • Block peers without deleting it (YES, we now have restrict). 🫶 to @xiki808.
  • Remove peer after period or condition. 🫶 to #86, @poorp, @upgo7502, @rlrexyz, @Profik .
  • Accept y/Y in .wgd.sh. 🫶 to @nicedevil007

Features still needs to work on

Done

  • Add traffic information on main page. 🫶 to @bolgovrussia
  • Reset Peer or Configuration's data usage. 🫶 to @eduardorosabales
  • An interface facing the client to download with QR Code: Maybe a better way is to create an unique link, that link to a page where only show the QR code and a button to download, and the link can expire at a time. 🫶 to @Profik
  • Restart button for configuration. 🫶 to @airgapper

In progress

  • Cross server access through any dashboard. And potentially, building an ElectronJS app :)
  • Backup & restore function on db and WireGuard file. 🫶 to @tokon2000

Backlog

  • Different language. 🫶 to @bkeenke
  • Tracking when did peer connected and disconnected. 🫶 to @kontorskiy777
  • Add instruction to have wg interface autostart on startup. 🫶 to #248

Potential

New feature for v4.0 will cut off from here, other feature will release in later releases 😃

Bugs needs to be fix

Features not consider at the moment. Sorry 🥹

  • Using SSO for login: The reason is I'm trying to keep the dashboard simple and not adding 3rd party service to add more complexity. 🫶 to @pradhyumk
  • Add rounding to 2 decimals on traffic. 🫶 to @bolgovrussia
  • Remove "Peer" keyword on each peer: I'd like to keep the uniform design of each information. 🫶 to @ghost
  • Email configuration, thinking of using SendGrid or MailChip to avoid the hassle of creating domain and such. 🫶 to @adrinux
WGDashboard - v4.0 Beta Release 2

Published by donaldzou 2 months ago

Roadmap on v4.0

Updates on the new features everyone requested 😄

  • Traffic statistic on configuration page
  • API interface w/ API Key (Still need to finish documentation).
  • Block peers without deleting it (YES, we now have restrict). 🫶 to @xiki808.
  • Remove peer after period or condition. 🫶 to #86, @poorp, @upgo7502, @rlrexyz, @Profik .
  • Accept y/Y in .wgd.sh. 🫶 to @nicedevil007

Features still needs to work on

Done

  • Add traffic information on main page. 🫶 to @bolgovrussia
  • Reset Peer or Configuration's data usage. 🫶 to @eduardorosabales
  • An interface facing the client to download with QR Code: Maybe a better way is to create an unique link, that link to a page where only show the QR code and a button to download, and the link can expire at a time. 🫶 to @Profik
  • Restart button for configuration. 🫶 to @airgapper

In progress

  • Backup & restore function on db and WireGuard file. 🫶 to @tokon2000

Backlog

  • Different language. 🫶 to @bkeenke
  • Tracking when did peer connected and disconnected. 🫶 to @kontorskiy777

Potential

New feature for v4.0 will cut off from here, other feature will release in later releases 😃

Bugs needs to be fix

Features not consider at the moment. Sorry 🥹

  • Using SSO for login: The reason is I'm trying to keep the dashboard simple and not adding 3rd party service to add more complexity. 🫶 to @pradhyumk
  • Add rounding to 2 decimals on traffic. 🫶 to @bolgovrussia
  • Remove "Peer" keyword on each peer: I'd like to keep the uniform design of each information. 🫶 to @ghost
  • Email configuration, thinking of using SendGrid or MailChip to avoid the hassle of creating domain and such. 🫶 to @adrinux
WGDashboard - v4.0 Beta Release 1

Published by donaldzou 3 months ago

Please don't use it in production. I released this intentionally to test the new update process implemented in v4 :)

WGDashboard - 2024 May Release 2 (Hot fix)

Published by donaldzou 6 months ago

What's Changed

Full Changelog: https://github.com/donaldzou/WGDashboard/compare/v3.0.6.1...v3.0.6.2

WGDashboard - 2024 May Release 1 (Hot fix for v3.0.6)

Published by donaldzou 6 months ago

Notice: Not a required update for users who use DNS for peers

  • Fixed the issue where DNS is not required for peers #263
  • I'm still working on v4, please stay tune :)
WGDashboard - 2022 March Release 1

Published by donaldzou over 2 years ago

Fixed Bug

  • When wgdashboard is running behind a proxy server, redirecting could cause using http while proxy is using https [❤️ from #161]
WGDashboard - 2022 January Release 4

Published by donaldzou over 2 years ago

Quick Fix

  • Fixed public key does not match when user used an existing private key
  • Sorry for the wrong version number that causing the dashboard ask for update after updating.
WGDashboard - v3.0.3

Published by donaldzou over 2 years ago

  • Fixed when dashboard configuration file cannot be found after a fresh install. [❤️ from #132 ]
WGDashboard - 2022 January Release 1

Published by donaldzou over 2 years ago

📣 What's New: v3.0

  • 🎉 New Features

    • Moved from TinyDB to SQLite: SQLite provide a better performance and loading speed when getting peers! Also avoided crashing the database due to race condition.
    • Added Gunicorn WSGI Server: This could provide more stable on handling HTTP request, and more flexibility in the future (such as HTTPS support). BIG THANKS to @pgalonza ❤️
    • Add Peers by Bulk: User can add peers by bulk, just simply set the amount and click add.
    • Delete Peers by Bulk: User can delete peers by bulk, without deleting peers one by one.
    • Download Peers in Zip: User can download all downloadable peers in a zip.
    • Added Pre-shared Key to peers: Now each peer can add with a pre-shared key to enhance security. Previously added peers can add the pre-shared key through the peer setting button.
    • Redirect Back to Previous Page: The dashboard will now redirect you back to your previous page if the current session got timed out and you need to sign in again.
    • Added Some 🥘 Experimental Functions
  • 🪚 Bug Fixed

  • 🧐 Other Changes

    • Key generating moved to front-end: No longer need to use the server's WireGuard to generate keys, thanks to the wireguard.js from the official repository!
    • Peer transfer calculation: each peer will now show all transfer amount (previously was only showing transfer amount from the last configuration start-up).
    • UI adjustment on running peers: peers will have a new style indicating that it is running.
    • wgd.sh finally can update itself: So now user could update the whole dashboard from wgd.sh, with the update command.
    • Minified JS and CSS files: Although only a small changes on the file size, but I think is still a good practice to save a bit of bandwidth ;)

And many other small changes for performance and bug fixes! 😆

If you have any other brilliant ideas for this project, please shout it in here #129 ❤️

For users who is using v2.x.x please be sure to read this before updating WGDashboard ;)

WGDashboard - v3.0-beta.final.final

Published by donaldzou over 2 years ago

v3.0-beta.final.final

WGDashboard - v3.0-beta.final

Published by donaldzou over 2 years ago

v3.0-beta.final

WGDashboard - 2021 September Release 2

Published by donaldzou about 3 years ago

  • Updated dashboard's name to WGDashboard!!
WGDashboard - 2021 September Release 1

Published by donaldzou about 3 years ago

📣 What's New: Version v2.3

WGDashboard - 2021 August Release 2

Published by donaldzou about 3 years ago

Bug Fixed:

  • Added support for full subnet on Allowed IP
  • Peer setting Save button
WGDashboard - 2021 August Release 1

Published by donaldzou about 3 years ago

📣 What's New: Version v2.2

  • 🎉 New Features
    • Add new peers: Now you can add peers directly on dashboard, it will generate a pair of private key and public key. You can also set its DNS, endpoint allowed IPs. Both can set a default value in the setting page. [❤️ in #44]
    • QR Code: You can add the private key in peer setting of your existed peer to create a QR code. Or just create a new one, dashboard will now be able to auto generate a private key and public key ;) Don't worry, all keys will be generated on your machine, and will delete all key files after they got generated. [❤️ in #29]
    • Peer configuration file download: Same as QR code, you now can download the peer configuration file, so you don't need to manually input all the details on the peer machine! [❤️ in #40]
    • Search peers: You can now search peers by their name.
    • Autostart on boot: Added a tutorial on how to start the dashboard to on boot! Please read the tutorial below. [❤️ in #29]
    • Click to copy: You can now click and copy all peer's public key and configuration's public key.
    • ....
  • 🪚 Bug Fixed
    • When there are comments in the wireguard config file, will cause the dashboard to crash.
    • Used regex to search for config files.
  • 🧐 Other Changes
    • Moved all external CSS and JavaScript file to local hosting (Except Bootstrap Icon, due to large amount of SVG files).
    • Updated Python dependencies
      • Flask: v1.1.2 => v2.0.1
      • Jinja: v2.10.1 => v3.0.1
      • icmplib: v2.1.1 => v3.0.1
    • Updated CSS/JS dependencies
      • Bootstrap: v4.5.3 => v4.6.0
    • UI adjustment
      • Adjusted how peers will display in larger screens, used to be 1 row per peer, now is 3 peers in 1 row.
WGDashboard - 2021 July Release 1

Published by donaldzou over 3 years ago

📣 What's New: Version 2.1

  • Added Ping and Traceroute tools!
  • Adjusted the calculation of data usage on each peers
  • Added refresh interval of the dashboard
  • Bug fixed when no configuration on fresh install (#23)
  • Fixed crash when too many peers (#22)

Please notice that I mistakenly left a configuration file under the db folder, please remove it if you found it inside