Compare commits

...

1268 Commits

Author SHA1 Message Date
Matias G Henschel
8abadd1070
Added PT-BR language, minor ES fix. (#817)
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Docker Build and Push / docker_build (push) Has been cancelled
Docker Build and Push / docker_scan (push) Has been cancelled
Mark stale issues and pull requests / stale (push) Has been cancelled
2025-07-13 21:29:43 +02:00
DaanSelen
1483ef83d9
Added except label (#806)
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Docker Build and Push / docker_build (push) Has been cancelled
Docker Build and Push / docker_scan (push) Has been cancelled
Mark stale issues and pull requests / stale (push) Has been cancelled
2025-06-25 10:51:23 +02:00
Donald Zou
dbed799e20
Merge pull request #805 from DaanSelen/staleenglish
English fix
2025-06-25 16:32:28 +08:00
Daan Selen
4602b68425 English fix 2025-06-25 10:27:34 +02:00
Donald Zou
2d3eaedaa7
Update README.md
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Docker Build and Push / docker_build (push) Has been cancelled
Docker Build and Push / docker_scan (push) Has been cancelled
Mark stale issues and pull requests / stale (push) Has been cancelled
2025-06-24 17:20:21 +08:00
Donald Zou
4d60b21a5f
Update stale.yml 2025-06-24 17:09:56 +08:00
Donald Zou
50ee8374ee
Update stale.yml 2025-06-24 16:36:22 +08:00
Donald Zou
65eb23e8ce
Update stale.yml 2025-06-24 16:36:13 +08:00
Donald Zou
5c76b18ddd
Delete .github/workflows/stale_action 2025-06-24 16:27:05 +08:00
Donald Zou
fc6f5d2535
Create stale.yml 2025-06-24 16:26:35 +08:00
Donald Zou
6a0348e9dc
Create stale_action 2025-06-24 16:15:36 +08:00
Donald Zou
90e6409b1e Update dashboard.py
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Docker Build and Push / docker_build (push) Has been cancelled
Docker Build and Push / docker_scan (push) Has been cancelled
Update version number
2025-06-17 13:34:13 +08:00
Donald Zou
96b28a8e9b
Update dashboard.py (#791)
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Docker Build and Push / docker_build (push) Has been cancelled
Docker Build and Push / docker_scan (push) Has been cancelled
Removed `getDashboardConfiguration` from API whitelist
2025-06-16 23:01:04 +02:00
Donald Zou
a818e87e96
Merge pull request #793 from DaanSelen/delpr
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Docker Build and Push / docker_build (push) Has been cancelled
Docker Build and Push / docker_scan (push) Has been cancelled
2025-06-16 22:25:16 +08:00
DaanSelen
dc715758a6
Merge branch 'donaldzou:main' into delpr 2025-06-16 14:45:53 +02:00
Daan Selen
87069329d8 Where do these come from? 2025-06-16 14:45:23 +02:00
Daan Selen
8a380a4545 Separated tasks (again) and separate builds 2025-06-16 14:42:39 +02:00
Daan Selen
a5e18cb761 del pr running 2025-06-16 14:41:02 +02:00
DaanSelen
e9da3e7b6a
streamline docker (#792) 2025-06-16 14:33:16 +02:00
Daan Selen
289fa23728 streamline 2025-06-16 14:27:12 +02:00
Donald Zou
c117ee61d5
Merge pull request #780 from donaldzou/releasetagging
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Docker Build and Push / docker_build (push) Has been cancelled
Docker Build and Push / docker_scan (push) Has been cancelled
Docker release management
2025-06-05 10:55:37 +08:00
Daan
7385932e52 donald 2025-06-04 19:54:40 +02:00
Daan
cb90b69b3f Looks good! 2025-06-04 19:52:44 +02:00
Donald Zou
8d0e31872a
Update README.md
Testing GitHub Action
2025-06-05 00:18:22 +08:00
Donald Zou
881925fd43
Update docker.yml 2025-06-04 23:52:51 +08:00
Donald Zou
3a2f744f0a
Merge pull request #779 from DaanSelen/scanfix
Add a login to the scan
2025-06-04 23:29:55 +08:00
Daan Selen
9dc9e668c5 Add a login to the scan 2025-06-04 16:53:16 +02:00
Donald Zou
39477c8de8
Merge pull request #778 from donaldzou/DaanSelen-patch-1 2025-06-04 22:44:08 +08:00
DaanSelen
1b0bb95e81
Update docker.yml
I hate this.
2025-06-04 16:41:18 +02:00
Donald Zou
cd5a4bec52
Merge pull request #776 from donaldzou/DaanSelen-patch-4 2025-06-04 22:33:26 +08:00
Daan Selen
43070ab809 Syntax fix 2025-06-04 13:14:03 +02:00
Daan Selen
532fedbb62 Adding file 2025-06-04 13:05:35 +02:00
Daan Selen
585bf37783 THIS SHOULD BE WORKING 2025-06-04 13:04:17 +02:00
DaanSelen
cad364e407
Update docker-build.yml
Pulled out the action docs this time...
2025-06-04 11:01:38 +02:00
Donald Zou
45457c5b38
Merge pull request #775 from donaldzou/DaanSelen-patch-3 2025-06-04 16:57:28 +08:00
DaanSelen
4e9142b5be
Update docker-build.yml
Its becoming not fun
2025-06-04 10:56:28 +02:00
Donald Zou
207b365d40
Merge pull request #774 from donaldzou/DaanSelen-patch-2 2025-06-04 16:45:00 +08:00
DaanSelen
1ec95a0d86
Update docker-build.yml 2025-06-04 10:42:54 +02:00
Donald Zou
db4b9ccc7a
Merge pull request #773 from donaldzou/DaanSelen-patch-1 2025-06-04 16:38:37 +08:00
DaanSelen
a86d0c74d3
Update docker-build.yml 2025-06-04 10:36:42 +02:00
Donald Zou
354f4e47df
Merge pull request #772 from DaanSelen/workflowclarify 2025-06-04 16:32:52 +08:00
Daan Selen
84167650b8 hotfix 2025-06-04 10:27:11 +02:00
Daan Selen
15c12a81f1 Separate stages 2025-06-04 10:12:18 +02:00
DaanSelen
249ae584c3
Merge branch 'donaldzou:main' into workflowclarify 2025-06-04 10:09:57 +02:00
DaanSelen
b04f7b2d2c
Separated tasks (again) and separate builds (#771)
* Separated tasks (again) and separate builds (#8)

* Update docker-build.yml

Updated `GHCR_TOKEN` to `GITHUB_TOKEN`

---------

Co-authored-by: Donald Zou <donaldzou@live.hk>
2025-06-04 10:01:01 +02:00
Donald Zou
630ce459cb Update docker-build.yml
Updated `GHCR_TOKEN` to `GITHUB_TOKEN`
2025-06-04 15:55:22 +08:00
DaanSelen
a7a30fb282
Separated tasks (again) and separate builds (#8) 2025-06-03 15:19:11 +02:00
Donald Zou
ab5abe9bcf
Merge pull request #767 from donaldzou/potential-fix-#762
Background thread terminated when iterating conf list and list changed
2025-05-31 22:52:12 +08:00
Donald Zou
7834fff541 Update dashboard.py
Potential fix for #762
2025-05-29 16:52:13 +08:00
Donald Zou
ef8849e8a9
Update README.md 2025-05-29 00:24:07 +08:00
Donald Zou
78bedf9ad6
Update README.md 2025-05-25 12:58:18 +08:00
Donald Zou
6ec757ab66
Merge pull request #759 from donaldzou/fix-pi-os-installation-issue
Update wgd.sh
2025-05-24 20:43:18 +08:00
Kármán Zsombor
7d71299c51
Add Hungarian language support (#747)
* feat(i18n): add Hungarian (Magyar) language support

* Update active_languages.json

chore: remove extra leading space from line

* Fix: relocate Hungarian (hu-hu) to correct alphabetical position
2025-05-22 23:52:59 +02:00
Donald Zou
bea37aee7f Update wgd.sh
Added `raspbian` into installation, thanks @DerPitter bringing this up at #749
2025-05-22 19:52:05 +08:00
Donald Zou
5323687ea5
Update README.md 2025-05-22 17:19:56 +08:00
Donald Zou
d1372a4c43
Update README.md 2025-05-22 17:05:25 +08:00
Donald Zou
c9249a164a
Merge pull request #758 from DaanSelen/main 2025-05-22 10:00:47 +08:00
DaanSelen
6f105f2626
Updated Dutch translations (#7) 2025-05-21 09:59:40 +02:00
DaanSelen
e4c08896f4
Merge branch 'donaldzou:main' into main 2025-05-21 09:50:49 +02:00
Donald Zou
e85a0df9b7
Update README.md 2025-05-21 13:08:00 +08:00
Donald Zou
a5b7eabd97
Update README.md 2025-05-20 23:56:43 +08:00
Donald Zou
f3688431a3
Update README.md 2025-05-20 23:55:34 +08:00
Donald Zou
44e714352d
Merge pull request #755 from donaldzou/fix-awg-qrcode
Fix AmneziaWG QR Code not workiing
2025-05-19 21:55:28 +08:00
Donald Zou
60da68c994 Build 2025-05-19 21:49:19 +08:00
Donald Zou
11288fac20 Update peerQRCode.vue 2025-05-19 21:44:16 +08:00
Donald Zou
fe9d373444
Delete .github/workflows/qodana_code_quality.yml 2025-05-13 20:42:29 +08:00
Donald Zou
cce31f9b0b
Merge pull request #744 from donaldzou/fix-schedule-job-issue
Update dashboard.py
2025-05-11 00:14:01 +08:00
Donald Zou
ca779ed5ad Update dashboard.py
- Update Job list before every run
2025-05-11 00:09:23 +08:00
Donald Zou
eb0eaaae2e
Merge pull request #733 from donaldzou/v4.2.3-dev
v4.2.3 Merge
2025-05-07 23:18:33 +08:00
Donald Zou
9631b97694 Final UI Build 2025-05-07 23:15:24 +08:00
Donald Zou
6f036876c8 Doing a final check 2025-05-07 23:14:56 +08:00
Donald Zou
bd47179ea4 Build UI for v4.2.3 2025-05-07 22:48:43 +08:00
dselen
418c6bd88b
Merge branch 'donaldzou:main' into main 2025-05-07 08:41:49 +02:00
Donald Zou
ada4c4f816 Update dashboard.py
- Fixed #737
- Removed unnecessary code
2025-05-07 13:00:18 +08:00
Donald Zou
91b499fb14 Update peerQRCode.vue 2025-05-04 17:09:45 +08:00
Donald Zou
1f73adffd6 Fixed issue #698 2025-05-04 01:54:47 +08:00
Donald Zou
82bd313e7a Taking Copilot's suggestion 2025-05-03 17:33:40 +08:00
Donald Zou
14cbfe47b9 Updated theme color 2025-05-03 16:56:20 +08:00
Donald Zou
f2d4ff6dc4 Update dashboard.py
Fixed the issue where TOTP Key is not actually reset when reset.
2025-05-03 16:13:30 +08:00
Donald Zou
bf33a70727 Updated all language file to latest language template 2025-05-02 23:34:44 +08:00
Donald Zou
e1bdcbd581
Merge pull request #708 from Jumala9163/locale/japanese
Updated Japanese translation & Added untranslated parts
2025-05-02 23:00:55 +08:00
Donald Zou
051c1e7622
Merge pull request #722 from reykim7854/locale-indonesia
add Bahasa Indonesia to localization
2025-05-02 22:56:47 +08:00
Donald Zou
3b176474ff
Merge pull request #725 from sf0nt/main
add catalan translation
2025-05-02 22:55:14 +08:00
Donald Zou
15f1b33ea6
Merge pull request #727 from DaanSelen/dockerpidclean
Fix: 723 and more
2025-05-02 22:53:05 +08:00
Donald Zou
0603d4076a
Merge branch 'v4.2.3-dev' into dockerpidclean 2025-05-02 22:52:52 +08:00
reykim7854
ac94f10dc3 fix deprecated locale key 2025-05-02 21:37:55 +07:00
sf0nt
bbb92490e9
order languages alphabetically 2025-05-02 16:03:08 +02:00
Donald Zou
2cb63092c0 Fixed AmneziaWG QR Code out of screen on phone 2025-05-02 21:35:27 +08:00
Donald Zou
b9bcb59592 Fixed CPU Core floating label height 2025-05-02 20:51:58 +08:00
Donald Zou
e083adc022
Merge pull request #728 from BeppeMarnell/#712-peer-delete-bug
API Peer delete bug #712 fix: fixed issue with delete endpoint return…
2025-05-02 20:33:26 +08:00
Donald Zou
c3cd38fe9f Update dashboard.py
- Fixed issue where deleting configuration will delete other configuration with similar name
2025-05-02 20:11:11 +08:00
giuseppe
a7c2db5e99 API Peer delete bug #712 fix: fixed issue with delete endpoint returning always 200 2025-05-02 11:52:39 +02:00
Daan Selen
4926ee5117 Fix https://github.com/donaldzou/WGDashboard/issues/723 and more 2025-05-02 10:02:38 +02:00
Donald Zou
e7723ac3db Build and update version number 2025-05-02 14:34:23 +08:00
Donald Zou
8dbfb93e4e
Merge pull request #726 from donaldzou/fix-awg-advanced-security
Fix awg advanced security
2025-05-02 14:30:57 +08:00
Donald Zou
6096366756
Merge pull request #724 from DaanSelen/main
AmneziaWG Fix for Docker
2025-05-02 14:27:33 +08:00
sf0nt
8e4cf12512
Update active_languages.json 2025-05-02 04:42:43 +02:00
sf0nt
b61fa1f870
Rename es-ca.json to ca.json 2025-05-02 04:41:46 +02:00
sf0nt
ac3cf9e4b1
Rename es_ca.json to es-ca.json 2025-05-02 04:38:57 +02:00
sf0nt
e18463f059
Update es_ca.json 2025-05-02 04:38:19 +02:00
Donald Zou
ee54e08d18 Build and removed advanced_security from UI 2025-05-01 19:59:58 +02:00
Donald Zou
3c07df6496 Build and removed advanced_security from UI 2025-05-01 23:08:40 +08:00
Donald Zou
2117b828c8 Update dashboard.py
Removed `advanced-security` from command line send to AWG
2025-05-01 16:42:37 +02:00
Donald Zou
28d9694432 Update dashboard.py
Removed `advanced-security` from command line send to AWG
2025-05-01 22:40:53 +08:00
Daan Selen
7d977700e6 typo 2025-05-01 16:38:19 +02:00
Donald Zou
33942945d0 commit 2025-05-01 22:28:43 +08:00
Daan Selen
8d7d78db46 Not alpine, latest 2025-05-01 16:21:30 +02:00
Daan Selen
3268cc30ea Donald 2025-05-01 16:20:20 +02:00
Daan Selen
8830ebe34f AmneziaWG Fix for Docker 2025-05-01 16:15:55 +02:00
reykim7854
1d9adba6dd add Bahasa Indonesia to localization 2025-05-01 12:21:29 +07:00
sf0nt
71be73777e
Update es_ca.json 2025-05-01 02:51:53 +02:00
sf0nt
7709f70ef1
Update es_ca.json 2025-05-01 02:21:21 +02:00
sf0nt
9b528b84e1
Update es_ca.json 2025-05-01 02:09:04 +02:00
sf0nt
c53a4d4861
Update es_ca.json 2025-04-30 05:23:02 +02:00
sf0nt
766173df3d
Update es_ca.json 2025-04-30 05:02:43 +02:00
sf0nt
7f65cae891
Update es_ca.json 2025-04-30 04:43:41 +02:00
sf0nt
bc56ecb85c
Update es_ca.json 2025-04-30 03:59:00 +02:00
sf0nt
50c3151301
Update es_ca.json 2025-04-30 03:41:49 +02:00
sf0nt
d49ec0a81e
Update es_ca.json 2025-04-30 03:07:00 +02:00
sf0nt
6692028762
Update es_ca.json 2025-04-30 02:49:00 +02:00
sf0nt
b71c357958
Create es_ca.json 2025-04-30 02:40:47 +02:00
sf0nt
03b7621f3e
Update active_languages.json with catalan 2025-04-30 02:40:01 +02:00
Donald Zou
2bcf24bd84
Merge pull request #710 from reloadlife/feat/route-table
feat: Supporting "table" directive in the configuration
2025-04-27 16:17:17 +08:00
Jumala9163
cc5aa05b12
Fixed where translations were not being done correctly. 2025-04-26 17:26:23 +09:00
Jumala9163
3232c5c4ce
update ja-jp & Add new locations that are not yet translated 2025-04-26 16:50:31 +09:00
dselen
72a52f5cd6
Merge pull request #704 from DaanSelen/dockerdoc
Docker files cleanup
2025-04-25 14:58:35 +02:00
Daan Selen
bda48a56e0 Docker files cleanup 2025-04-25 09:27:07 +02:00
Donald Zou
09cdcf8e53 Update version number 2025-04-25 14:23:51 +08:00
Donald Zou
a4d5b41ca7
Merge pull request #703 from donaldzou/fix-#702
Fix #702 and #699
2025-04-25 14:15:33 +08:00
Donald Zou
9fa0d91d06 Update Email.py
Fixed #699
2025-04-25 14:08:45 +08:00
Donald Zou
510f60bdeb Update Email.py
Fixed to accomodate SMTP service where `username` is not an email address from #702
2025-04-25 13:39:29 +08:00
Mohammad Mahdi Afshar
30fe827253 feat: Supporting "table" directive in the configuration 2025-04-24 18:51:26 +03:30
Donald Zou
8f0f4b168b Update README.md
Added demo server
2025-04-24 19:13:34 +08:00
Donald Zou
cd11c4beb6 Merge branch 'main' of https://github.com/donaldzou/WGDashboard 2025-04-23 21:27:01 +08:00
Donald Zou
4d49cc413a Update README.md 2025-04-23 21:26:21 +08:00
Donald Zou
3d50a58a31
Merge pull request #690 from donaldzou/donaldzou-patch-2
Update README.md
2025-04-23 20:23:03 +08:00
Donald Zou
d5701230fa Pushing this for Docker 2025-04-23 20:22:26 +08:00
Donald Zou
ab945d6afe
Update README.md
Changed the icon!
2025-04-23 20:06:44 +08:00
Donald Zou
b4f8a36d43
Merge pull request #689 from donaldzou/fix-#683
Fix #683
2025-04-23 19:31:50 +08:00
Donald Zou
608c1b4eb6 Update version number to v4.2.1 2025-04-23 19:30:41 +08:00
Donald Zou
edf3c42157 Update version number 2025-04-23 19:26:31 +08:00
Donald Zou
c523cec113 Fixed #683 and Re-build 2025-04-23 19:24:50 +08:00
Donald Zou
6f8b987d42
Merge pull request #688 from donaldzou/fix-welcome-session-issue
Update dashboard.py
2025-04-23 18:06:10 +08:00
Donald Zou
d0d0642bdf Update dashboard.py
Fixed issue where new user can't finish welcome session
2025-04-23 18:05:19 +08:00
Donald Zou
924d760e3b
Merge pull request #687 from DaanSelen/delarmv6
Remove arm v6 because go image has not been built for it.
2025-04-23 16:29:17 +08:00
Donald Zou
f8c207ca2b
Merge pull request #685 from Jorropo/fr-fr
locale: Add fr-fr language
2025-04-23 16:22:43 +08:00
Daan Selen
ada1edd0b7 Remove arm v6 because go image has not been built for it. 2025-04-23 10:08:09 +02:00
Donald Zou
c79333db61
Merge pull request #681 from DaanSelen/imagebump
Imagebump
2025-04-23 16:00:53 +08:00
Jorropo
13778bed87 locale: Add fr-fr language
This file copies most of the work from @alexp did in af5e7974 when adding fr-ca language.

There a handful of sentences being rephrased.
Typographic changes.
And few corrections that should probably be done in fr-ca too.
2025-04-23 07:33:16 +02:00
Daan
83b4d96f42 go image bump 2025-04-22 21:36:28 +02:00
Daan
6cf96de0b4 Moved Docker file around, cleaning. 2025-04-22 21:20:41 +02:00
Donald Zou
481fadc7fc Build 2025-04-23 02:15:05 +08:00
Donald Zou
44f2c59e56
Merge pull request #679 from donaldzou/v4.2-dev
V4.2 dev
2025-04-23 02:13:39 +08:00
Donald Zou
83589a912f Update README.md 2025-04-22 22:34:09 +08:00
Donald Zou
fab9f03e7d Update README.md 2025-04-22 22:33:22 +08:00
Donald Zou
928c83b13c Update README.md 2025-04-22 22:26:29 +08:00
Donald Zou
72f20bc69b Update README.md 2025-04-22 22:26:01 +08:00
Donald Zou
8293d5379d Update README.md 2025-04-22 22:23:11 +08:00
Donald Zou
1d29445a8b Merge branch 'v4.2-dev' of https://github.com/donaldzou/WGDashboard into v4.2-dev 2025-04-22 18:42:22 +08:00
Donald Zou
5c308d757f Update wgd.sh and removed SSL-TLS from Gunicorn 2025-04-22 18:42:08 +08:00
Donald Zou
5bf16004c9
Merge branch 'main' into v4.2-dev 2025-04-21 18:11:09 +08:00
Donald Zou
417fa437b7 Update 2025-04-21 17:25:12 +08:00
Donald Zou
43f893c921 Update 2025-04-21 15:59:42 +08:00
Donald Zou
8ad9af4bc2 Added Belarusian to v4.2 2025-04-20 15:47:24 +08:00
Donald Zou
b3931bdc9d
Merge pull request #646 from Bardatsky/main
added Belarusian language
2025-04-20 15:46:27 +08:00
Donald Zou
7ac153848b
Merge branch 'main' into main 2025-04-20 15:45:18 +08:00
Donald Zou
7689ebcac5 Update 2025-04-20 02:52:22 +08:00
Donald Zou
bf7adf9ca9 Build 2025-04-20 02:46:32 +08:00
Donald Zou
51ab8c556a Sorting language available automatically 2025-04-20 02:40:36 +08:00
Donald Zou
149a8e910d Merged latest locale from main 2025-04-20 02:37:54 +08:00
Donald Zou
310746b8cd
Merge pull request #676 from donaldzou/DaanSelen-patch-1
Update active_languages.json
2025-04-19 22:26:28 +08:00
Donald Zou
6681303450 Adjusted some API endpoint
Some checks failed
Qodana / qodana (push) Has been cancelled
2025-04-19 02:54:47 +08:00
dselen
3228f37f09
Merge branch 'main' into DaanSelen-patch-1 2025-04-17 23:04:26 +02:00
dselen
421785bf6a
Merge pull request #675 from mahdiMGF2/main
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Docker Scan and Build / docker_build_analyze (push) Has been cancelled
Qodana / qodana (push) Has been cancelled
added Farsi language
2025-04-17 23:01:50 +02:00
Mahdi
308e8ca8c7 The Persian language was organized based on the alphabet. 2025-04-13 15:14:01 +03:30
Daan
cb068ef70e Reordering on lang_name 2025-04-13 12:02:35 +02:00
dselen
acd3ec782f
Update active_languages.json
Alphabetical
2025-04-13 11:40:14 +02:00
Mahdi
12d1e5b8d0 added Farsi language 2025-04-11 09:04:02 +03:30
dselen
b165cdbd79
Merge pull request #672 from Jumala9163/jumala9163/locale/japanese
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Qodana / qodana (push) Has been cancelled
Add Japanese Language
2025-04-07 16:05:17 +02:00
Donald Zou
66f4507dee Refactored some API endpoint
Some checks failed
Qodana / qodana (push) Has been cancelled
2025-04-07 18:45:12 +08:00
Donald Zou
a724e1cb58
Update README.md 2025-04-07 17:41:12 +08:00
Donald Zou
f942809de0
Update README.md
Added DO as sponsor!
2025-04-07 15:14:07 +08:00
Donald Zou
8043f77e02
Update README.md 2025-04-06 05:32:15 +08:00
Jumala9163
1db9ba90d8
fix typo 2025-04-06 00:23:30 +09:00
Jumala9163
464fa59cb6
Add Japanese(ja-jp) Language 2025-04-06 00:12:00 +09:00
Donald Zou
a8e2cbf55b
Update README.md 2025-04-05 22:38:20 +08:00
Donald Zou
fecd8dab38
Update README.md 2025-04-05 20:45:37 +08:00
Donald Zou
13a833e3ed
Update README.md 2025-04-04 16:53:17 +08:00
Donald Zou
8d4784052a Build v4.2 2025-04-03 23:03:00 +08:00
Donald Zou
d9e9b41861 Build 2025-03-28 00:13:54 +08:00
Donald Zou
f0c3ef0aa1 Added Chatbot to the App! 2025-03-28 00:13:38 +08:00
Donald Zou
3888831679
Merge pull request #663 from donaldzou/DaanSelen-patch-3
Update docker-related.yaml
2025-03-26 17:11:02 +08:00
dselen
1a32fad324
Update docker-related.yaml
Added nigthly trigger.
2025-03-26 09:42:11 +01:00
Donald Zou
d842ae9540
Update docker-related.yaml 2025-03-25 15:36:53 +08:00
Donald Zou
d0177b7504
Update docker-related.yaml 2025-03-25 15:17:41 +08:00
Donald Zou
e3842b25f3
Update docker-related.yaml 2025-03-25 15:11:06 +08:00
Donald Zou
a29b59c9cd
Update docker-related.yaml 2025-03-24 17:36:05 +08:00
Donald Zou
f94eb97aa4
Update docker-related.yaml 2025-03-24 12:52:28 +08:00
Donald Zou
86017b79eb
Update docker-related.yaml 2025-03-24 12:50:26 +08:00
Donald Zou
bc22fa5fad
Update docker-related.yaml 2025-03-24 12:42:03 +08:00
Donald Zou
d6b70028ff
Merge pull request #662 from donaldzou/donaldzou-patch-1
Update docker-related.yaml
2025-03-24 05:11:36 +08:00
Donald Zou
0f7f9acd58
Update docker-related.yaml 2025-03-24 05:11:22 +08:00
Donald Zou
20633a6d1a
Update docker-related.yaml 2025-03-24 05:00:45 +08:00
Donald Zou
a23856270d
Merge pull request #661 from donaldzou/DaanSelen-patch-2
Update docker-related.yaml
2025-03-24 04:27:53 +08:00
dselen
55543e370e
Update docker-related.yaml
Workflow fix fix
2025-03-23 21:20:40 +01:00
Donald Zou
8137a46c68
Merge pull request #660 from DaanSelen/workflow-fix
Workflow fix.
2025-03-24 04:16:34 +08:00
Daan
aeb9597c71 Workflow fix. 2025-03-23 20:41:48 +01:00
Donald Zou
5067485e94 Commit
Some checks failed
Qodana / qodana (push) Has been cancelled
2025-03-16 00:42:40 +08:00
Donald Zou
dfd456c7dc Update qodana_code_quality.yml
Some checks failed
Qodana / qodana (push) Has been cancelled
2025-03-12 01:01:42 +08:00
Donald Zou
0ccb07e683 Push 2025-03-12 00:59:32 +08:00
Donald Zou
ca67a6897f Update 2025-03-12 00:44:36 +08:00
Donald Zou
0390227641
Update qodana_code_quality.yml
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Qodana / qodana (push) Has been cancelled
2025-03-12 00:36:07 +08:00
Donald Zou
395b0982db
Merge pull request #650 from donaldzou/qodana-automation-897468090
Some checks are pending
CodeQL / Analyze (javascript) (push) Waiting to run
CodeQL / Analyze (python) (push) Waiting to run
Qodana / qodana (push) Waiting to run
Add qodana CI checks
2025-03-11 18:00:52 +08:00
Qodana Application
f096ab4da7 Add github workflow file 2025-03-11 10:00:39 +00:00
Qodana Application
d5ec9f7640 Add qodana.yaml file 2025-03-11 10:00:39 +00:00
Donald Zou
5732867407 Fixed #493 2025-03-11 17:52:53 +08:00
Егор Бардацкиий
31842f4c12 added Belarusian language 2025-03-08 03:45:26 +03:00
Donald Zou
d5168d2da6 Update dashboard.py 2025-03-07 00:52:51 +08:00
Donald Zou
cac5ec836b Update dashboard.py
- Fixing #601
2025-03-07 00:45:01 +08:00
Donald Zou
ee9569e7d4 Update dashboard.py
- Trying to fix #601
2025-03-07 00:37:01 +08:00
dselen
95df7de026
Merge pull request #639 from karorogunso/main
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Add Thai language
2025-02-27 11:51:53 +01:00
Karorogunso
d3a5bd374d
Merge pull request #1 from karorogunso/thai
Add Thai to main brach
2025-02-27 16:44:42 +07:00
Karorogunso
43ac3dddf1
Merge branch 'donaldzou:main' into thai 2025-02-27 16:25:57 +07:00
Karorogunso
1174328de3
Update active_languages.json 2025-02-27 16:24:28 +07:00
dselen
dda54fb907
Merge pull request #625 from DaanSelen/arch-support
Arch Linux Support
2025-02-20 13:14:35 +01:00
Daan
92ea808a5d Arch Linux Support 2025-02-19 18:49:00 +01:00
dselen
2bc3a75c94
Merge pull request #621 from wdk-kr/korean
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Add Korean Language
2025-02-18 13:04:56 +01:00
완두콩
07ef97ce7c Update active_languages.json 2025-02-18 20:13:52 +09:00
완두콩
5fe3539331 Update ko.json 2025-02-18 15:52:50 +09:00
완두콩
4bc3bd5f13 Update ko.json 2025-02-18 15:51:24 +09:00
완두콩
4abce854d7 Update active_languages.json 2025-02-18 15:36:01 +09:00
완두콩
3b5c73992e Fix incorrect translations 2025-02-18 15:25:10 +09:00
완두콩
c5abea2944 Add Korean Language 2025-02-18 15:11:08 +09:00
Donald Zou
8e5cf14ebc
Merge pull request #619 from akhepcat/v4.2-dev
Update wgd.sh - install pypi mirror can auto select by rtt after delay
2025-02-18 02:46:19 +08:00
Leif
7c8410ab86
Update wgd.sh
update msleep for longer timeout, and move that var to the top to make it more obvious
2025-02-17 09:41:11 -09:00
Donald Zou
369b4b92cc Update dashboard.py
- Fixed #
2025-02-17 15:25:33 +08:00
Donald Zou
c50bb70383 Build 2025-02-17 14:25:49 +08:00
Donald Zou
d84b2060f0 Added endpoint back when on list 2025-02-17 14:25:37 +08:00
Donald Zou
afcf6024e6 Update 2025-02-17 14:01:56 +08:00
Donald Zou
3542bd6668 Adjusted UI to fit list display 2025-02-17 13:47:05 +08:00
Leif Sawyer
69b9116dd5 Add auto-select based on ping response 2025-02-16 14:53:03 -09:00
Leif
a2db4f06b1
Update wgd.sh install pypi mirror auto select
add timeout value so that the install/update can run fully scripted without normal user intervention if desired
2025-02-16 11:43:47 -09:00
Donald Zou
b60b0fb511 Resolved #596 2025-02-17 00:20:36 +08:00
Donald Zou
0c1e9a6bb5 Fixed #499 2025-02-16 23:08:24 +08:00
Donald Zou
2692f92cb9 Fixed #609 2025-02-16 23:07:16 +08:00
Donald Zou
a43c8b4b00 Update dashboard.py 2025-02-16 17:43:22 +08:00
Donald Zou
6f15389411 Updated how available IP is generated 2025-02-16 17:42:32 +08:00
Donald Zou
f055241802 Build 2025-02-15 16:50:09 +08:00
Donald Zou
ac77c3a390 Fixed hardcoded issue 2025-02-15 16:49:49 +08:00
Donald Zou
5cd99f2edc Update dashboard.py
Fixed #490
2025-02-14 23:59:21 +08:00
Donald Zou
7c70fbec30 Build 2025-02-14 23:24:16 +08:00
Donald Zou
ac0dc3196f
Merge pull request #612 from akhepcat/v4.2-dev
Fix version checking
2025-02-14 16:07:18 +08:00
Leif
7f4da826b1
Fix version checking
don't just check for string differences, but compare the version numbering using packaging.version
2025-02-13 23:04:27 -09:00
Donald Zou
cc2af4371f Build 2025-02-12 20:07:37 +08:00
Donald Zou
2a79a03d38 Build 2025-02-10 16:17:15 +08:00
Donald Zou
47aac7fe33 Added automatically assign keys and allowed ip when none provided
Resolve #515
2025-02-10 16:17:00 +08:00
Donald Zou
d4055884b1 Fixed #580 2025-02-08 16:40:20 +08:00
Donald Zou
61658e847a Merge branch 'v4.2-dev' of https://github.com/donaldzou/WGDashboard into v4.2-dev 2025-02-08 15:45:40 +08:00
Donald Zou
bd714223ce Update dashboard.py 2025-02-08 15:45:09 +08:00
dselen
060154cb89
Merge pull request #595 from sobhydo/main
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Adding Arabic Translation
2025-02-06 14:13:23 +01:00
dselen
99a1bfca9d
Update active_languages.json
removed leading newline
2025-02-06 14:10:10 +01:00
dselen
4379f30628
Update active_languages.json
removed trailing enter.
2025-02-06 14:09:47 +01:00
Ahmed Sobhy
b501244577 Alphabetical order for active languages 2025-02-06 16:53:43 +04:00
Daan Selen
6f7b9815ca Hotfix for stop entrapment and addition of workdir in Dockerfile 2025-02-06 11:41:41 +01:00
dselen
227bd088f7
Merge pull request #603 from DaanSelen/4.2
Docker enhancements.
2025-02-06 10:56:32 +01:00
Daan Selen
b1d6ecb07c Tidied up compose 2025-02-06 10:55:07 +01:00
Daan Selen
41772f28bd Added a SIGTERM trap to the entrypoint script for faster stopping. 2025-02-06 10:52:14 +01:00
Daan Selen
393dac1c99 Working https://github.com/donaldzou/WGDashboard/issues/586 2025-02-05 10:32:36 +01:00
Daan
db9d0be6c7 Updated docker configuration. 2025-02-02 23:24:21 +01:00
Ahmed Sobhy
f0774ec273 Adding Arabic Translation 2025-01-27 23:41:06 +04:00
karorogunso
d4a4d28b58 Add Thai Language 2025-01-27 21:39:06 +07:00
Donald Zou
3ec97021bd Build 2025-01-26 23:51:00 +08:00
Donald Zou
56cf972373 Build 2025-01-26 23:09:09 +08:00
Donald Zou
2f3ae4c1af Pushi 2025-01-26 23:07:32 +08:00
Donald Zou
bc3dd04e12 Push 2025-01-26 23:07:19 +08:00
Donald Zou
4e8fc1b431 Commit 2025-01-26 23:03:09 +08:00
Donald Zou
cd39aa2968 Update 2025-01-25 22:15:19 +08:00
Donald Zou
87ea3fc982 Update PeerJobLogger.py 2025-01-25 22:11:50 +08:00
Donald Zou
f74a511778 Update PeerJobLogger.py 2025-01-25 22:10:29 +08:00
Donald Zou
202461fe48 Update PeerJobLogger.py 2025-01-25 21:56:29 +08:00
Donald Zou
2af6687351 Build 2025-01-24 19:19:51 +08:00
Donald Zou
e603af5f24 Refactored system status into a class. Added charts 2025-01-24 19:19:17 +08:00
Donald Zou
84069ee882 Refactor some new code 2025-01-24 00:01:29 +08:00
Donald Zou
edbb5cef92 Refactor some code 2025-01-22 15:46:04 +08:00
Donald Zou
a62c54b4ed
Merge pull request #576 from petrsimunek/patch-1
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Update cs.json
2025-01-19 21:07:40 +08:00
Donald Zou
41df7c04c3
Merge pull request #585 from donaldzou/fix-#581
Ready for update
2025-01-19 21:03:38 +08:00
Donald Zou
9b783a8322 Ready for update 2025-01-19 21:03:08 +08:00
Donald Zou
57db4df618
Merge pull request #584 from donaldzou/fix-#581
Fixed Job Logger Bug, Restrict Peers with Configuration include special characters
2025-01-19 20:57:04 +08:00
Donald Zou
9d1081bd56 Update dashboard.py
- Fixed #581 issue.
2025-01-19 20:54:19 +08:00
Donald Zou
cc3773817b Refactor 2025-01-19 20:52:04 +08:00
Donald Zou
8956355e57 Update dashboard.py
Removed the need to check for each custom classes, will check if the class have `toJson`, if `True` then use it.
2025-01-19 14:04:59 +08:00
Donald Zou
645db97c14 Refactored some custom classess 2025-01-19 14:04:21 +08:00
Donald Zou
07a04dc507 Update dashboard.py 2025-01-19 13:20:04 +08:00
Donald Zou
a7317af413 Update code for #446 2025-01-16 18:36:06 +08:00
Donald Zou
ba6d6b8851 Display configuration as grid, system status process bug 2025-01-16 15:40:33 +08:00
Donald Zou
3726810108 Build with email functions 2025-01-16 00:46:38 +08:00
Donald Zou
4f92a7edf3 Finalized the email function 2025-01-16 00:44:22 +08:00
Donald Zou
5d84b61f18 Build with Email enabled 2025-01-13 16:47:15 +08:00
Donald Zou
cd1329ec67
Update README.md
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
2025-01-13 01:41:25 +08:00
petrsimunek
48a58b2b69
Update cs.json
Added translation for dashboard IP and port settings
2025-01-11 16:23:29 +01:00
Donald Zou
9b64aba8bf
Merge pull request #575 from mahdiMGF2/main
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Fixed some syntax error in Peer Jobs
2025-01-09 17:21:22 +08:00
Donald Zou
cae8264d98
Update dashboard.py 2025-01-09 17:13:32 +08:00
Mahdi
95d8985336 Bug fixed
Bug Fixed deletePeerScheduleJob endpoint
2025-01-09 11:38:45 +03:30
Donald Zou
b26ae90807
Merge pull request #574 from donaldzou/v4.1.3-dev
v4.1.3 Ready
2025-01-09 14:02:19 +08:00
Donald Zou
66d171c432 v4.1.3 Ready 2025-01-09 13:42:21 +08:00
Donald Zou
40463d9831 Email functionality is done 2025-01-08 18:09:05 +08:00
Donald Zou
eb7dee013d Refactored add peers 2025-01-05 14:32:11 +08:00
dselen
1a878599b1
Merge pull request #549 from alexperreault/main
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
French translation
2025-01-03 08:39:41 +01:00
Donald Zou
b9e25abdd9 Refactored peer list 2025-01-03 13:45:05 +08:00
alexp
c612022717 alphabetical order 2025-01-02 20:23:52 -05:00
Donald Zou
31e7f02b8d Still trying 2025-01-02 11:38:21 +08:00
Donald Zou
75747a2979
Merge pull request #568 from donaldzou/fix-backup-folder-not-created
Some checks are pending
CodeQL / Analyze (javascript) (push) Waiting to run
CodeQL / Analyze (python) (push) Waiting to run
Create WGDashboard_Backup when configuration initialized
2025-01-02 11:36:11 +08:00
Donald Zou
a85a8668a7 Update dashboard.py 2025-01-01 10:36:44 +08:00
Donald Zou
cca5fd859c Update dashboard.py
- Create WGDashboard_Backup
2024-12-31 11:02:52 +08:00
Donald Zou
2ed49abb1b Update dashboard.py
Minor issue
2024-12-31 10:44:27 +08:00
Donald Zou
409e6d49b2 Update dashboard.py
- Fixed `WGDashboard_Backup` not being created and caused crash
2024-12-31 10:33:28 +08:00
Donald Zou
93cfc482b8 Commit 2024-12-31 10:31:24 +08:00
Donald Zou
85be6d53d0
Merge pull request #566 from donaldzou/fix-edit-configuration
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Edited configuration not updating to dashboard
2024-12-30 20:33:10 +08:00
Donald Zou
bf6f58eb5e Remove with sqldb in SQL Select 2024-12-30 20:31:24 +08:00
Donald Zou
cd9d17ab18 Refactoring configuration list 2024-12-30 20:30:09 +08:00
Donald Zou
e0bc6a10d0 Edited configuration not updating to dashboard 2024-12-29 16:37:19 +08:00
Donald Zou
ccfc1ad166 Update dashboard.py 2024-12-29 15:57:57 +08:00
Donald Zou
812060240f Update dashboard.py 2024-12-29 13:12:40 +08:00
Donald Zou
715a266ca4
Merge pull request #563 from donaldzou/fix-#562
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Fix #562, and mysterious Jobs disappear issue
2024-12-28 23:53:35 +08:00
Donald Zou
fa4b3ece56 Log the error instead of remove the job 2024-12-28 21:01:21 +08:00
Donald Zou
aac2a002bb
Delete .github/workflows/main.yml
Some checks are pending
CodeQL / Analyze (javascript) (push) Waiting to run
CodeQL / Analyze (python) (push) Waiting to run
2024-12-28 01:34:33 +08:00
Donald Zou
8574acaf6e
Create main.yml 2024-12-28 01:27:25 +08:00
Donald Zou
ddf4639354
Update README.md 2024-12-28 01:26:47 +08:00
Donald Zou
9bd394f351 Update dashboard.py 2024-12-27 03:09:27 +08:00
Donald Zou
6899d48aae Update 2024-12-26 00:06:37 +08:00
Donald Zou
514e1ca8d0 Build 2024-12-18 18:15:02 +08:00
Donald Zou
eba5be010a Update 2024-12-18 17:45:22 +08:00
Donald Zou
f578d5c1c9 Enhanced peer list rendering
- Used IntersectionObserver to better render peer list, in case of too many peers will slow down browser
2024-12-18 15:06:41 +08:00
Donald Zou
e58b1d670b
Update README.md
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
2024-12-15 21:37:45 +08:00
Donald Zou
c2642259b4 Update gunicorn.conf.py 2024-12-12 18:31:00 +08:00
Donald Zou
c47b0c9741 Update gunicorn.conf.py 2024-12-12 18:29:11 +08:00
Donald Zou
f425156cad Sync with HTTPS build 2024-12-12 18:23:42 +08:00
Donald Zou
7d7e31120e HTTPS workflow 2024-12-12 18:20:25 +08:00
dselen
ccd247d154
Merge branch 'dev' into v4.2-dev 2024-12-12 11:07:17 +01:00
Daan
53df6849f7 Working prototype with AWG 2024-12-12 11:03:39 +01:00
Donald Zou
c2080bd1b3 Update gunicorn.conf.py 2024-12-12 16:34:45 +08:00
Donald Zou
9e93f8c2a5 HTTPS workflow 2024-12-12 16:25:54 +08:00
Donald Zou
907a142c8d Build 2024-12-09 16:13:22 +08:00
Donald Zou
d7bc8cd8e4 Update configurationList.vue 2024-12-09 16:13:06 +08:00
Daan
bb3e00a695 Thanks to @NOXCIS, added this development Ubuntu Dockerfile. 2024-12-08 14:22:02 +01:00
alexp
af5e7974c3 Added the french language 2024-12-07 21:29:59 -05:00
Donald Zou
6a88959ec4 Update dashboard.py 2024-12-07 21:59:03 +08:00
Donald Zou
7b59149f90 Build 2024-12-07 21:41:20 +08:00
Donald Zou
3e01079caf Added sorting and search to configuration list 2024-12-07 21:41:05 +08:00
Donald Zou
d92e62e40b Adjusted system status widget 2024-12-07 21:40:43 +08:00
Donald Zou
b4952dea7b Fixed message center
- Fixed message blocking element behind
- Adjusted message UI
- Allow to dismiss, will not dismiss when mouse hover on it
2024-12-07 17:48:48 +08:00
Donald Zou
00acb04329 Update dashboard.py
- Disabled `EmailSender` for now
2024-12-07 17:05:30 +08:00
Donald Zou
939dd0591e Build 2024-12-07 16:54:00 +08:00
Donald Zou
febdb2a9e0 Update deleteConfiguration.vue 2024-12-06 22:55:02 +08:00
Donald Zou
bcfd9fc1c9 Update wgd.sh 2024-12-06 22:11:34 +08:00
Donald Zou
e4964da5d4 Update wgd.sh 2024-12-06 22:05:18 +08:00
Donald Zou
a042298a4a Update wgd.sh 2024-12-06 22:03:57 +08:00
Donald Zou
908be168a9 Update wgd.sh 2024-12-06 22:01:57 +08:00
Donald Zou
d780bb3937 Added PyPI choose in wgd.sh install 2024-12-06 22:00:35 +08:00
Donald Zou
461e7e8913 build 2024-12-06 20:32:59 +08:00
Donald Zou
819e8b73c3 Added configuration editor 2024-12-06 20:27:04 +08:00
Donald Zou
627b7087a1 Build 2024-12-06 01:27:15 +08:00
Donald Zou
f23cf555e1 Added file upload to create configuration 2024-12-05 22:22:55 +08:00
Donald Zou
000978e4fb
Merge pull request #538 from donaldzou/v4.2-dev-amneziawg-support
Add AmneziaWG Support
2024-12-05 01:52:35 +08:00
Donald Zou
74782483bd Build 2024-12-05 01:51:02 +08:00
Donald Zou
c5f9387b92 All AWG support work is done ;) 2024-12-05 01:50:31 +08:00
Donald Zou
57583b6747 Backup and restore for AWG is done 2024-12-04 17:50:16 +08:00
Donald Zou
434c236210 Finished adjusting Peers UI for AWG 2024-12-03 02:34:45 +08:00
Donald Zou
807bb97b6a Update some UI to handle Wireguard and AWG 2024-12-02 17:36:37 +08:00
Donald Zou
da53bd44d1 Update dashboard.py 2024-12-02 16:38:09 +08:00
Donald Zou
3b01943649 Update dashboard.py 2024-12-02 16:34:26 +08:00
Donald Zou
3340f9c6ee Update dashboard.py
- Updated WireguardConfiguration class to handle awg configuration files
- Added AmneziaWireguardConfiguration class as a subclass of WireguardConfiguration
2024-12-02 15:09:54 +08:00
Donald Zou
b21cfe8504 Updated search bar 2024-12-02 14:13:19 +08:00
Donald Zou
97ab6ec299 Build 2024-12-01 01:07:47 +08:00
Donald Zou
7fda58e5c8 New search bar design 2024-12-01 01:07:27 +08:00
Donald Zou
db6e820d1d Build 2024-11-30 00:28:12 +08:00
Donald Zou
8c2e1875ca Update peerSearch.vue 2024-11-30 00:27:59 +08:00
Donald Zou
bd95fe9af1 Build 2024-11-29 23:08:14 +08:00
Donald Zou
a517f89234 Update 2024-11-29 23:07:58 +08:00
Donald Zou
f994e7bfa8 Update dashboard.py
- Accepted proposed enhancement on #533
2024-11-29 14:42:13 +08:00
Donald Zou
28716924c9 Update dashboard.py 2024-11-28 23:36:42 +08:00
Donald Zou
b597f90f5b Update 2024-11-28 23:35:22 +08:00
Donald Zou
5912420467 Added System Status 2024-11-28 23:28:10 +08:00
Donald Zou
90f35fd680 update 2024-11-27 22:53:27 +08:00
Donald Zou
3e2d6e71b9 Update 2024-11-27 21:53:00 +08:00
Donald Zou
cbffdd829a Update 2024-11-27 18:26:13 +08:00
Donald Zou
d77e092948 Build 2024-11-27 14:27:41 +08:00
Donald Zou
1f5e10e784 Adjusted login UI 2024-11-27 14:25:38 +08:00
Donald Zou
68e3813c6c Update 2024-11-27 13:57:21 +08:00
Donald Zou
c9d78e3f67 Added tooltips to dropdown icons
#524
2024-11-26 22:43:33 +08:00
Donald Zou
b4f3fb3b30 Fixed UI 2024-11-26 21:32:08 +08:00
Donald Zou
bf7fb898f9 Update dashboard.py
- Fixed #497
2024-11-26 21:27:32 +08:00
Donald Zou
6c5e0543b4 update 2024-11-26 00:21:59 +08:00
Donald Zou
578a1db62f Refactored some of the codes 2024-11-25 22:11:51 +08:00
Donald Zou
4524a55b23
Merge pull request #527 from donaldzou/fix-#516
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Security Patch
2024-11-25 20:41:51 +08:00
Donald Zou
f942eaf1b6 Ready for release 2024-11-25 18:23:48 +08:00
Donald Zou
6a4d16fae9
Merge pull request #529 from donaldzou/fix-#522
Fixing `auth_req` is not working
2024-11-25 02:49:40 +08:00
Donald Zou
53b234252f Final build 2024-11-25 02:48:55 +08:00
Donald Zou
9287e81ef1 Build 2024-11-25 01:53:29 +08:00
Donald Zou
5462326f79 Updated dashboard.py and DashboardConfigurationStore.js
- Added `session.clear()` to clean the session specific to each login session
- Clear all cookie with the `signout` request and also clear again (just in case) in the frontend code.
2024-11-25 01:46:27 +08:00
Donald Zou
b8b3992159 commit 2024-11-24 12:10:00 +08:00
Donald Zou
8214000713 Commit 2024-11-24 00:22:33 +08:00
Donald Zou
94337a33d4
Merge pull request #521 from donaldzou/bsd-support
Replace `ifcfg` with socket to get default interface address
2024-11-23 18:25:02 +08:00
Donald Zou
8ddee03338
Merge pull request #520 from donaldzou/main
Merging latest v4.1.1 changes into v4.2.0 branch
2024-11-23 18:10:00 +08:00
Donald Zou
8e2934533b Dropping support plan to OpenBSD 2024-11-23 18:08:14 +08:00
Donald Zou
71ee784003 Update dashboard.py 2024-11-23 17:51:48 +08:00
Donald Zou
597528e9b7 Update dashboard.py 2024-11-23 17:30:34 +08:00
Donald Zou
45fbbf9218 Update dashboard.py 2024-11-23 17:30:22 +08:00
Donald Zou
c7a4a01fee
Merge pull request #519 from donaldzou/main
Merge main into bsd support
2024-11-23 16:57:00 +08:00
Donald Zou
fa04ad1395
Merge pull request #518 from donaldzou/v4.1.1-dev
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Ready for new update
2024-11-23 15:57:28 +08:00
Donald Zou
abdd85bdd5 Ready for new update 2024-11-23 15:37:00 +08:00
Donald Zou
dba55d57e8
Merge pull request #488 from donaldzou/language-template
Added template and script to check local files
2024-11-23 15:18:14 +08:00
Donald Zou
9819c96717 Update verify_locale_files.py 2024-11-23 15:09:35 +08:00
Donald Zou
1b0885bffe Update verify_locale_files.py 2024-11-23 14:55:07 +08:00
Donald Zou
c0a8540ab8 Update tr-tr.json 2024-11-23 14:38:15 +08:00
Donald Zou
f3b95f03a1 Update active_languages.json 2024-11-23 13:46:27 +08:00
Donald Zou
5f06f3da52 Update sv-se.json 2024-11-23 13:46:20 +08:00
Donald Zou
10a7fb809b Update pl.json 2024-11-23 13:37:27 +08:00
Donald Zou
d3ea1f3da2 Update nl-nl.json
Fixed translation
2024-11-23 13:36:58 +08:00
Donald Zou
74d0471a6f Update verify_locale_files.py 2024-11-23 13:23:50 +08:00
Donald Zou
a1c1805409 Updated it-it.json 2024-11-23 13:23:47 +08:00
Donald Zou
b843145bed Update de-de.json
Fixed de-de translations
2024-11-23 13:15:03 +08:00
Donald Zou
119920b665 Update ru.json
Fixed translations
2024-11-22 19:36:11 +08:00
Donald Zou
6190e2d290 Fixed cs.json 2024-11-22 01:46:52 +08:00
Donald Zou
79de99d146 Finalized verify script 2024-11-22 01:41:11 +08:00
Donald Zou
56a9b3df0a
Merge pull request #514 from MickLesk/patch-1
Update de-de.json
2024-11-22 01:32:56 +08:00
Donald Zou
4df6413dba
Merge pull request #513 from oskarax/main
Added Swedish translations and updated active languages file.
2024-11-22 01:30:28 +08:00
Donald Zou
fcd0ada639
Merge branch 'language-template' into main 2024-11-22 01:30:17 +08:00
Donald Zou
6b6bd155aa
Merge pull request #512 from donaldzou/main
Merging main into language template branch
2024-11-22 01:28:23 +08:00
CanbiZ
9c91b1bca5
Update de-de.json 2024-11-18 23:05:05 +01:00
Oskar Ax
1a5c0e5b24 Added Swedish translations and updated active languages file. 2024-11-18 21:08:06 +01:00
Donald Zou
981b30e4af Update check script 2024-11-17 17:20:41 +08:00
Donald Zou
30c84d8cbf
Merge pull request #502 from AdimoUK/main
Merge spanish translation
2024-11-16 19:17:46 +08:00
Donald Zou
4c538c54a8
Merge pull request #501 from AdimoUK/polish-language
Merge Polish translation
2024-11-16 19:12:01 +08:00
dselen
ad7a8f1d08
Merge pull request #496 from DaanSelen/v4.1-add-qemu
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Previous PR was merged too fast 🥇
2024-11-15 12:11:18 +01:00
Daan
f02a07dab4 Name change 2024-11-15 12:08:51 +01:00
dselen
c61b0fc1e1
Merge pull request #494 from donaldzou/fix-preshared-key
Fixed #377
2024-11-15 12:06:14 +01:00
Daan
fed7dfcb73 Added arm/v6
Specified the QEMU setup. From WireGate
2024-11-15 12:05:08 +01:00
Donald Zou
0d69c811ab
Merge pull request #495 from DaanSelen/v4.1-add-qemu
Added QEMU virtualization for cross-compilation
2024-11-15 18:59:48 +08:00
Daan
83274add22 Added QEMU virtualization for cross-compilation @NOXCIS 2024-11-15 11:35:45 +01:00
Donald Zou
7497d1b6d4 Fixed #377
Fixed Preshared Key is not added when adding peers
2024-11-15 13:45:14 +08:00
Donald Zou
239bc144e3 Fixed both Chinese translation 2024-11-15 12:00:31 +08:00
Donald Zou
1ece64abe1
Merge pull request #492 from DaanSelen/language-template
Proposed changes
2024-11-15 11:52:13 +08:00
Daan
915783699b Proposed changes 2024-11-14 21:36:27 +01:00
Donald Zou
43f6bd41c9 Update verify_locale_files.py 2024-11-15 02:15:40 +08:00
Adam
98c017dd56 Fix to a translation 2024-11-14 00:09:59 +00:00
Donald Zou
811ed3251b
Merge pull request #464 from jpizquierdo/v4.1-dev
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
2024-11-14 02:06:25 +08:00
Donald Zou
665b0f1484 Added template and script to check local files 2024-11-14 02:02:26 +08:00
Donald Zou
9e26d845da
Update active_languages.json
Oops.. missed a comma
2024-11-14 00:59:17 +08:00
Donald Zou
6ddf20f5ce
Update active_languages.json
Sorting the list based on `lang_id`
2024-11-14 00:53:26 +08:00
dselen
27ed0710cc
Merge pull request #487 from donaldzou/donaldzou-patch-1
Some checks are pending
CodeQL / Analyze (javascript) (push) Waiting to run
CodeQL / Analyze (python) (push) Waiting to run
Update README.md Discord link
2024-11-13 15:08:24 +01:00
Donald Zou
cb87c9f345
Update README.md Discord link 2024-11-13 21:12:45 +08:00
Donald Zou
e1e147c8f0 Adding support to OpenBSD 2024-11-12 18:32:53 +08:00
Donald Zou
b37d889de9 Update wgd.sh 2024-11-12 18:21:27 +08:00
Donald Zou
b61c9bfc5e Update wgd.sh 2024-11-12 18:01:59 +08:00
Donald Zou
e963788a81 Update wgd.sh 2024-11-12 17:58:51 +08:00
Donald Zou
3ef4798e09 Update wgd.sh 2024-11-12 00:12:10 +08:00
Donald Zou
21730102ae
Merge pull request #474 from donaldzou/DaanSelen-lang-1
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
2024-11-11 19:12:12 +08:00
Donald Zou
b1ae05152e
Merge pull request #471 from kaanklky/languages-tr-tr 2024-11-11 19:05:53 +08:00
Adam
cc87f01e2f Addition of Polish Language 2024-11-10 22:07:20 +00:00
dselen
85dfa1b078
Update nl-nl.json 2024-11-10 13:53:47 +01:00
Donald Zou
fdff54e11e
Merge pull request #469 from DaanSelen/main
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
2024-11-10 09:02:06 +08:00
Kaan Kölköy
0894f38660 Update active languages list 2024-11-09 22:40:04 +01:00
Kaan Kölköy
f643d8ef25 Add Turkish localization 2024-11-09 22:39:51 +01:00
dselen
e437284980
Squash Docker progress: (#1)
* Version 4.1 Docker image tested.

    Fixed kinks in Docker image.
    Updated Dutch language
    Removed remaining "enable" parameter from Docker-related files
    Made the symlink system more reliable
    Improved updatability.

    Added multiplatform docker build (arm,arm64 and amd64)
    More verbose logging from the Docker image.
2024-11-09 00:18:01 +01:00
Donald Zou
f6e0d330ac update
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
2024-11-09 02:17:21 +08:00
Donald Zou
890cbf0f36
Merge pull request #468 from donaldzou/issue-discord-link
Fix Discord Link Under Help
2024-11-09 00:49:46 +08:00
Donald Zou
36cf2ea2e8
Merge branch 'main' into issue-discord-link 2024-11-09 00:49:26 +08:00
Donald Zou
a8f7bd0280 Build 2024-11-09 00:48:16 +08:00
Donald Zou
aa6517046d
Merge pull request #467 from donaldzou/issue-#462
Fix #462
2024-11-09 00:44:45 +08:00
Donald Zou
42e4d8c7ba build 2024-11-09 00:40:42 +08:00
Joel Pérez Izquierdo
3d1da38cbc add es-es locale file 2024-11-08 17:29:58 +01:00
Joel Pérez Izquierdo
5ae8490999 add spanish language 2024-11-08 17:28:57 +01:00
Donald Zou
715675b2f1
Merge pull request #458 from donaldzou/donaldzou-patch-1
Some checks are pending
CodeQL / Analyze (javascript) (push) Waiting to run
CodeQL / Analyze (python) (push) Waiting to run
Update README.md
2024-11-08 16:17:28 +08:00
Donald Zou
0d7198a26c
Update README.md 2024-11-08 16:17:15 +08:00
Donald Zou
d8b7ce6d9b Update README.md 2024-11-08 16:16:44 +08:00
Donald Zou
d032ca31e3 Update README.md 2024-11-08 16:15:56 +08:00
Donald Zou
67b49c0585
Merge pull request #457 from donaldzou/v4.1-dev
Final update
2024-11-08 16:14:14 +08:00
Donald Zou
c23242f18e Final update 2024-11-08 16:13:47 +08:00
Donald Zou
c23f7a3ee2
Merge pull request #440 from donaldzou/v4.1-dev
V4.1 dev
2024-11-08 16:13:22 +08:00
Donald Zou
7e3e957649 Update ru.json 2024-11-08 00:50:57 +08:00
Donald Zou
b8f304dfd3 Prepare for release 2024-11-08 00:31:19 +08:00
Donald Zou
e895ac9245
Merge branch 'main' into v4.1-dev 2024-11-08 00:29:01 +08:00
Donald Zou
77579a71e8 Match docker 2024-11-07 23:54:48 +08:00
Donald Zou
cc7e13cdbf
Merge pull request #455 from DaanSelen/v4.1-dev
Added Dutch language.
2024-11-07 23:53:48 +08:00
Donald Zou
5df3886e42
Merge branch 'v4.1-dev' into v4.1-dev 2024-11-07 23:50:54 +08:00
Donald Zou
cc179a05d0 Update 2024-11-07 23:47:08 +08:00
Donald Zou
ec5f4f2778 Fixed some CSS issue on mobile 2024-11-07 23:43:14 +08:00
Donald Zou
084c95f0e5 Just fixed #455 2024-11-07 18:33:39 +08:00
Daan
3b78cfe0fd Renamed files and changed Dutch file. 2024-11-07 11:26:37 +01:00
Daan
160ce3338d Changed some file-names 2024-11-07 11:25:05 +01:00
Donald Zou
d425cfe1aa Refactor 2024-11-07 14:56:02 +08:00
Donald Zou
6ff286f9b4 Refactor 2024-11-07 14:54:42 +08:00
Donald Zou
b930461434 Refactored some files 2024-11-07 14:53:31 +08:00
Donald Zou
ee6bb24506 build test 2024-11-07 10:37:11 +08:00
Donald Zou
b69124c89f test 2024-11-07 00:15:28 +08:00
Donald Zou
f089e4a1ce update 2024-11-07 00:09:40 +08:00
Donald Zou
7dedb5c076 Test adding hash to vite build 2024-11-07 00:03:40 +08:00
Donald Zou
3276c9a84c Update 2024-11-06 23:25:20 +08:00
Donald Zou
04ef2ea3b6 Merge branch 'v4.1-dev' of https://github.com/donaldzou/WGDashboard into v4.1-dev 2024-11-06 23:22:01 +08:00
Donald Zou
04a2f27a75 Update 2024-11-06 23:21:53 +08:00
Donald Zou
d962f59884
Merge pull request #452 from jursed/v4.1-dev
Czech translation
2024-11-06 21:40:18 +08:00
Donald Zou
fd3bd4567a
Update active_languages.json
Removed the `,` at the end :)
2024-11-06 21:12:55 +08:00
Donald Zou
29e7a5ecdb Fixed bulk add 2024-11-06 20:58:53 +08:00
Donald Zou
4956b0d89d Rename configuration done 2024-11-06 18:36:55 +08:00
Donald Zou
3bc54a4e16 Update wgd.sh 2024-11-05 19:46:09 +08:00
Donald Zou
29ecd602ec Added help modal 2024-11-05 19:43:47 +08:00
zire
1425dec564 Czech translation
First attempt at Czech translation. Note that some words don't have
a good and short translation, e.g. "peers", "pre-shared key" or
"persistent keepalives". In these cases, some approximate/familiar
"Czech-English" amalgamation is used.
2024-11-03 22:05:13 +01:00
Donald Zou
2bb1c0c999 Optimized build 2024-11-03 21:06:51 +08:00
Donald Zou
97f3daae70 Optimized vite build 2024-11-03 20:45:59 +08:00
Donald Zou
c53a7ef6fe Update 2024-11-03 19:09:15 +08:00
Donald Zou
b97fc16ad9 Adjusted router to dynamic import 2024-11-03 18:35:21 +08:00
Donald Zou
eaac12ddc8 Update both Chinese languague 2024-11-03 17:36:03 +08:00
Donald Zou
183be5da0e
Update README.md
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
testing webhooks
2024-11-03 15:58:34 +08:00
Donald Zou
ace0953c87
Update README.md 2024-11-03 15:26:33 +08:00
Donald Zou
1fd7e7833d
Update README.md 2024-11-03 15:20:41 +08:00
Donald Zou
aa5801d73b
Update README.md 2024-11-03 14:41:21 +08:00
Donald Zou
d1ea8081e4 Finished zh-CN 2024-11-02 18:50:15 +08:00
Donald Zou
49467c906d zh-CN Update 2024-11-02 14:26:47 +06:00
Donald Zou
79bd575aca
Merge pull request #448 from donaldzou/DaanSelen-patch-1
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Hotfix.
2024-11-02 16:20:35 +08:00
Donald Zou
e533a0e405
Merge pull request #445 from knd775/patch-1
Some checks are pending
CodeQL / Analyze (javascript) (push) Waiting to run
CodeQL / Analyze (python) (push) Waiting to run
feat: Support Rocky Linux
2024-11-01 23:24:47 +08:00
Donald Zou
94b597d29a Adjusted some UI 2024-11-01 22:30:25 +08:00
dselen
504fefff94
Update docker-build.yaml 2024-11-01 09:19:47 +01:00
dselen
ff794a3638
Update docker-analyze.yaml
I switched them around 😭
2024-11-01 09:15:46 +01:00
Donald Zou
efb9a34cb8
Merge pull request #447 from DaanSelen/workflow-change
Some checks are pending
CodeQL / Analyze (javascript) (push) Waiting to run
CodeQL / Analyze (python) (push) Waiting to run
2024-11-01 16:11:26 +08:00
Daan
a93291b38f Changed the workflow from every night to: on every commit in the main branch. 2024-10-31 20:16:45 +01:00
Donald Zou
dfc9eab9d3 Fixed some issue on autostart 2024-10-31 23:28:30 +08:00
Donald Zou
3c74b0b1ef Update 2024-10-31 22:13:44 +08:00
Donald Zou
9b981fcea8 Autostart feature is done 2024-10-31 22:13:00 +08:00
Ben Ayles
9d3a189d77
fix: Support Rocky Linux 2024-10-29 23:02:59 -04:00
Donald Zou
01c0175e8f Commit 2024-10-29 14:57:29 +08:00
Donald Zou
d7e5e2f381 Update wgd.sh 2024-10-26 18:09:42 +08:00
Donald Zou
c27de8b9a5 Build 2024-10-26 13:54:08 +08:00
Donald Zou
c3a55f8b69 Finished create configuration from backup 2024-10-25 23:34:07 +08:00
Donald Zou
78b65a799e Added notification to backup before delete 2024-10-25 23:33:42 +08:00
Donald Zou
6a30cee611 Adjusted some animation 2024-10-25 23:33:26 +08:00
Donald Zou
bc19e3a6ff Adjusted title 2024-10-25 23:33:07 +08:00
Donald Zou
5a8f2fa2be Adjusted some animation 2024-10-25 23:32:30 +08:00
Daan
81168c27c6 Fixed issue https://github.com/donaldzou/WGDashboard/issues/329.
Regarding being able to pass in the -y flag.
2024-10-24 23:10:36 +02:00
Donald Zou
a606626053 UI for restore configuration is done 2024-10-25 00:19:27 +08:00
Daan
adeb57864b Fixed incorrect Docker_IMAGE variable from dselen/ -> donaldzou/ 2024-10-24 10:48:14 +02:00
Daan
747f1a6fae SEC: Fixed CVE-2024-9143 presence. 2024-10-24 10:24:22 +02:00
Daan
3ac9c23573 Removed the default value: wg0 in isolate and enable.
Removed clean_up() function because persistency is done differently.
Overal tried to make readability better in entrypoint.sh
Fixed bug where local config variable causes issues.
Applied ShellCheck recommendations.
2024-10-24 10:13:33 +02:00
Daan
5ad9c0e77a Fixed issue where the wg0.conf template got obliterated.
Moved it to a safe spot.
2024-10-24 00:23:12 +02:00
Daan
ba5ba2f1d6 Removed copy step in entrypoint.sh
Tested updating, works as long as presistent files are compatible.
2024-10-24 00:09:27 +02:00
Daan
4902b5f351 Initial testing to update from version 4.0.3 to 4.0.4 have succeeded! 2024-10-23 23:47:00 +02:00
Daan
166fcda193 Minor changes to compose and Dockerfile. 2024-10-23 23:15:41 +02:00
Daan
83560bc775 Changed around Docker image building and entrypoint.
- Succeeding my tests.
2024-10-23 22:40:40 +02:00
Daan
4ffb00c9f5 Updated ensure install. 2024-10-23 16:57:51 +02:00
Daan
fbac41a774 Changed ensure install 2024-10-23 16:57:40 +02:00
Daan
c837ab8693 Complete Docker Container redo, making updates possible.
- Through symlinks.

Refactored the set env variables function.
2024-10-23 16:41:03 +02:00
Donald Zou
1cc321ddff
Merge pull request #436 from donaldzou/v4.1-workflows
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
V4.1 workflows
2024-10-23 17:30:33 +08:00
dselen
7861cffb91
Merge pull request #430 from DaanSelen/main
Modified GitHub workflows
2024-10-22 08:52:52 +02:00
Donald Zou
82a472f368 Delete configuration, restore configuration 2024-10-22 12:28:51 +08:00
Daan
cfe59774e7 Changed Docker image names: dselen -> donaldzou 2024-10-21 12:09:53 +02:00
Daan
1098475473 Changed failing criteria 2024-10-21 12:07:33 +02:00
Donald Zou
4546e795ef
Merge pull request #433 from reloadlife/patch-1
Some checks failed
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Added a try/catch statement to prevent panel from crashing #432
2024-10-21 15:37:49 +08:00
Donald Zou
bb0aba586b
Update dashboard.py
Instead of catching one sql statement error, I moved the catch statement to `sqlSelect` to prevent all database error
2024-10-20 16:05:32 +08:00
Mohammad Mahdi "Mamad" Afshar
204b995e6c
added a try/catch statement to prevent panel from crashing #432 2024-10-19 19:25:38 +03:30
Daan
321b7b4cee Modified GitHub workflows 2024-10-17 12:52:34 +02:00
Donald Zou
413377fbb9 Backup and restore function is done
Completed with SQLDump and .conf backup
2024-10-17 00:04:26 +08:00
Donald Zou
e2e821881c Peer restore works
Still need to SQL Dump the table aswell
2024-10-16 17:44:49 +08:00
Donald Zou
51712ed2a8 Re-adjust backup & restore location 2024-10-15 23:07:49 +08:00
Donald Zou
27de7ddbf8 Still working on backup & restore 2024-10-15 00:30:20 +08:00
Donald Zou
bb700f3a3d Update selectPeers.vue 2024-10-14 17:27:34 +08:00
Donald Zou
563268558b Finished selecting peers in bulk to delete and download 2024-10-14 16:32:17 +08:00
Donald Zou
56744cec7b Commit 2024-10-06 23:09:55 +08:00
Donald Zou
87696a2e6c Fixed 2024-10-06 17:27:16 +08:00
Donald Zou
79f1c20f8a Added custom build.sh 2024-10-06 17:24:53 +08:00
Donald Zou
4e5638df36 Fixed issue #346 2024-10-06 17:13:50 +08:00
Donald Zou
71349f35e4 Fixed issue #352
Fixed issue when allowed_ips have more than 1 IP Address, allow access will crash
2024-10-06 16:59:11 +08:00
Donald Zou
2cb06bb4bb Added total peers in peers count 2024-10-05 16:10:36 +08:00
Donald Zou
5e1769b81f Updated Translation 2024-10-05 15:38:56 +08:00
Donald Zou
e344f28265 Added peer's endpoint IP back 2024-10-05 15:03:27 +08:00
Donald Zou
2297d6b85b
Merge pull request #417 from donaldzou/v4.0.4-almalinux-support
Added AlmaLinux Support
2024-10-05 10:24:46 +08:00
Donald Zou
baaecdbd8c
Update wgd.sh 2024-10-05 10:05:48 +08:00
Donald Zou
31d8af642d
Merge pull request #363 from martin-g-it/patch-1
Update dashboard.py - sort WG configurations
2024-10-04 20:15:04 +08:00
Donald Zou
27c67ec202 Added loading bar between each routes 2024-10-04 17:48:24 +08:00
Donald Zou
4833a29e57 Adjusted some transition between routes 2024-10-04 17:27:25 +08:00
Donald Zou
4a2f3e0372 Configuration Settings done 2024-10-04 16:58:47 +08:00
Donald Zou
f3eeff4ec8
Merge pull request #415 from donaldzou/DaanSelen-patch-1
Fix README.md
2024-10-04 16:22:16 +08:00
dselen
221e03ecfa
Fix README.md 2024-10-03 16:03:42 +02:00
dselen
392a9c6f53
Merge pull request #414 from DaanSelen/main
Second try. Merged Docker update.
2024-10-03 15:59:33 +02:00
Dselen
145d12b2c8 Added minor changes and deletions. 2024-10-03 08:26:30 -05:00
Dselen
0c5033ff79 fixed issues with commits 2024-10-03 08:23:17 -05:00
Donald Zou
5f46f54dfd Updated mobile UI
Using dvh and vh as fallback for mobile browsers.
2024-10-03 21:20:15 +08:00
Dselen
d4819b13eb working tests 2024-10-03 08:15:21 -05:00
Donald Zou
9dd9be3b8c
Merge branch 'main' into main 2024-10-03 20:59:58 +08:00
Dselen
dd38809866 Rebase 2024-10-03 07:45:24 -05:00
Donald Zou
c414725f12
Merge pull request #406 from 3vis97/v4.1-dev-italian
Added italian language issues/#397
2024-10-03 20:13:46 +08:00
Donald Zou
d3c8a350a4
Merge branch 'v4.1-dev' into v4.1-dev-italian 2024-10-03 20:13:38 +08:00
Donald Zou
e04b748b91
Merge pull request #345 from DaanSelen/conflict-resolved
Updated Docker image
2024-10-03 20:09:31 +08:00
Donald Zou
1eee8c4725 Update 2024-10-03 20:07:50 +08:00
dselen
2b7a4b170c
Merge branch 'main' into conflict-resolved 2024-10-03 12:17:18 +02:00
Donald Zou
7c0bf4f137 Fixed #357: Brought back IP Address and Port
But still manually restart WGDashboard is needed
2024-10-03 15:24:50 +08:00
Donald Zou
54bae43d2e Update osmap.vue
Added "Dark Mode" to OSM
2024-10-02 22:00:53 +08:00
Donald Zou
25be1155a6 Added testing to OSM before loading map
Prevent users in locations blocked OSM seeing an empty div
2024-10-02 21:53:57 +08:00
Donald Zou
4905d61a1a Some adjustment on map 2024-10-02 18:01:20 +08:00
Donald Zou
ff0147bebb Added OpenStreetMap for Ping and Traceroute 2024-10-02 17:09:35 +08:00
Donald Zou
7fe4889b6e Updated some languages 2024-10-02 17:09:04 +08:00
Donald Zou
3c9b1b1833 Thanks to Pixnet for providing the Russian translation :) 2024-09-27 22:07:50 +08:00
Dselen
2a46c873b8 Removed Debian container 2024-09-27 03:22:03 -05:00
Trevis97
6ed09324ad Updated Italian translations and fixed typos upstream/issues/#397 2024-09-26 22:32:43 +02:00
Mattia Trevisani
d1f9c10790 Added italian language upstream/issues/#397 2024-09-26 22:31:27 +02:00
Donald Zou
5d041b2fd3
Update README.md 2024-09-25 18:01:05 +08:00
Donald Zou
5cea0fa87b
Merge pull request #401 from orangeferdi/patch-3
Create de.json
2024-09-25 00:11:05 +08:00
Donald Zou
6f140eef29
Merge pull request #400 from orangeferdi/patch-2
Update active_languages.json
2024-09-25 00:10:52 +08:00
Donald Zou
e5850adfd7 Update dashboard.py 2024-09-24 22:54:18 +08:00
orangeferdi
6921833ce2
Create de.json
Adding german language
2024-09-24 10:13:34 +02:00
orangeferdi
57b9accd97
Update active_languages.json
Adding german language
2024-09-24 10:10:16 +02:00
Donald Zou
de94f5b233
Update README.md 2024-09-24 00:40:20 +08:00
Donald Zou
b5519a73fb
Merge pull request #398 from shuricksumy/v4.1-dev-uk
Add Ukrainian language
2024-09-23 16:32:00 +08:00
Oleksandr Suchkov
c5d8c2c355 Add Ukrainian language 2024-09-22 23:58:38 +01:00
Donald Zou
c5b02a426c
Update README.md 2024-09-23 03:12:06 +08:00
Donald Zou
4cae910b68 Added some update :) 2024-09-23 03:07:48 +08:00
Donald Zou
b664fccce2 Finished Chinese Simplified and Traditional translation 2024-09-23 00:17:30 +08:00
Donald Zou
21672f99d1 Translating to zh-cn is done 2024-09-22 21:50:30 +08:00
Donald Zou
c269e46892 Added some new translation 2024-09-22 16:44:36 +08:00
Donald Zou
8534e8cf5b Still working on translating.... 2024-09-22 16:33:22 +08:00
Donald Zou
94bf1c2484 Finished translating most of the UI. Left with notifications 2024-09-19 22:32:15 +08:00
Donald Zou
b3b30470fc Merge branch 'main' of https://github.com/donaldzou/WGDashboard 2024-09-19 14:45:11 +08:00
Donald Zou
41d91e75fc Prepare for v4.0.4 2024-09-19 14:44:49 +08:00
Donald Zou
a97a91b844
Merge pull request #395 from donaldzou/fix-#391
Fixed issue where Preshared Key is not added when unrestricted peers
2024-09-19 14:31:41 +08:00
Donald Zou
f1c577ab76 Fixed issue mentioned in #391 2024-09-19 14:21:38 +08:00
Donald Zou
17a9fe5024 Fixed issue mentioned in #391 2024-09-17 14:42:25 +08:00
Donald Zou
d74a76dee3
Merge pull request #389 from donaldzou/v4.0.3-fix
Merge new changes to v4.1
2024-09-14 16:23:17 +08:00
Donald Zou
c01201b88e
Merge branch 'v4.1-dev' into v4.0.3-fix 2024-09-14 16:23:08 +08:00
Donald Zou
833bdf878a Update dashboard.py 2024-09-14 15:49:41 +08:00
Donald Zou
891990b2f1
Merge pull request #387 from donaldzou/v4.0.3-fix
Ready for v4.0.3
2024-09-14 15:44:26 +08:00
Donald Zou
e9ab7029c9 Ready for v4.0.3 2024-09-14 15:21:10 +08:00
Donald Zou
6f681dba09
Merge pull request #386 from donaldzou/v4.0.3-fix
Update privatePublicKeyInput.vue
2024-09-14 15:14:50 +08:00
Donald Zou
b3edff947d Update privatePublicKeyInput.vue
Fixed issue mentioned in #375
2024-09-14 15:13:47 +08:00
Donald Zou
ce6d80d601 Update dashboard.py 2024-09-14 15:11:06 +08:00
Donald Zou
a80a2866de Almost done... 2024-09-13 16:32:56 +08:00
Donald Zou
02c2221970 Still working on localization 2024-09-12 15:21:42 +08:00
Donald Zou
d35bd6e75b
Merge pull request #379 from donaldzou/DaanSelen-patch-1
Update README.md
2024-09-12 12:17:24 +08:00
dselen
f3a2f98864
Update README.md
Removed Docker notice, because it is no longer relevant.
2024-09-10 10:12:57 +02:00
Donald Zou
a3a312e3db Still working on translation... 2024-09-09 23:43:55 +08:00
dselen
f5cb5c4516
Merge branch 'main' into conflict-resolved 2024-09-09 09:01:07 +02:00
Donald Zou
d458a28337 Started working on localization 😏 2024-09-06 22:38:56 +08:00
Donald Zou
a102a780f8 Adjusted search functions 2024-09-06 17:15:38 +08:00
Donald Zou
4dbbc32108 Updated Bootstrap Icons 2024-09-06 16:32:05 +08:00
Donald Zou
b6aedb43ee Fixed updating WG configuration path 2024-09-06 16:31:54 +08:00
Donald Zou
ec50dcbbd9 Preshared Key switch is added for both single and bullk add peers 2024-09-05 17:10:24 +08:00
Donald Zou
bcc983f11f Update presharedKeyInput.vue
Added preshared key switch
2024-09-05 16:43:46 +08:00
Donald Zou
809651054e Update dashboard.py 2024-09-05 16:17:56 +08:00
Donald Zou
2e965ceb9e Update dashboard.py 2024-09-05 14:51:00 +08:00
Martin
e35f942964
Update dashboard.py - sort WG configurations
Sort WG configurations alphabetically
2024-09-04 14:40:04 +02:00
Dselen
40e6fce281 Fix typos 2024-08-27 02:30:01 -05:00
dselen
2139865876
Merge pull request #1 from DaanSelen/dev
Dev
2024-08-27 09:28:16 +02:00
Dselen
c3cda05d98 Move fix. 2024-08-27 02:26:19 -05:00
Dselen
548f3db33d quickfix 2024-08-26 16:16:43 -05:00
Dselen
a76e9ed98b Testing more changes for better handling of variables. 2024-08-26 16:16:09 -05:00
Dselen
c0ef41a9bb Forgot to reorder 2024-08-26 15:54:27 -05:00
Dselen
f6e5d9675a Alternative testing. 2024-08-26 15:53:53 -05:00
Dselen
ef028659d8 Testing improvement 2024-08-26 15:46:17 -05:00
Dselen
40f39e918d Finished work for now on the alpine docker image. 2024-08-26 15:28:27 -05:00
Dselen
2ec3ee2734 Fixed typo 2024-08-26 13:42:08 -05:00
Dselen
bc29b89a16 Rebased and going further 2024-08-26 13:07:42 -05:00
Donald Zou
e21853286e Did some refactor on wgd.sh 2024-08-25 16:26:36 +08:00
Donald Zou
c012b8c4a5
Merge pull request #340 from donaldzou/v4.0-alpine-linux
V4.0 alpine linux
2024-08-25 16:19:23 +08:00
Donald Zou
48f6c28556
Merge pull request #334 from NOXCIS/main
Fixed Docker Image
2024-08-25 16:18:34 +08:00
Noxcis
0c1502f801 Streamiline
+ Added Docker Install arg to wgd.sh
2024-08-25 03:01:21 -05:00
Donald Zou
fec20ed381 Reduced the time to open the config file 2024-08-25 15:59:48 +08:00
Donald Zou
252c147dcf Update dashboard.py 2024-08-25 15:15:07 +08:00
Donald Zou
453d474104 Fixed multiple IP address on a Configuration 2024-08-25 15:14:09 +08:00
Donald Zou
84cf4a9b66 Update README.md 2024-08-25 11:43:06 +08:00
Noxcis
fb016bebde Update wgd.sh 2024-08-24 20:04:07 -05:00
Noxcis
8f6a738481 Docker 2 Stage 2024-08-24 20:02:34 -05:00
Noxcis
b07f958577 Update compose.yaml 2024-08-24 06:46:06 -05:00
Noxcis
8da0fde52a + 2024-08-24 06:45:13 -05:00
Donald Zou
39be16cb63
Update README.md 2024-08-24 19:37:18 +08:00
Donald Zou
59d0c0def4
Merge pull request #337 from donaldzou/v4.0-alpine-linux
V4.0 alpine linux
2024-08-24 16:30:43 +08:00
Donald Zou
79c03db9a0 Update 2024-08-24 16:27:02 +08:00
Noxcis
0c77823020
Update main.yml 2024-08-24 03:00:51 -05:00
Noxcis
deed7e0022
Update main.yml 2024-08-24 02:56:40 -05:00
Noxcis
99db8c7335
Update main.yml 2024-08-24 02:53:30 -05:00
Noxcis
9fe2aa9ed5
Update main.yml 2024-08-24 02:49:51 -05:00
Noxcis
4c80dc256b
Update main.yml 2024-08-24 02:46:43 -05:00
Noxcis
cafe9e9c11
Update main.yml 2024-08-24 02:41:57 -05:00
Noxcis
27ff4e63b6
Update main.yml 2024-08-24 02:38:10 -05:00
Noxcis
8020714e07
Update main.yml 2024-08-24 02:33:56 -05:00
Noxcis
dbd825ba4b
Update main.yml 2024-08-24 02:28:35 -05:00
Noxcis
fee6cf29eb
Update main.yml 2024-08-24 02:26:30 -05:00
Noxcis
56287d8e7a
Update main.yml 2024-08-24 02:18:21 -05:00
Noxcis
45504eaf95
Update main.yml 2024-08-24 02:15:41 -05:00
Noxcis
b8a9b1150a
Update main.yml 2024-08-24 02:13:04 -05:00
Donald Zou
8bd0e43f58 Update wgd.sh 2024-08-24 15:12:28 +08:00
Noxcis
2c83e9e83c
Update main.yml 2024-08-24 02:06:57 -05:00
Noxcis
53c9ca10a7
Update main.yml 2024-08-24 02:04:46 -05:00
Noxcis
75fbdac42e
Update main.yml 2024-08-24 01:40:34 -05:00
Noxcis
09d54546ca
Update main.yml 2024-08-24 01:34:03 -05:00
Noxcis
b62fece3d0
Update main.yml 2024-08-24 01:29:51 -05:00
Noxcis
284a2b7f64
Update main.yml 2024-08-24 01:25:50 -05:00
Noxcis
9c873ccbbd
Update main.yml 2024-08-24 01:22:37 -05:00
Noxcis
5f72f90031
Update main.yml 2024-08-24 01:18:49 -05:00
Noxcis
93cf3c69b8
Update main.yml 2024-08-24 01:04:28 -05:00
Noxcis
88f856cbc7
Create DockerScout.yml 2024-08-24 01:01:56 -05:00
Noxcis
2d5796d161 Added Auto Config Creation
Reimplemented Automatic Wireguard Configuration Generation

Setting global Env Vars via the docker image build is still insecure, better to pass to dashboard before init.
2024-08-23 16:49:54 -05:00
Dselen
1d20dc9fcb Looking like a promising end of this task. 2024-08-23 13:01:50 -05:00
Dselen
49502235b5 These needed to be added. 2024-08-23 12:48:33 -05:00
Dselen
6e9d71fcf8 Added reverted some no longer needed changes 2024-08-23 12:48:16 -05:00
Dselen
27c7e33773 added RHEL etc workings. 2024-08-23 12:27:41 -05:00
Dselen
3012619049 testing 2024-08-23 11:58:14 -05:00
dselen
d6801966c4
Merge branch 'donaldzou:main' into main 2024-08-23 16:19:58 +02:00
Dselen
518e29118c Reoganise the documents and added experimental Alpine Linux support in wgd.sh 2024-08-23 07:46:41 -05:00
Noxcis
acf4f3fbf0 Merge branch 'main' of https://github.com/NOXCIS/WGDashboard 2024-08-22 23:16:46 -05:00
Noxcis
8378030c70 Fixed Docker Vulnerability
+ Switched Base Image to Alpine
+ Simplified Docker Build
+ Added Alpine support to wgd.sh script.
+ Maintained Project Layout.
2024-08-22 23:15:39 -05:00
Donald Zou
dc7140d486
Update README.md 2024-08-23 09:24:18 +08:00
Dselen
e3771a1c53 Refined logging output a bit. 2024-08-22 16:58:29 -05:00
Dselen
2e9ac00a42 modified all and patched security vulnerability issue #333 2024-08-22 16:31:47 -05:00
Dselen
4b8b3acd39 Small readme change 2024-08-22 14:00:55 -05:00
Dselen
8703798ca0 Modified all files and have a working product, awaiting feedback! 2024-08-22 13:38:29 -05:00
dselen
47ac438844
Update README.md
Rearranged Ubuntu match other descending formats.
2024-08-22 16:24:07 +02:00
Dselen
bd3aa28523 Changed readme and compose for templating. 2024-08-20 14:48:36 -05:00
Dselen
68d0ae4002 Added context and refined code. 2024-08-20 13:54:49 -05:00
Dselen
6991039640 Working prototype. 2024-08-20 12:58:30 -05:00
Dselen
00611ef9dc Progress so far. 2024-08-20 09:58:25 -05:00
Donald Zou
3c50e4768a
Merge pull request #317 from donaldzou/v4.0-fix3
Fixed recursive use of cursor
2024-08-20 00:02:46 -07:00
Donald Zou
63dc9834be Fixed recursive use of cursor 2024-08-20 00:02:00 -07:00
Donald Zou
f042e42633 Adjust version to v4.0.2 2024-08-19 21:30:47 -04:00
Donald Zou
39b80a2e7e Fixed the issue where updating is not working 2024-08-19 19:17:07 -04:00
Donald Zou
fb6e948358 Update production UI 2024-08-19 16:55:18 -04:00
Donald Zou
181b0845bf
Merge pull request #313 from donaldzou/v4.0-fix2
Fixed #312, #311
2024-08-19 16:50:48 -04:00
Donald Zou
b2a82dcfe5 Fixed #312, #311
- Fixed issue in #312: The dashboard will automatically get the actual Dashboard version number.
- Fixed issue in #311: WGDashboard was not treating restricted peers correctly.
2024-08-19 16:50:00 -04:00
Noxcis
ed1c05dec9 Merge branch 'main' of https://github.com/NOXCIS/WGDashboard 2024-08-18 21:34:42 -05:00
Donald Zou
cd73aef0c9
Merge pull request #307 from donaldzou/donaldzou-patch-3
Update README.md
2024-08-17 20:34:29 -04:00
Donald Zou
ed522ec024
Update README.md 2024-08-17 20:34:20 -04:00
Donald Zou
16998d1e16
Merge pull request #306 from donaldzou/v4.0-fix1
Fixed peer status is not refreshing correctly
2024-08-17 20:25:34 -04:00
Donald Zou
11421d2d32 Try now 2024-08-17 20:19:52 -04:00
Donald Zou
1af708aaea Update 2024-08-17 01:11:48 -04:00
Donald Zou
fbb82fa759 Update README.md 2024-08-17 01:00:40 -04:00
Donald Zou
a9f977c3b4
Merge pull request #303 from donaldzou/v4
Merging the v4 branch to main.
2024-08-17 00:56:29 -04:00
Donald Zou
5669e22548 Removed all deprecated JS files 2024-08-17 00:52:38 -04:00
Donald Zou
da4bb9b83d Merge branch 'main' into v4 2024-08-17 00:46:46 -04:00
Donald Zou
c2cbaf0937 I think this is it :) 2024-08-17 00:31:46 -04:00
Donald Zou
d81dce536c Update README.md 2024-08-16 23:32:16 -04:00
Donald Zou
8e1e2c5b85 Update README.md 2024-08-16 23:24:20 -04:00
Donald Zou
959d5e6822 Update README.md 2024-08-16 23:22:55 -04:00
Donald Zou
036a0b4cb3 Update README.md 2024-08-16 23:18:28 -04:00
Donald Zou
c038f14374 Update README.md 2024-08-16 23:03:01 -04:00
Donald Zou
343cf91643 Update README.md 2024-08-16 23:02:36 -04:00
Donald Zou
4fe70a4c46 Update README.md 2024-08-16 23:01:58 -04:00
Donald Zou
59f7200512 Update README.md 2024-08-16 22:53:23 -04:00
Donald Zou
0335e709c2 Update README.md 2024-08-16 22:51:56 -04:00
Donald Zou
a7bb5ac21b Update wgd.sh 2024-08-16 17:36:22 -04:00
Donald Zou
99655cab33 Update wgd.sh 2024-08-16 17:35:38 -04:00
Donald Zou
348e574154 Update wgd.sh 2024-08-16 17:34:54 -04:00
Donald Zou
f35dee8643 Update wgd.sh 2024-08-16 17:34:03 -04:00
Donald Zou
168412c2e7 Update wgd.sh 2024-08-16 17:32:34 -04:00
Donald Zou
b9832542fb Update wgd.sh 2024-08-16 17:24:50 -04:00
Donald Zou
316545b253 Update wgd.sh 2024-08-16 17:23:16 -04:00
Donald Zou
348a57a0d8 Update wgd.sh 2024-08-16 17:22:57 -04:00
Donald Zou
a3f5654816 Update wgd.sh 2024-08-16 17:21:42 -04:00
Donald Zou
8207afe806 Update wgd.sh 2024-08-16 17:20:05 -04:00
Donald Zou
e15b8f8092 Update wgd.sh 2024-08-16 17:19:07 -04:00
Donald Zou
e6c99028d6 Update wgd.sh 2024-08-16 17:16:54 -04:00
Donald Zou
2e691d7c26 Update wgd.sh 2024-08-16 17:13:18 -04:00
Donald Zou
6c87812780 Update wgd.sh 2024-08-16 17:12:40 -04:00
Donald Zou
798a3632cf Update wgd.sh 2024-08-16 03:32:28 -04:00
Donald Zou
aa1d0aabd2 Update wgd.sh 2024-08-16 03:28:26 -04:00
Donald Zou
f348e691fa Update wgd.sh 2024-08-16 03:27:24 -04:00
Donald Zou
0dfda83e45 Update wgd.sh 2024-08-16 03:25:25 -04:00
Donald Zou
56044fa3f7 Update wgd.sh 2024-08-16 03:18:08 -04:00
Donald Zou
4c69fd4f60 Update wgd.sh 2024-08-16 03:14:03 -04:00
Donald Zou
92e3f7a6a3 Update wgd.sh 2024-08-16 03:12:29 -04:00
Donald Zou
76d0618d6e Update wgd.sh 2024-08-16 03:11:30 -04:00
Donald Zou
80c3a99eb1 Update wgd.sh 2024-08-16 03:10:26 -04:00
Donald Zou
91e3a3237b Update wgd.sh 2024-08-16 03:06:31 -04:00
Donald Zou
8c8c5a5826 Update wgd.sh 2024-08-16 03:02:45 -04:00
Donald Zou
b9370955d6 Update wgd.sh 2024-08-16 02:53:45 -04:00
Donald Zou
2761e728f7 Update wgd.sh 2024-08-16 02:50:54 -04:00
Donald Zou
f418bf4f63 Update wgd.sh 2024-08-16 02:48:31 -04:00
Donald Zou
3d046e4369 Update wgd.sh 2024-08-16 02:40:25 -04:00
Donald Zou
b6eb6f2d70 Update wgd.sh 2024-08-16 02:19:30 -04:00
Donald Zou
45ce3e26c1 Update wgd.sh 2024-08-16 02:15:10 -04:00
Donald Zou
ae91cedf76 Update wgd.sh 2024-08-16 02:07:40 -04:00
Donald Zou
b2a6b484b5 Update wgd.sh 2024-08-16 02:03:41 -04:00
Donald Zou
95c4fa56cc Update wgd.sh 2024-08-16 02:01:02 -04:00
Donald Zou
e8c56afa8e Update wgd.sh 2024-08-16 02:00:45 -04:00
Donald Zou
ddc3b1f6c2 Update wgd.sh 2024-08-16 01:58:40 -04:00
Donald Zou
d33d886574 Update wgd.sh 2024-08-16 01:55:53 -04:00
Donald Zou
0487980d2f Update wgd.sh
Selectively use a specific version of Python: 3.10, 3.11 or 3.12
2024-08-16 01:47:44 -04:00
Donald Zou
e68257d6c9 Updated some documentations 2024-08-15 23:20:29 -04:00
Donald Zou
ea0bbab680 Update api-documents.md 2024-08-15 22:50:01 -04:00
Donald Zou
5d4a8136c5 Updated some documentation 2024-08-15 22:47:44 -04:00
Donald Zou
c98d851cd2 No longer reading configuration file every few seconds
Only when the file is changed
2024-08-15 18:26:20 -04:00
Donald Zou
42fa89db7a Added to parse name in .conf file 2024-08-15 17:45:54 -04:00
Donald Zou
1a70acc6f2 Update documentation 2024-08-15 16:55:34 -04:00
Donald Zou
ee0a287112 Update README.md 2024-08-15 00:56:28 -04:00
Donald Zou
cf16a66c63 Update README.md 2024-08-15 00:53:38 -04:00
Donald Zou
4544b17c94 Update README.md 2024-08-15 00:53:23 -04:00
Donald Zou
8119c9da51 Update README.md 2024-08-15 00:49:21 -04:00
Donald Zou
baf4d75c01 Update documentations 2024-08-15 00:48:27 -04:00
Donald Zou
ac9eff0fcc Removed images 2024-08-14 23:59:50 -04:00
Donald Zou
dc57bd92ff Update README.md 2024-08-14 23:57:45 -04:00
Donald Zou
3c56a2c868
Update README.md 2024-08-14 23:55:52 -04:00
Donald Zou
2d2ab10a24
Update README.md 2024-08-14 23:54:54 -04:00
Donald Zou
ac906c9994
Update README.md 2024-08-14 23:53:28 -04:00
Donald Zou
480406d579 Update README.md 2024-08-14 23:52:14 -04:00
Donald Zou
47efb644b7 Working on some updates 2024-08-14 22:45:36 -04:00
Donald Zou
fd0e519e41 Fixed some API endpoint missed the prefix 2024-08-14 18:40:28 -04:00
Donald Zou
0c8bb990d0 Some UI adjustment 2024-08-14 14:35:49 -04:00
Donald Zou
bd7139827b Update 2024-08-14 12:31:37 -04:00
Donald Zou
4f648aff52 Updated UI for smaller screen 2024-08-14 12:07:53 -04:00
Donald Zou
3feb45dc01 Fixed for URL protocol 2024-08-14 10:59:01 -04:00
Donald Zou
0489dc7c33 Update fetch.js
Fixed for running over HTTPS
2024-08-14 10:57:41 -04:00
Donald Zou
a30843cff9 Added app prefix for URL 2024-08-14 01:17:47 -04:00
Donald Zou
3a34a0eb40 Adjusted some UI 2024-08-13 12:29:58 -04:00
Donald Zou
e3f82e136a Adjusted some UI 2024-08-12 18:04:41 -04:00
Donald Zou
8a7df4ba9f Update wgd.sh 2024-08-12 01:19:55 -04:00
Donald Zou
e86d1a4c7a Updated langugage 2024-08-12 00:34:54 -04:00
Donald Zou
5b9d0b60a1 Adjusted some UI 2024-08-11 19:20:52 -04:00
Donald Zou
7eff2f0c49 Fixed issue #250 2024-08-11 19:20:42 -04:00
Donald Zou
97236bb01d Fixed new configuration hang when error 2024-08-11 19:20:03 -04:00
Donald Zou
9c6aa12f48
Update README.md 2024-08-11 16:53:50 -04:00
Donald Zou
96ccb03eea Adjusted some code for electron version 2024-08-11 16:39:00 -04:00
Donald Zou
55f55820c5 Update wg-dashboard.service 2024-08-11 11:02:08 -04:00
Donald Zou
955839d513 I think cross server actually worked 2024-08-11 01:48:13 -04:00
Donald Zou
a650e628e5 CORS SUCCESS!!! 2024-08-10 19:23:50 -04:00
Donald Zou
54142b73fb Ohhhhh kay testing CORS :) 2024-08-10 19:03:21 -04:00
Donald Zou
55e0d2695d Update .gitignore 2024-08-10 12:58:41 -04:00
Donald Zou
2f90ab15dc Let's try ElectronJS 2024-08-10 12:58:14 -04:00
Donald Zou
fd3fc66bfc Thinking of adding Electron.js 2024-08-10 00:25:25 -04:00
Donald Zou
a352a94d8a Update .gitignore 2024-08-10 00:24:07 -04:00
Donald Zou
410b81f46f Some UI adjustment 2024-08-09 22:16:38 -04:00
Donald Zou
aa3711c5cc Adjusted search peer UI 2024-08-09 21:30:01 -04:00
Donald Zou
d6b1f97a04 Update 2024-08-09 20:46:11 -04:00
Donald Zou
b4e8e57a22 Updated UI for nav bar 2024-08-09 17:58:41 -04:00
Donald Zou
9644e6195c Finished adding data usage on configuration list 2024-08-09 17:30:44 -04:00
Donald Zou
764e0c7607 Replaced all cursor without recursive use 2024-08-09 17:29:57 -04:00
Donald Zou
97d640dd40 Update dashboard.py 2024-08-09 16:09:55 -04:00
Donald Zou
d2915b5b05 Update dashboard.py 2024-08-09 16:09:23 -04:00
Donald Zou
f274f6fd18 Fixed some bugs.. 2024-08-09 16:09:08 -04:00
Donald Zou
f507ac2569 Rewrote the add peer function 2024-08-08 23:27:13 -04:00
Donald Zou
208cbd6d89 Peer data reset function is don e 2024-08-08 20:56:14 -04:00
Donald Zou
cd2aa2902a
Update README.md 2024-08-07 00:44:46 -04:00
Donald Zou
fa2d7fa3da Peer Sharing is done :) 2024-08-07 00:37:05 -04:00
Donald Zou
7463767781 Sharing peer is done, fixed #294
Fixed issue #294 with a Vue.js plugin instead of using the `datatime-local` input tag.

Still need to work on the end-user UI for sharing.
2024-08-06 19:15:00 -04:00
Donald Zou
958bc864c9 The sharing function is almost done 2024-08-06 10:17:14 -04:00
Donald Zou
4484668750 Backend for peer sharing is done 2024-08-05 19:57:17 -04:00
Donald Zou
d5dea4b87f Fixed the issue mentioned in #290 2024-08-05 17:55:58 -04:00
Donald Zou
0fdef6a0a2 fixing some Gunicorn bugs.. again.. 2024-08-05 15:39:11 -04:00
Donald Zou
bd71b6bad8 Update gunicorn.conf.py 2024-08-04 20:24:31 -04:00
Donald Zou
9b7887b279 Update gunicorn.conf.py 2024-08-04 20:23:41 -04:00
Donald Zou
3960e43872 Update gunicorn.conf.py 2024-08-04 20:22:41 -04:00
Donald Zou
201c8f9ec9 Update dashboard.py 2024-08-04 20:17:29 -04:00
Donald Zou
8c8374a08c Update wgd.sh 2024-08-04 20:16:26 -04:00
Donald Zou
467595afc9 Update wgd.sh 2024-08-04 20:15:46 -04:00
Donald Zou
acb54f098c Update gunicorn.conf.py 2024-08-04 20:13:17 -04:00
Donald Zou
5755d13460 Update gunicorn.conf.py 2024-08-04 19:45:28 -04:00
Donald Zou
2c3500315d Update gunicorn.conf.py 2024-08-04 19:36:49 -04:00
Donald Zou
47ea60c0cd Testing v4 2024-08-04 19:35:59 -04:00
Donald Zou
18b18c1396 Update wgd.sh 2024-08-04 19:33:05 -04:00
Donald Zou
ff227de5fa Update gunicorn.conf.py 2024-08-04 19:32:16 -04:00
Donald Zou
6799692811 Testing.. 2024-08-04 19:30:48 -04:00
Donald Zou
c6173f7f6f Update wgd.sh 2024-08-04 19:22:26 -04:00
Donald Zou
d0e4dabc44 Update wgd.sh 2024-08-04 19:22:06 -04:00
Donald Zou
f815dae300 Update wgd.sh 2024-08-04 19:21:38 -04:00
Donald Zou
b3bd6bb39e Update wgd.sh 2024-08-04 19:20:31 -04:00
Donald Zou
71df6409c2 Update gunicorn.conf.py 2024-08-04 19:17:41 -04:00
Donald Zou
e4f9a1e0cf Update gunicorn.conf.py 2024-08-04 19:03:30 -04:00
Donald Zou
ca6a05e393 Update gunicorn.conf.py 2024-08-04 18:59:45 -04:00
Donald Zou
c0d26164dc Update wgd.sh 2024-08-04 18:48:13 -04:00
Donald Zou
76fe2a1ba9 Update wgd.sh 2024-08-04 18:45:57 -04:00
Donald Zou
8cbdb54402 Still fixing Gunicron 2024-08-04 16:08:05 -04:00
Donald Zou
764ef80a62 Update wgd.sh 2024-08-04 15:44:55 -04:00
Donald Zou
0c37d93c01 Testing if this will fix bash exit before Gunicorn ran... 2024-08-04 15:29:07 -04:00
Donald Zou
c57a5128e5 Update wgd.sh 2024-08-04 03:20:44 -04:00
Donald Zou
6cf4eba20a Redirect when received a 401 error 2024-08-04 01:31:31 -04:00
Donald Zou
6825d728c2 Log function is completed 2024-08-03 17:03:39 -04:00
Donald Zou
6d3091b2a2 Push dockerfiles 2024-08-03 15:29:56 -04:00
Donald Zou
61473877a4 Update wgd.sh 2024-08-03 14:01:04 -04:00
Donald Zou
52989c8f5c Fixed clearInterval is not working within configuration 2024-08-03 13:26:16 -04:00
Donald Zou
b64ba2ef16 Fixed Gunicorn global variable issue 2024-08-03 13:25:57 -04:00
Donald Zou
461ae99dd8 Testing again... 2024-08-02 21:48:42 -04:00
Donald Zou
8681df6f02 Seems like Gunicorn need global 2024-08-02 21:45:55 -04:00
Donald Zou
ba081ee442 Update wgd.sh 2024-08-02 21:21:19 -04:00
Donald Zou
cf90d05115 Update wgd.sh 2024-08-02 18:30:16 -04:00
Donald Zou
658c6554af Update wgd.sh 2024-08-02 18:18:31 -04:00
Donald Zou
94d9d608f7 Update wgd.sh 2024-08-02 18:16:34 -04:00
Donald Zou
015b50be5f Doing some testing across distros 2024-08-02 17:27:28 -04:00
Donald Zou
85970f8c96 New build 2024-07-31 02:27:44 -04:00
Donald Zou
1740ab0bbe
Update README.md 2024-07-31 02:23:20 -04:00
Donald Zou
9d2b5593a2
Add files via upload 2024-07-31 02:21:42 -04:00
Donald Zou
881d62d69d The UI and backend of API keys is done! 2024-07-30 18:45:05 -04:00
Donald Zou
935129f0a5 Finished the log system, now move on to something else... 2024-07-29 22:17:51 -04:00
Donald Zou
1a9bdc5e6d
Merge pull request #288 from donaldzou/donaldzou-patch-3
Update README.md
2024-07-29 18:58:49 -04:00
Donald Zou
1f565bca10
Update README.md 2024-07-29 18:58:39 -04:00
Donald Zou
da089197a3 Changed the name 2024-07-29 18:56:56 -04:00
Donald Zou
2df8f41d6c Changed v4.0 preview GIF 2024-07-29 18:56:35 -04:00
Donald Zou
4e4f0d4c97 Create S1creen Recording 2024-07-29 at 5.59.53 PM.webm 2024-07-29 18:40:46 -04:00
Donald Zou
eaad22c0a1 Create proxy.js 2024-07-29 18:40:19 -04:00
Donald Zou
63e8553a09 Finished job logs :) 2024-07-29 18:40:07 -04:00
Donald Zou
b65828416f Job logs api are done, still need to build the UI to view logs 2024-07-27 18:51:43 -04:00
Donald Zou
48dc8033f5 Schedule system is finally running, still need to more testing :) 2024-07-01 00:58:02 +08:00
Donald Zou
2d838b69fd Peer schedule style is almost done
But I don't feel it quite right..
2024-06-25 23:02:13 +08:00
Donald Zou
6c529a6908 Fixed Gunicorn issue, continue on Peer Schedule Job 2024-06-19 17:09:58 +08:00
Donald Zou
9baefec541 Figuring out with Gunicorn... 2024-06-18 03:40:25 +08:00
Donald Zou
327d66bb80 Removed a tons of files :) 2024-06-18 03:16:42 +08:00
Donald Zou
760a4dfcb9 Still working on schedule.. 2024-06-16 23:32:32 +08:00
Donald Zou
ceb8cdd337
Merge pull request #281 from donaldzou/donaldzou-patch-3
Update README.md
2024-06-16 15:42:28 +08:00
Donald Zou
570c754eec
Update README.md 2024-06-16 15:42:17 +08:00
Donald Zou
8ed75d1d21 Working on Job Scheduling 2024-06-16 15:40:10 +08:00
Donald Zou
54710b8221 Update .gitignore 2024-06-15 23:14:48 +08:00
Donald Zou
ff794033e1 Finished Traceroute 2024-06-13 16:56:06 +08:00
Donald Zou
f0f486da9e Adjusted some UI and finished the Ping function 2024-06-12 17:54:29 +08:00
Donald Zou
aedcfd1d24
Merge pull request #277 from DaanSelen/main
Added updated Docker functionality.
2024-06-11 22:40:38 +08:00
Daan
44e738acf5 Merge branch 'main' of https://github.com/DaanSelen/WGDashboard-dockerized 2024-06-10 20:36:13 +02:00
Daan
701b45c286 Improved (imo) the use of English. 2024-06-10 20:34:30 +02:00
dselen
72fe687d82
Update Docker-explain.md 2024-06-09 23:13:31 +02:00
dselen
632cd66b57
Update Docker-explain.md 2024-06-09 23:13:19 +02:00
Daan
20530c000e Added container documentation, and added a few new comments. 2024-06-09 23:11:22 +02:00
Daan
8824786fb4 For some reason, cloning the GitHub (which has been simplified) works from the Dockerfile directly.
But the wg0.conf file needs a re-copy on run-time. Working now.

Made code modifications and optimizations.

Please report bugs to me.
2024-06-08 13:30:24 +02:00
Daan
bdeb4a4efe Cleaned up lingering code line. 2024-06-07 14:55:16 +02:00
Daan
cf455fc19b Modified code so that the docker logging makes sense. Also fixed a bug which can happen with iptables (-s illegal option). Pushing to repo. 2024-06-07 13:25:46 +02:00
Daan
1bcddadb7a Features tested working, feeling good about a release. 2024-06-06 16:11:49 +02:00
Daan
6dc28f11e0 Working on isolated peers feature. 2024-06-06 00:12:11 +02:00
Daan
8ad601fcc0 Added features, plus explanations in about them in the compose.yaml file. Looking great! 2024-06-05 20:27:24 +02:00
Daan
f400844a3d Modified scripts 2024-06-05 09:16:29 +02:00
Daan
560096878f Persistency seems to work with this model, it has succeeded my tests. 2024-06-04 23:26:03 +02:00
Daan
0938f5ab71 Container deployed with working VPN server built-in. Missing is persistency among recreations, looking into that... 2024-06-04 22:49:17 +02:00
Daan
06193d27c0 Added dockerfile and entrypoint for basic compilation, moving to finalizing 2024-06-04 17:05:17 +02:00
Donald Zou
eb18857ecc Some UI adjustment 2024-06-03 02:16:09 +08:00
Donald Zou
9a280e99ad Finished restrict & allow access of peers 2024-06-02 23:22:43 +08:00
Donald Zou
c7ca20b45a Made some progress ;) 2024-05-20 22:28:52 +08:00
Donald Zou
60e64a3646
Merge pull request #269 from donaldzou/donaldzou-patch-2
Update README.md
2024-05-14 22:44:20 +08:00
Donald Zou
d60f89976e
Update README.md 2024-05-14 22:44:09 +08:00
Donald Zou
41e05ddf9c Update dashboard_new.py
Yay adding peers in bulk is finally done ;)
2024-05-14 00:58:01 +08:00
Donald Zou
5a34f16dcf Update dashboard_new.py
Typo in `updatePeer`
2024-05-13 22:17:00 +08:00
Donald Zou
769ca4e26d Kind of finished revamping add peers
Still need to clean some of the codes but overall is good :)
2024-05-12 00:39:17 +08:00
Donald Zou
b6e62b08e4
Merge pull request #265 from donaldzou/v3.0.6.2
Update dashboard.py
2024-05-04 11:42:10 +08:00
Donald Zou
effe5b32fd
Update dashboard.py 2024-05-04 11:40:32 +08:00
Donald Zou
9e38137e76 Removed DNS as a required field from peer settings 2024-05-03 10:15:00 +08:00
Donald Zou
57c2e89f00 Fixing some of the issue from users ;) 2024-04-26 00:03:42 +08:00
Donald Zou
914a0bf514 Minor updates... 2024-04-03 01:16:56 -04:00
Donald Zou
210f5eabc9
Merge pull request #261 from donaldzou/donaldzou-patch-1
Update FUNDING.yml
2024-03-31 11:20:04 -04:00
Donald Zou
5f5c91a8ff
Update FUNDING.yml 2024-03-31 11:19:54 -04:00
Donald Zou
05c7121c8a
Update README.md 2024-03-31 00:55:46 -04:00
Donald Zou
551a8e9588
Add files via upload 2024-03-31 00:53:00 -04:00
Donald Zou
75fbdb653a Update build 2024-03-24 22:55:19 -04:00
Donald Zou
bdfe75cff3 Finished download & QR Code 2024-03-24 22:46:32 -04:00
Donald Zou
bcd845fd59 Finished revamping peer edit 2024-03-24 18:24:01 -04:00
Donald Zou
f1e71ecb78 20240323 Commit
Finished implementing peer settings dropdown and planned how peer settings will be link
2024-03-21 02:03:08 -04:00
Donald Zou
0aa4c8af6f Continue to work on v4 ;0 2024-03-11 00:11:07 -04:00
Donald Zou
8fe5507ff8
Update README.md 2024-02-27 18:38:10 -05:00
Donald Zou
a950b80d5a v4 branch first commit! 2024-02-27 18:37:49 -05:00
Donald Zou
ed3bb6429b Finished some building blocks on the new version 2024-02-26 10:22:33 -05:00
Donald Zou
1e88491ca1 I am giving up on using ORM...
Lets go back to the good old sql query days ;)
2024-02-11 23:53:51 -05:00
Donald Zou
4aed647865
Merge pull request #254 from Upellift99/main
Enabling use of underscores in configuration name
2024-02-01 18:39:05 -05:00
John
74ab7aaa3d Enabling use of underscores in configuration name. 2024-02-01 09:53:04 +01:00
John
dcf2055851 Enabling use of underscores in configuration name. 2024-02-01 09:47:52 +01:00
Donald Zou
6b6ad05e3a The UI for New Configuration is done 2024-01-31 12:06:44 -05:00
Donald Zou
734a4b5e00
Merge pull request #252 from donaldzou/donaldzou-patch-1
Update README.md
2024-01-23 15:11:21 -05:00
Donald Zou
da70fac0b6
Update README.md 2024-01-23 15:11:02 -05:00
Donald Zou
5f4a364095 Huge update
A welcome session
Added Time based One-Time-Passcode (TOTP)
UI Update
2024-01-23 15:09:44 -05:00
Donald Zou
95a8867527 Update .gitignore 2024-01-11 13:47:35 -05:00
Donald Zou
7cb1301e80 Continue to refactor the UI and APIs :) 2024-01-11 13:46:08 -05:00
Donald Zou
e6e070d89e Continue to refactor the UI and APIs :) 2024-01-11 01:10:26 -05:00
Donald Zou
ba2bcaba07 Finally figured out SQLAlchemy and started to re-write some of the APIs. The UI will completely handle by JS with Vue. There will be no more templating from flask to minimize the resource usage ;) 2024-01-10 01:42:19 -05:00
Donald Zou
3d6ecba4f5 Update README.md 2024-01-09 14:10:08 -05:00
Donald Zou
864f82ba11 Started to refactor dashboard.py with dashboard_new.py and trying really hard to figure out sqlalchemy lol 2024-01-09 00:25:47 -05:00
Donald Zou
f671c992e1 testing something... 2024-01-08 12:23:57 -05:00
Donald Zou
86220694ce Update README.md
Added instruction to install `net-tools`. It is required for the Python package `ifcfg`. Seems like it is not pre-installed on a fresh debian based system.
2023-12-10 13:01:45 -05:00
Donald Zou
77f31177c8 Update .gitignore 2023-12-10 12:56:49 -05:00
Donald Zou
33ff91aea8 Update .gitignore 2023-12-10 12:56:02 -05:00
Noxcis
a4151800f1
Update requirements.txt 2023-12-05 04:47:40 -08:00
Noxcis
932f24c966
Update dashboard.py 2023-12-05 04:44:01 -08:00
Donald Zou
0c0bce9755 Combining Vue.js!!! How exciting!
Adding Vue.js to handle frontend changes, leaving the server only need to response json data. Ditching flask template and hope it can reduce the memory and cpu usage :)
2023-11-30 09:42:02 -05:00
Donald Zou
f07508073f A new update to the dev branch 2023-11-28 16:37:16 -05:00
Donald Zou
2c9cade70a
Create SECURITY.md 2023-03-23 13:07:36 -04:00
Donald Cheng Hong Zou
e06cc1bd2d Finally finished theme switching!!!! 2022-04-23 00:34:11 -04:00
Donald Cheng Hong Zou
36e33a4c10 Adjust the dark mode theme for PWA 2022-04-22 16:21:16 -04:00
Donald Cheng Hong Zou
7f668c1653 Some changes to dark mode css 2022-04-22 00:12:22 -04:00
Donald Zou
b464fa98df
Merge pull request #173 from LeoEricson/v3.1-dev
Add dark theme
2022-04-21 22:33:40 -04:00
LeoEricson
23491f1e8c Add dark theme 2022-04-21 21:30:55 +00:00
Donald Cheng Hong Zou
2b90a2eed2 Update header.html 2022-04-21 15:11:35 -04:00
Donald Cheng Hong Zou
13b9d15d8f New darkmode theme 2022-04-21 15:11:01 -04:00
Donald Cheng Hong Zou
a053504bb8 Make the dashboard more mobile friendly 2022-04-11 20:01:29 -04:00
Donald Zou
d7d7a84bd5
Update README.md 2022-04-10 09:35:50 -04:00
Donald Zou
990463fbea
Update README.md 2022-04-10 09:29:07 -04:00
Donald Cheng Hong Zou
dcdd4aec85 Update Peer Data Usage Graph 2022-04-10 09:26:54 -04:00
Donald Zou
0d9a8ba6f7
Update README.md 2022-04-06 21:05:24 -04:00
Donald Cheng Hong Zou
179da2ac05 Finished peer data usage chart 2022-04-06 20:59:23 -04:00
Donald Cheng Hong Zou
4848739b6e Added dockerfile! Thanks @ikidd! 2022-04-05 21:39:47 -04:00
Donald Cheng Hong Zou
46da285831 Adjusted js 2022-03-30 14:20:08 -04:00
Donald Cheng Hong Zou
71a6a36a54 Update dashboard.css 2022-03-30 14:06:05 -04:00
Donald Cheng Hong Zou
c8ca9ef7ab Minimized some js code 2022-03-30 00:54:11 -04:00
Donald Cheng Hong Zou
5af2fff9ca IPv6 configuration IP should be working now 2022-03-29 15:11:50 -04:00
Donald Zou
edbaf3ac82
Update README.md 2022-03-29 12:27:39 -04:00
Donald Cheng Hong Zou
337c9bc01e Update dashboard.py 2022-03-28 15:33:26 -04:00
Donald Zou
cd84674ae0
Update README.md 2022-03-28 08:23:12 -04:00
Donald Cheng Hong Zou
a196dce1fa Removed flask-socketio 2022-03-28 08:09:28 -04:00
Donald Zou
f60ea43f29
Create codeql-analysis.yml 2022-03-27 21:44:49 -04:00
Donald Zou
76f547a726
Update README.md 2022-03-26 11:14:27 -04:00
Donald Zou
dffe5e0819
Update README.md 2022-03-25 14:11:39 -04:00
Donald Cheng Hong Zou
b9633bbcd6 Finished implementing add/delete config 2022-03-24 20:43:56 -04:00
Donald Cheng Hong Zou
46efe2b8dd Finished developing add config 2022-03-24 02:10:52 -04:00
Donald Zou
fb9ef0c547
Update README.md 2022-03-22 17:34:34 -04:00
Donald Cheng Hong Zou
d52cd2b17c Doing a update 2022-03-22 17:28:19 -04:00
Donald Cheng Hong Zou
cefa80f317 Fixed redirect functionality 2022-03-22 16:17:12 -04:00
Donald Cheng Hong Zou
cc1dd682e8 Add configuration and adjusted redirect functionality 2022-03-22 16:13:57 -04:00
Donald Cheng Hong Zou
bdd984a887 Brand new switch button and toast UI 2022-03-21 22:33:19 -04:00
Donald Cheng Hong Zou
2d3dffe5fc Moved refresh interval and display mode to localStorage 2022-03-07 09:29:47 -05:00
Donald Cheng Hong Zou
65f31a0b38 Gave up using WebSocket
Flask-SocketIO does not fully compatible with Gunicorn, and it limited to 1 worker, which it will takes forever to finish loading the webpage. Switched back to  using ajax.
2022-03-04 22:09:01 -05:00
Donald Cheng Hong Zou
4a1a6c5933 Testing 2022-03-04 10:06:14 -05:00
Donald Cheng Hong Zou
7e1fd99c37 Fixed chart and updated requirement.txt 2022-03-04 08:28:54 -05:00
Donald Cheng Hong Zou
8fe8209580 Added line graph using chart.js & Improving websocket.
Added line graph to show total receive & total sent changes per refresh interval, using chart.js line chart to show the changes. Switching configuration don't need to refresh anymore, by using websocket.
2022-03-03 08:46:23 -05:00
Donald Cheng Hong Zou
264a050360 Temp fix 2022-02-28 13:34:46 -05:00
Donald Cheng Hong Zou
3623104e3b Merge branch 'main' into hmm-what-about-socket 2022-02-28 13:31:06 -05:00
Donald Cheng Hong Zou
191ff1abec Merge branch 'main' of https://github.com/donaldzou/WGDashboard 2022-02-28 13:29:25 -05:00
Donald Cheng Hong Zou
3bb86493cc Minor changes 2022-02-28 13:29:17 -05:00
Donald Zou
d1d3151e1e
Update README.md 2022-02-27 15:50:55 -05:00
Donald Cheng Hong Zou
f9dc9ebdb3 Removed some unnecessary comments 2022-02-11 09:35:58 -05:00
Donald Cheng Hong Zou
3b478bcc2d OneDrive gone again.... 2022-02-04 21:36:46 -05:00
Donald Cheng Hong Zou
77bb78c381 OneDrive caused my whole project folder gone.... 2022-02-04 11:44:50 -05:00
Donald Cheng Hong Zou
cafa97f502 Changed version number 2022-01-31 16:09:50 -05:00
Donald Cheng Hong Zou
0d858493d5 Update README.md 2022-01-31 09:56:38 -05:00
Donald Cheng Hong Zou
99fb07c6b3 Fixed public key error with existed private key 2022-01-31 09:38:05 -05:00
Donald Zou
eaad971c0a
Update README.md 2022-01-24 22:06:38 -05:00
Donald Cheng Hong Zou
377abd87fd Commit 2022-01-24 20:11:35 -05:00
Donald Zou
af71176296
Merge pull request #133 from donaldzou/v3.0.3-pr
v3.0.3
2022-01-23 19:34:06 -05:00
Donald Cheng Hong Zou
69737177ef Changed version number to v3.0.3 2022-01-23 19:30:43 -05:00
Donald Cheng Hong Zou
efae1222c1 Update dashboard.py 2022-01-23 19:25:12 -05:00
Donald Cheng Hong Zou
3caea1a903 Update README.md 2022-01-23 19:21:43 -05:00
Donald Cheng Hong Zou
a43478d627 Fixed no init_dashboard() for debug mode the first time 2022-01-23 19:19:38 -05:00
Donald Cheng Hong Zou
ed2c3f43c7 Added tracking loading time 2022-01-19 10:43:39 -05:00
Donald Cheng Hong Zou
84c9846f7b Hmmmm... What about SocketIO? 2022-01-19 10:27:17 -05:00
Donald Cheng Hong Zou
fcfd816cec Remove pylint 2022-01-19 09:25:27 -05:00
Donald Cheng Hong Zou
2e3977e59c commit 2022-01-19 09:18:03 -05:00
Donald Cheng Hong Zou
3c68430336 Update pylint.yml 2022-01-19 09:12:57 -05:00
Donald Cheng Hong Zou
43afb86fa8 Update pylint.yml 2022-01-19 09:10:59 -05:00
Donald Cheng Hong Zou
194ccbdbb4 Update pylint.yml 2022-01-19 09:10:07 -05:00
Donald Cheng Hong Zou
7139e230cf Commit 2022-01-19 09:08:27 -05:00
Donald Zou
120d3b9f54
Update pylint.yml 2022-01-19 09:05:39 -05:00
Donald Zou
712460a040
Update pylint.yml 2022-01-19 09:03:35 -05:00
Donald Zou
be5594f1c9
Create pylint.yml 2022-01-19 09:01:35 -05:00
Donald Cheng Hong Zou
0a885117db Update README.md 2022-01-18 13:04:00 -05:00
Donald Zou
5b73654544
Update README.md 2022-01-18 12:43:37 -05:00
Donald Cheng Hong Zou
1485b78b7b Merge branch 'main' of https://github.com/donaldzou/WGDashboard 2022-01-18 12:43:20 -05:00
Donald Cheng Hong Zou
bfec57172a Update README.md 2022-01-18 12:43:11 -05:00
Donald Zou
9f8559c12d
Update README.md 2022-01-18 12:34:40 -05:00
Donald Zou
83dde12ca9
Merge pull request #126 from donaldzou/Migrate-to-SQLite
Production branch for v3.0
2022-01-18 12:33:34 -05:00
Donald Cheng Hong Zou
d17888db4e Update README.md 2022-01-18 12:33:21 -05:00
Donald Cheng Hong Zou
096529af96 Experimental Functions 2022-01-18 12:16:10 -05:00
Donald Cheng Hong Zou
8a56b22635 Added manifest.json 2022-01-18 11:02:19 -05:00
Donald Cheng Hong Zou
dcdd353981 Removed unnecessary files 2022-01-18 10:49:41 -05:00
Donald Cheng Hong Zou
258564208b Finalizing everything. 2022-01-18 10:42:23 -05:00
Donald Cheng Hong Zou
e2e8222005 Upload manifest.json 2022-01-16 20:35:24 -05:00
Donald Cheng Hong Zou
75f2826805 Merge branch 'pr/93' into Migrate-to-SQLite 2022-01-13 09:44:47 -05:00
Donald Cheng Hong Zou
730af4f2ee Finishing documentation 2022-01-13 09:37:23 -05:00
Donald Zou
e5737ebd9d
Merge branch 'main' into Migrate-to-SQLite 2022-01-12 21:41:41 -05:00
Donald Cheng Hong Zou
7f24904164 Bugs 2022-01-12 20:28:12 -05:00
Donald Cheng Hong Zou
9ff7198602 Still finalizing everything 2022-01-12 19:53:36 -05:00
Donald Cheng Hong Zou
6d56967a0f Getting ready for v3.0 2022-01-08 15:26:17 -05:00
Donald Cheng Hong Zou
584118805a Feature Added
Moved key generating to front-end, by using wireguard.js from WireGuard's official repository. Added "Add Peers by bulk" feature.
2022-01-06 15:17:43 -05:00
Donald Zou
68b3f01082
Merge pull request #127 from pgalonza/refactoring
Fixed misprint
2022-01-04 16:41:26 -05:00
Donald Cheng Hong Zou
77a82cb84b Finished adding available IP and related UI adjustment 2022-01-04 16:32:23 -05:00
Galonza Peter
844b19495d fixed misprint 2022-01-03 00:51:22 +03:00
Donald Cheng Hong Zou
b8b721f2bd Delete wgdashboard.db 2022-01-02 14:45:24 -05:00
Donald Cheng Hong Zou
4f93d48ac6 Successfully migrate to SQlite 2022-01-02 14:44:27 -05:00
Donald Zou
02d1bf5a2c
Merge pull request #125 from pgalonza/refactoring
Refactoring
2022-01-02 14:41:24 -05:00
Galonza Peter
fb3606c2b7 Refactored
Added docstrings like sphinx style, small refactoring and added TODO
2022-01-02 16:35:39 +03:00
Galonza Peter
a5bc2cd48f wg_conf_path is global variable 2022-01-01 03:20:30 +03:00
Galonza Peter
72151ac6a3 db path is global variable 2022-01-01 02:57:59 +03:00
Donald Cheng Hong Zou
e2c8b3bf02 Removed Semaphore for configuration file 2021-12-31 13:29:37 -05:00
Donald Cheng Hong Zou
06dd641274 Minified all CSS and JS script 2021-12-30 15:21:25 -05:00
Donald Cheng Hong Zou
7d9bf01d27 Cleaned configuration.js
Removed unused functions and duplicated jQuery selector
2021-12-29 23:26:15 -05:00
Donald Cheng Hong Zou
b9553e0a05 Update dashboard.py
Finished refactoring some variable name
2021-12-29 16:15:00 -05:00
Donald Cheng Hong Zou
993dcaf235 Merge branch 'main' of https://github.com/donaldzou/WGDashboard 2021-12-29 15:30:52 -05:00
Donald Cheng Hong Zou
8d7c39bac4 Update dashboard.py
Wrapped all reading and writing to dashboard configuration into functions
2021-12-29 15:29:29 -05:00
Donald Zou
80933ab571
Merge pull request #124 from pgalonza/fix-variables
Fixed variables name
2021-12-29 14:57:53 -05:00
Donald Cheng Hong Zou
b5b30c8119 Update dashboard.py 2021-12-29 14:57:44 -05:00
Galonza Peter
bca06129d9 fixed variables name 2021-12-29 22:56:19 +03:00
Donald Zou
a136b86d81
Merge pull request #122 from pgalonza/change-path
Fixed variable name
2021-12-29 14:20:52 -05:00
Donald Zou
8d555d8ae7
Merge pull request #121 from pgalonza/refactoring
Refactoring
2021-12-29 13:57:21 -05:00
Donald Zou
c22e61add2
Merge branch 'main' into refactoring 2021-12-29 13:57:11 -05:00
Donald Zou
2c83f1ce57
Merge pull request #120 from pgalonza/fix-download
Fixed download configuration file for peer
2021-12-29 12:21:29 -05:00
Donald Cheng Hong Zou
f2750de153 Feature adding and UI adjustment
Added Preshared-Key to all configuration
2021-12-29 12:17:44 -05:00
Galonza Peter
e0934f11d6 Merge branch 'main' into fix-download 2021-12-29 02:00:36 +03:00
Galonza Peter
422924026a fixed variable name 2021-12-29 02:00:18 +03:00
Galonza Peter
332e22e534 Merge branch 'main' into refactoring
# Conflicts:
#	src/dashboard.py
2021-12-29 01:51:41 +03:00
Galonza Peter
c7bf30e18e pylint warnings 2021-12-29 00:59:10 +03:00
Galonza Peter
5ade5176c0 fixed download configuration file for peer 2021-12-28 22:55:52 +03:00
Donald Zou
f9e4fafe9f
Merge pull request #96 from pgalonza/change-path
Added the ability to change the path for files to be saved
2021-12-27 21:05:34 -05:00
Donald Zou
201f2ef1f0
Merge branch 'main' into change-path 2021-12-27 21:05:25 -05:00
Donald Zou
32af4fdcca
Merge pull request #119 from donaldzou/v3.0-beta
Finishing v3.0
2021-12-27 21:01:24 -05:00
Donald Cheng Hong Zou
d254b4cc39 Finishing v3.0 2021-12-27 21:01:02 -05:00
Galonza Peter
d0ad4e05bf general refactoring 2021-12-28 00:29:26 +03:00
Galonza Peter
c75854cb7b fixed after merge 2021-12-27 00:35:10 +03:00
Galonza Peter
8cc71913b3 fixed read configuration after merge 2021-12-26 23:17:19 +03:00
Galonza Peter
99abe6bcd2 Merge branch 'main' into change-path 2021-12-26 12:58:44 +03:00
Galonza Peter
f5ad7a49ce general refactoring 2021-12-26 12:57:57 +03:00
Donald Cheng Hong Zou
e42ecf3c99 Update wgd.sh 2021-12-25 17:45:47 -05:00
Donald Cheng Hong Zou
b58bf9dc17 Update wgd.sh 2021-12-25 17:40:53 -05:00
Donald Cheng Hong Zou
745c8aaf3e Update wgd.sh 2021-12-25 17:40:08 -05:00
Donald Cheng Hong Zou
0ca73bf80b Update wgd.sh 2021-12-25 17:38:13 -05:00
Donald Cheng Hong Zou
fd76cabd01 Update wgd.sh 2021-12-25 17:37:43 -05:00
Donald Cheng Hong Zou
fcf9300a49 Update wgd.sh 2021-12-25 17:35:36 -05:00
Donald Cheng Hong Zou
649b66ba1a Update wgd.sh 2021-12-25 17:20:52 -05:00
Donald Cheng Hong Zou
b5d73a0861 Delete hi.txt 2021-12-25 17:20:31 -05:00
Donald Cheng Hong Zou
1453996ccb Update wgd.sh 2021-12-25 17:16:50 -05:00
Donald Cheng Hong Zou
5bf9b97d70 Update wgd.sh 2021-12-25 17:15:33 -05:00
Donald Cheng Hong Zou
5c1e46f5a6 Update wgd.sh 2021-12-25 17:13:21 -05:00
Donald Cheng Hong Zou
c2665cbae8 Update wgd.sh 2021-12-25 17:13:08 -05:00
Donald Cheng Hong Zou
3934248a6b Update wgd.sh 2021-12-25 17:08:59 -05:00
Donald Cheng Hong Zou
7ae3bb5601 Testing update function 2021-12-25 17:07:33 -05:00
Donald Cheng Hong Zou
9890d4f3bc Removed using venv for now 2021-12-25 16:29:33 -05:00
Donald Cheng Hong Zou
5b47fc16d9 Update wgd.sh 2021-12-25 16:08:30 -05:00
Galonza Peter
344770a0a4 Merge branch 'main' into change-path
# Conflicts:
#	src/dashboard.py
2021-12-25 23:42:10 +03:00
Donald Cheng Hong Zou
fc11cacd24 Update wgd.sh 2021-12-25 15:20:56 -05:00
Donald Cheng Hong Zou
737ebdd0c6 Update wgd.sh 2021-12-25 15:20:04 -05:00
Galonza Peter
d06dddfa24 Merge branch 'main' into change-path 2021-12-25 23:17:40 +03:00
Donald Cheng Hong Zou
710d631ffe Update wgd.sh 2021-12-25 15:17:07 -05:00
Donald Cheng Hong Zou
7d9a845ca0 Update wgd.sh 2021-12-25 14:48:38 -05:00
Donald Cheng Hong Zou
cc6e5ffb97 Update wgd.sh 2021-12-25 14:46:47 -05:00
Donald Cheng Hong Zou
8d29cb7488 Testing Python venv 2021-12-25 14:44:14 -05:00
Donald Cheng Hong Zou
5c588ea01a Style adjustment
Adjusted style and the status light: Added box-shadow and border for connected peer
2021-12-24 00:20:44 -05:00
Donald Zou
dade9935da
Merge pull request #117 from donaldzou/v3.0-Slow-Load-Fix
Slow Performance Fixed
2021-12-24 00:19:26 -05:00
Donald Cheng Hong Zou
34cd3aaaca Slow Performance Fixed 2021-12-23 21:26:24 -05:00
Donald Cheng Hong Zou
78d3f338fb Update dashboard.py 2021-12-22 11:36:29 -05:00
Donald Zou
d801c5911e
Merge pull request #91 from pgalonza/todo-ipv6
Add IPv6
2021-12-22 11:35:17 -05:00
Galonza Peter
003743c074 Merge branch 'main' into gunicorn 2021-12-21 22:41:03 +03:00
Galonza Peter
4cef39d3b1 Merge branch 'main' into gunicorn-tmp
# Conflicts:
#	src/wgd.sh
2021-12-21 22:38:31 +03:00
Galonza Peter
83f0df32d7 added thread 2021-12-21 22:23:26 +03:00
Galonza Peter
24f269191c added Let’s Encrypt via certbot 2021-12-21 22:23:13 +03:00
Galonza Peter
94a0d5a0a4 refactored 2021-12-21 22:23:05 +03:00
Galonza Peter
c0fbf4dd0c optimized performance
# Conflicts:
#	src/gunicorn.conf.py
2021-12-21 22:22:37 +03:00
Galonza Peter
37b6161075 fixed check gunicorn process 2021-12-21 22:20:43 +03:00
Galonza Peter
c9b792c370 fixed update variable 2021-12-21 22:20:31 +03:00
Galonza Peter
2103d547a1 fixed initiation for gunicorn 2021-12-21 22:18:36 +03:00
Galonza Peter
3918e220d2 style 2021-12-21 22:17:32 +03:00
Galonza Peter
c3eaaed43b fixed stop 2021-12-21 22:17:07 +03:00
Galonza Peter
e0bf648076 added paths when command as root 2021-12-21 22:16:40 +03:00
Galonza Peter
bb298164e4 added gunicorn in requirements 2021-12-21 22:15:55 +03:00
Galonza Peter
898694b9be fixed gunicorn start and added stop 2021-12-21 22:15:41 +03:00
Galonza Peter
f0f9ac92e6 added gunicorn start 2021-12-21 22:15:23 +03:00
Galonza Peter
ea0229a8ab added wsgi for gunicorn 2021-12-21 22:15:08 +03:00
Donald Zou
66fc7cd91d
Merge pull request #112 from reafian/main
Added MTU and PersistentKeepalive to QR code and download files
2021-12-21 14:12:42 -05:00
Donald Zou
c11d4f01b1
Merge pull request #114 from donaldzou/all-contributors/add-marneu
docs: add marneu as a contributor for code
2021-12-21 13:54:03 -05:00
Donald Zou
a8f498f292
Merge pull request #113 from donaldzou/marneu-main
Marneu main
2021-12-21 13:53:51 -05:00
allcontributors[bot]
6854e2275f
docs: update .all-contributorsrc [skip ci] 2021-12-21 18:53:40 +00:00
allcontributors[bot]
6662e79ac5
docs: update README.md [skip ci] 2021-12-21 18:53:39 +00:00
Donald Cheng Hong Zou
9e77430634 Added Slash 2021-12-21 13:52:08 -05:00
Richard Newton
b8e070824a Update get_conf.html
Added MTU and PersistentKeepalive back into QR Code.

Update dashboard.py

Added MTU and PersistentKeepalive to downloaded file.
2021-12-21 16:48:11 +00:00
Donald Cheng Hong Zou
304d4293f3 Update wgd.sh 2021-12-20 19:54:53 -05:00
Donald Zou
a03e7f5b53
Merge pull request #111 from donaldzou/marneu-main
Marneu main
2021-12-19 18:18:50 -05:00
Donald Zou
ea57c8cad4
Merge branch 'main' into marneu-main 2021-12-19 18:18:45 -05:00
Donald Cheng Hong Zou
280802cf74 Update .gitignore 2021-12-19 18:16:45 -05:00
Donald Cheng Hong Zou
fbce01d846 Update .gitignore 2021-12-19 18:15:51 -05:00
Markus Neubauer
591b60c336 Update wgd.sh
a more automated approach to systemctl
2021-12-19 18:13:15 -05:00
Markus Neubauer
78ef870d91 Update wg-dashboard.service
A more automated approach
2021-12-19 18:13:15 -05:00
Donald Zou
bc19d82aed
Merge pull request #105 from marneu/patch-1
An automated way to a systemctl unit
2021-12-19 18:07:35 -05:00
Donald Zou
79b41e1056
Update README.md 2021-12-06 14:15:22 -05:00
Markus Neubauer
805f03d231
Update .gitignore 2021-11-25 16:03:09 +01:00
Donald Zou
62acc1081f
Update README.md 2021-11-19 14:48:46 -05:00
Donald Zou
257a2c2d9f
Update README.md 2021-11-19 14:45:37 -05:00
Donald Zou
ed9b05cdf9
Update README.md 2021-11-19 14:44:40 -05:00
Donald Zou
2cc6fbd643
Update README.md 2021-11-10 11:40:46 -05:00
Galonza Peter
bdfc260dd2 fixed 2021-10-24 13:32:21 +03:00
Galonza Peter
7ad65956c9 fixed, if dir is exists 2021-10-24 12:45:08 +03:00
Galonza Peter
b3dc60b7ca fixed check ipv6 dns 2021-10-24 12:05:14 +03:00
Galonza Peter
bed08109fa not needed 2021-10-24 02:10:20 +03:00
Galonza Peter
06cedec090 mistake 2021-10-24 01:58:59 +03:00
Galonza Peter
1d2c468d03 fixed, when database does not create, if no directory 2021-10-24 01:51:04 +03:00
Galonza Peter
e84616f5f5 added the ability to change the path for files to be saved 2021-10-24 00:56:34 +03:00
Galonza Peter
caa9a90476 added dual-stack 2021-10-17 22:55:08 +03:00
Galonza Peter
62be683dd8 fixed search ipv6 in the string with comma 2021-10-17 21:13:18 +03:00
Galonza Peter
ffa63b3f82 completed todo. Added IPv6 2021-10-17 20:22:27 +03:00
Galonza Peter
c5a7788394 optimized pattern 2021-10-17 20:01:16 +03:00
Donald Zou
99c42ff2c1
Merge pull request #90 from pike00/pike00-update-readme
Updated README to include username/password
2021-10-14 10:14:38 -04:00
Will Pike
fd2b7bb917
Updated README to include username/password
Updated Installation instructions to include default username/password in step 6 on login. It is located in the 'Dashboard Configuration' section, however for readability/ease of setting up the server, I added the default login to the install instructions.
2021-10-14 10:10:17 -04:00
Donald Cheng Hong Zou
922a494df0 Finished 2021-09-09 12:50:38 -04:00
Donald Cheng Hong Zou
c478ec0095 Update README.md 2021-09-09 12:45:09 -04:00
Donald Cheng Hong Zou
3abbe17910 Naming changed 2021-09-09 12:43:49 -04:00
Donald Zou
349076599f
Merge pull request #80 from ikidd/patch-1
Fixed service unit file spelling error
2021-09-09 12:35:44 -04:00
ikidd
92d299507f
Fixed service unit file spelling error 2021-09-08 20:36:53 -06:00
Donald Cheng Hong Zou
6f2d61e918 Update README.md 2021-09-08 22:02:33 -04:00
Donald Cheng Hong Zou
ed13babf6a Merge branch 'main' of https://github.com/donaldzou/Wireguard-Dashboard into main 2021-09-08 22:01:01 -04:00
Donald Cheng Hong Zou
80db82eb93 Update dashboard.py 2021-09-08 22:00:53 -04:00
Donald Zou
8d20334d6e
Update README.md 2021-09-08 21:59:15 -04:00
Donald Zou
03a95ad018
Merge pull request #79 from donaldzou/v2.3.1
Update README.md
2021-09-08 21:58:02 -04:00
Donald Cheng Hong Zou
aa59cc8af0 Update README.md 2021-09-08 21:57:50 -04:00
Donald Zou
80d63c2c89
Merge pull request #78 from donaldzou/v2.3.1
Changed dashboard naming to WGDashboard
2021-09-08 21:56:48 -04:00
Donald Cheng Hong Zou
03a4acd72b Changed dashboard naming to WGDashboard 2021-09-08 21:56:31 -04:00
Donald Cheng Hong Zou
53118cf660 Merge branch 'main' of https://github.com/donaldzou/Wireguard-Dashboard into main 2021-09-08 16:58:40 -04:00
Donald Cheng Hong Zou
16b1baf81e Update README.md 2021-09-08 16:58:36 -04:00
Donald Zou
960e0d0965
Update README.md 2021-09-08 14:50:26 -04:00
Donald Zou
8f41222e43
Merge pull request #77 from donaldzou/v2.3
Update README.md
2021-09-08 12:43:09 -04:00
Donald Cheng Hong Zou
e7bc447166 Update README.md 2021-09-08 12:42:50 -04:00
Donald Zou
1736359615
Merge pull request #76 from donaldzou/v2.3
V2.3
2021-09-08 12:42:11 -04:00
Donald Cheng Hong Zou
58784b1e22 v2.3 Final Commit 2021-09-08 12:39:25 -04:00
Donald Zou
07f2bfd279
Merge pull request #75 from donaldzou/all-contributors/add-davejlong
docs: add davejlong as a contributor for code
2021-09-08 11:24:04 -04:00
allcontributors[bot]
6d62db2890
docs: update .all-contributorsrc [skip ci] 2021-09-08 15:23:38 +00:00
allcontributors[bot]
a1b23c4aab
docs: update README.md [skip ci] 2021-09-08 15:23:37 +00:00
Donald Zou
e272a096da
Merge pull request #74 from donaldzou/all-contributors/add-reafian
docs: add reafian as a contributor for code
2021-09-05 16:38:57 -04:00
allcontributors[bot]
b8ca24c5bf
docs: update .all-contributorsrc [skip ci] 2021-09-05 20:38:34 +00:00
allcontributors[bot]
a05d09f0de
docs: update README.md [skip ci] 2021-09-05 20:38:33 +00:00
Donald Zou
1807a79c4f
Create FUNDING.yml 2021-09-04 17:16:31 -04:00
Donald Cheng Hong Zou
77f6826af9 Adjusted UI and edit readme 2021-09-03 17:32:51 -04:00
Donald Cheng Hong Zou
7e39eedf35 Update wgd.sh 2021-09-03 14:40:57 -04:00
Donald Cheng Hong Zou
0b4b48ceae Update wgd.sh 2021-09-03 14:30:13 -04:00
Donald Cheng Hong Zou
dad931e898 Update wgd.sh 2021-09-03 14:26:27 -04:00
Donald Cheng Hong Zou
2e387730cb Update wgd.sh 2021-09-03 14:26:05 -04:00
Donald Cheng Hong Zou
c9b6775793 Update wgd.sh 2021-09-03 14:24:38 -04:00
Donald Cheng Hong Zou
a6eaf30c2b Update wgd.sh 2021-09-03 14:24:14 -04:00
Donald Cheng Hong Zou
6f91d199d8 Update wgd.sh 2021-09-03 14:23:08 -04:00
Donald Cheng Hong Zou
7ea486307a Update wgd.sh 2021-09-03 14:22:14 -04:00
Donald Cheng Hong Zou
37d254c827 Update wgd.sh 2021-09-03 13:55:41 -04:00
Donald Cheng Hong Zou
b4014eb317 Update wgd.sh 2021-09-03 13:55:03 -04:00
Donald Cheng Hong Zou
c7824fa184 Update wgd.sh 2021-09-03 13:52:23 -04:00
Donald Cheng Hong Zou
13c5bd45f9 Update wgd.sh 2021-09-02 22:52:22 -04:00
Donald Cheng Hong Zou
465d102bd0 Update wgd.sh 2021-09-02 22:52:01 -04:00
Donald Cheng Hong Zou
93007cd56c Update wgd.sh 2021-09-02 22:27:05 -04:00
Donald Cheng Hong Zou
8367576dc8 Update wgd.sh 2021-09-02 22:24:40 -04:00
Donald Cheng Hong Zou
dbc06145b3 Update wgd.sh 2021-09-02 22:24:07 -04:00
Donald Cheng Hong Zou
4efcf0e7c8 Update wgd.sh 2021-09-02 22:13:00 -04:00
Donald Cheng Hong Zou
0a4bbc1106 Update wgd.sh 2021-09-02 22:09:06 -04:00
Donald Cheng Hong Zou
b08c1f6699 Updated requirement.txt and wgd.sh 2021-09-02 21:56:50 -04:00
Donald Cheng Hong Zou
6828b905ef Added checking if peers removed directly from config file by not from dashboard, and fixed DNS did not get check from editing peers 2021-08-24 21:04:01 -04:00
Donald Zou
f72b405f6d
Merge pull request #64 from Kofl/patch-1
Update typo3 fix
2021-08-24 20:19:22 -04:00
Donald Zou
27ae99864c
Merge pull request #71 from donaldzou/v2.2.2
v2.2.2 Merge
2021-08-24 20:16:21 -04:00
Donald Cheng Hong Zou
82ba15ba5a Small fix on HTML files 2021-08-24 20:15:28 -04:00
Kofl
af01db7bc9
Update typo3 fix
TOTAL RECIEVED replaced with TOTAL RECEIVED
2021-08-18 21:46:06 +02:00
Donald Cheng Hong Zou
6ec0a65d0c Update README.md 2021-08-16 15:32:14 -04:00
Donald Zou
c32ccfc9ed
Merge pull request #51 from donaldzou/v2.2.1
V2.2.1
2021-08-16 15:29:49 -04:00
Donald Cheng Hong Zou
ef818388c8 Update dashboard.py 2021-08-16 15:28:43 -04:00
Donald Cheng Hong Zou
f5aa45a3e1 Update README.md 2021-08-16 15:27:10 -04:00
Donald Cheng Hong Zou
b7a047a743 Bug fixed 2021-08-16 15:26:15 -04:00
Donald Zou
05ec985453
Update README.md 2021-08-16 12:23:56 -04:00
Donald Cheng Hong Zou
88ed9c3e79 Update README.md 2021-08-15 02:23:35 -04:00
Donald Zou
3fb03c8dfe
Update README.md 2021-08-15 00:16:36 -04:00
Donald Zou
ff304027cd
Merge pull request #46 from donaldzou/v2.2-beta
V2.2 pull request
2021-08-14 23:57:07 -04:00
Donald Cheng Hong Zou
3140d46c94 Finalizing the documentation 2021-08-14 23:43:30 -04:00
Donald Cheng Hong Zou
9d476af384 v2.2beta almost done!!!!! 2021-08-14 23:30:05 -04:00
Donald Cheng Hong Zou
0d380672f3 v2.2 beta 4 2021-08-14 17:13:16 -04:00
Donald Cheng Hong Zou
e2fb8dca5b Update README.md 2021-08-06 00:08:30 -04:00
Donald Cheng Hong Zou
eaba4c90c5 Edit Readme 2021-08-06 00:00:32 -04:00
Donald Cheng Hong Zou
b4ca7373f3 Update Readme 2021-08-05 23:47:18 -04:00
Donald Cheng Hong Zou
905c068ed5 v2.2-beta4
Finished testing the QR code function and finish debugging the peer file download function.
2021-08-05 23:15:50 -04:00
Donald Cheng Hong Zou
02886dd420 Remove public and private key txt 2021-08-05 01:39:32 -04:00
Donald Cheng Hong Zou
5bf7754d6c Update README.md 2021-08-05 01:21:44 -04:00
Donald Cheng Hong Zou
7a0a3055c4 Update README.md 2021-08-05 01:16:22 -04:00
Donald Cheng Hong Zou
bf73efb3b4 Update README.md 2021-08-05 01:15:17 -04:00
Donald Cheng Hong Zou
b4da212158 Update README.md 2021-08-05 01:07:10 -04:00
Donald Cheng Hong Zou
4a04d42600 v2.2-beta3
Finished QR code function and starting to test.
2021-08-05 00:45:15 -04:00
Donald Cheng Hong Zou
42bbfbe538 v2.2-beta update 2021-08-03 18:45:40 -04:00
Donald Cheng Hong Zou
31ec2430c4 Update README.md 2021-08-03 18:06:43 -04:00
Donald Cheng Hong Zou
f0b56c9f1d Update README.md 2021-08-03 18:06:22 -04:00
Donald Zou
6f9f01c991
Update README.md 2021-07-12 16:35:07 -04:00
Donald Cheng Hong Zou
b822ccb19d Update README.md 2021-07-11 13:07:27 -04:00
Donald Zou
dcb11671f3
Update README.md 2021-07-11 12:49:58 -04:00
Donald Zou
282599d36f
Update README.md 2021-07-05 16:09:02 -04:00
Donald Zou
f11acdc68f
Update README.md 2021-07-05 15:35:23 -04:00
Donald Zou
971e127cfd
Update README.md 2021-07-03 10:30:54 -04:00
Donald Zou
9b2c59d529
Delete wg0.conf 2021-07-02 14:35:34 -04:00
Donald Zou
14dc049a66
Update README.md 2021-07-02 14:31:33 -04:00
Donald Zou
d3d0e7c615
Merge pull request #24 from donaldzou/v2.1-beta
v2.1 Merge
2021-07-02 13:28:36 -04:00
Donald Zou
89423ccb8b
Merge branch 'main' into v2.1-beta 2021-07-02 13:28:29 -04:00
Donald Cheng Hong Zou
746f31f70c Update README.md 2021-07-02 13:25:35 -04:00
Donald Cheng Hong Zou
3aa9eab2bd Commit June 2 2021-07-02 13:23:04 -04:00
Donald Zou
1bcc8fed5e
Update README.md 2021-07-02 12:00:12 -04:00
Donald Zou
1213a030e3
Update README.md 2021-05-13 19:54:37 -04:00
Donald Zou
3b2344b477
Delete .github/workflows directory 2021-05-13 19:51:54 -04:00
Donald Zou
c53b0fe2d4
Create main.yml 2021-05-13 19:38:22 -04:00
Donald Cheng Hong Zou
0a92269456 v2.0-beta-6 Commit 2021-05-13 18:47:59 -04:00
Donald Cheng Hong Zou
1cb8906893 v2.0-beta-6 Commit 2021-05-13 18:21:10 -04:00
Donald Zou
db05ff5e98
Update README.md 2021-05-08 12:35:22 -04:00
296 changed files with 39437 additions and 1998 deletions

View File

@ -1,34 +0,0 @@
{
"files": [
"README.md"
],
"imageSize": 100,
"commit": false,
"contributors": [
{
"login": "antonioag95",
"name": "antonioag95",
"avatar_url": "https://avatars.githubusercontent.com/u/30556866?v=4",
"profile": "https://github.com/antonioag95",
"contributions": [
"test",
"code"
]
},
{
"login": "tonjo",
"name": "tonjo",
"avatar_url": "https://avatars.githubusercontent.com/u/4726289?v=4",
"profile": "https://github.com/tonjo",
"contributions": [
"code"
]
}
],
"contributorsPerLine": 7,
"projectName": "wireguard-dashboard",
"projectOwner": "donaldzou",
"repoType": "github",
"repoHost": "https://github.com",
"skipCi": true
}

4
.github/FUNDING.yml vendored Normal file
View File

@ -0,0 +1,4 @@
# These are supported funding model platforms
github: [donaldzou]
patreon: DonaldDonnyZou

71
.github/workflows/codeql-analyze.yaml vendored Normal file
View File

@ -0,0 +1,71 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"
on:
workflow_dispatch:
push:
branches: [ main ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ main ]
schedule:
- cron: '30 5 * * 4'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'javascript', 'python' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Learn more about CodeQL language support at https://git.io/codeql-language-support
steps:
- name: Checkout repository
uses: actions/checkout@v3
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v3
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3

105
.github/workflows/docker.yml vendored Normal file
View File

@ -0,0 +1,105 @@
name: Docker Build and Push
on:
workflow_dispatch:
push:
branches:
- 'main'
tags:
- '*'
release:
types: [ published ]
env:
DOCKERHUB_PREFIX: docker.io
GITHUB_CONTAINER_PREFIX: ghcr.io
DOCKER_IMAGE: donaldzou/wgdashboard
jobs:
docker_build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
registry: ${{ env.DOCKERHUB_PREFIX }}
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_PASSWORD }}
- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ${{ env.GITHUB_CONTAINER_PREFIX }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: |
- linux/amd64
- linux/arm64
- linux/arm/v7
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Docker meta by docs https://github.com/docker/metadata-action
id: meta
uses: docker/metadata-action@v5
with:
images: |
${{ env.DOCKERHUB_PREFIX }}/${{ env.DOCKER_IMAGE }}
${{ env.GITHUB_CONTAINER_PREFIX }}/${{ env.DOCKER_IMAGE }}
tags: |
type=ref,event=branch
type=ref,event=tag
- name: Build and export (multi-arch)
uses: docker/build-push-action@v6
with:
context: .
file: ./docker/Dockerfile
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
platforms: linux/amd64,linux/arm64,linux/arm/v7
docker_scan:
if: ${{ github.event_name != 'pull_request' }}
runs-on: ubuntu-latest
needs: docker_build
steps:
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
registry: ${{ env.DOCKERHUB_PREFIX }}
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_PASSWORD }}
- name: Docker Scout CVEs
uses: docker/scout-action@v1
with:
command: cves
image: ${{ env.GITHUB_CONTAINER_PREFIX }}/${{ env.DOCKER_IMAGE }}:main
only-severities: critical,high
only-fixed: true
write-comment: true
github-token: ${{ secrets.GITHUB_TOKEN }}
exit-code: true
- name: Docker Scout Compare
uses: docker/scout-action@v1
with:
command: compare
# Set to Github for maximum compat
image: ${{ env.GITHUB_CONTAINER_PREFIX }}/${{ env.DOCKER_IMAGE }}:main
to: ${{ env.GITHUB_CONTAINER_PREFIX }}/${{ env.DOCKER_IMAGE }}:latest
only-severities: critical,high
ignore-unchanged: true
github-token: ${{ secrets.GITHUB_TOKEN }}

26
.github/workflows/stale.yml vendored Normal file
View File

@ -0,0 +1,26 @@
# This workflow warns and then closes issues and PRs that have had no activity for a specified amount of time.
#
# You can adjust the behavior by modifying this file.
# For more information, see:
# https://github.com/actions/stale
name: Mark stale issues and pull requests
on:
workflow_dispatch:
schedule:
- cron: '00 08 * * *'
jobs:
stale:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- uses: actions/stale@v9
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: 'This issue has not been updated for 20 days'
stale-pr-message: 'This pull request has not been updated for 20 days'
stale-issue-label: 'stale'
exempt-issue-labels: 'enhancement,ongoing'
days-before-stale: 20

55
.gitignore vendored
View File

@ -1,12 +1,53 @@
.vscode/sftp.json
src/.vscode/sftp.json
.vscode
.DS_Store
wg.db
*.json
.idea
src/test.py
tmp
src/db
__pycache__
src/wg-dashboard.ini
src/test.py
*.db
src/wg-dashboard.ini
src/static/pic.xd
*.conf
private_key.txt
public_key.txt
venv/**
log/**
release/*
src/db/wgdashboard.db
.jshintrc
node_modules/**
*/proxy.js
src/static/app/proxy.js
.secrets
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
.DS_Store
dist-ssr
coverage
*.local
/cypress/videos/
/cypress/screenshots/
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
*.tsbuildinfo
.vite/*

267
README.md
View File

@ -1,202 +1,87 @@
<hr>
<p align=center>I'm looking for someone that have experiences on migrating this project to a Docker app, with a complete solution ;) If you know how please <a href="https://github.com/donaldzou/wireguard-dashboard/issues/20">comment in here</a>.</p>
<hr>
> [!TIP]
> 🎉 I'm excited to announce that WGDashboard is officially listed on DigitalOcean's Marketplace! For more information, please visit [Host WGDashboard & WireGuard with DigitalOcean](https://donaldzou.dev/WGDashboard-Documentation/host-wgdashboard-wireguard-with-digitalocean.html) for more information!
> [!NOTE]
> **Help Wanted 🎉**: Localizing WGDashboard to other languages! If you're willing to help, please visit https://github.com/donaldzou/WGDashboard/issues/397. Many thanks!
![](https://wgdashboard-resources.tor1.cdn.digitaloceanspaces.com/Posters/Banner.png)
<p align="center">
<img src="https://raw.githubusercontent.com/donaldzou/wireguard-dashboard/main/img/Group%202.png" width="128">
<img alt="WGDashboard" src="https://wgdashboard-resources.tor1.cdn.digitaloceanspaces.com/Logos/Logo-2-Rounded-512x512.png" width="128">
</p>
<h1 align="center">
<a href="https://wgdashboard.dev">WGDashboard</a>
</h1>
<p align="center">
<img src="https://img.shields.io/badge/Made_With-Python-blue?style=for-the-badge&logo=python&logoColor=ffffff">
<img src="https://img.shields.io/badge/Made_With-Vue.js-42b883?style=for-the-badge&logo=vuedotjs&logoColor=ffffff">
<img src="https://img.shields.io/badge/License-Apache_License_2.0-D22128?style=for-the-badge&logo=apache&logoColor=ffffff">
</p>
<h1 align="center"> Wireguard Dashboard</h1>
<p align="center">
<img src="http://ForTheBadge.com/images/badges/made-with-python.svg">
<a href="https://github.com/donaldzou/wireguard-dashboard/releases/latest"><img src="https://img.shields.io/github/v/release/donaldzou/wireguard-dashboard?style=for-the-badge"></a>
<a href="https://wakatime.com/badge/github/donaldzou/WGDashboard"><img src="https://wakatime.com/badge/github/donaldzou/WGDashboard.svg?style=for-the-badge" alt="wakatime"></a>
<a href="https://hitscounter.dev"><img src="https://hitscounter.dev/api/hit?url=https%3A%2F%2Fgithub.com%2Fdonaldzou%2FWGDashboard&label=Visitor&icon=github&color=%230a58ca&style=for-the-badge"></a>
<img src="https://img.shields.io/docker/pulls/donaldzou/wgdashboard?logo=docker&label=Docker%20Image%20Pulls&labelColor=ffffff&style=for-the-badge">
</p>
<p align="center"><b>This project is supported by</b></p>
<p align="center">
<a href="https://m.do.co/c/a84cb9aac585">
<img src="https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/SVG/DO_Logo_horizontal_blue.svg" width="201px">
</a>
</p>
<p align="center">Monitoring WireGuard is not convenient, in most case, you'll need to login to your server and type <code>wg show</code>. That's why this project is being created, to view and manage all WireGuard configurations in a easy way.</p>
<p align="center">With all these awesome features, while keeping it <b>easy to install and use</b></p>
<p align="center"><b><i>This project is not affiliate to the official WireGuard Project</i></b></p>
<h3 align="center">Looking for help or want to chat about this project?</h4>
<p align="center">
You can reach out at
</p>
<p align="center">
<a href="https://github.com/donaldzou/wireguard-dashboard/releases/latest"><img src="https://img.shields.io/github/v/release/donaldzou/wireguard-dashboard"></a>
<a align="center" href="https://discord.gg/72TwzjeuWm" target="_blank"><img src="https://img.shields.io/discord/1276818723637956628?labelColor=ffffff&style=for-the-badge&logo=discord&label=Discord"></a>
<a align="center" href="https://www.reddit.com/r/WGDashboard/" target="_blank"><img src="https://img.shields.io/badge/Reddit-r%2FWGDashboard-FF4500?style=for-the-badge&logo=reddit"></a>
<a align="center" href="https://app.element.io/#/room/#wgd:matrix.org" target="_blank"><img src="https://img.shields.io/badge/Matrix_Chatroom-%23WGD-000000?style=for-the-badge&logo=matrix"></a>
</p>
<h3 align="center">Want to support this project?</h4>
<p align="center">
You can support via <br>
</p>
<p align="center">
<a align="center" href="https://github.com/sponsors/donaldzou" target="_blank"><img src="https://img.shields.io/badge/GitHub%20Sponsor-2e9a40?style=for-the-badge&logo=github"></a>
<a align="center" href="https://buymeacoffee.com/donaldzou" target="_blank"><img src="https://img.shields.io/badge/Buy%20me%20a%20coffee-ffdd00?style=for-the-badge&logo=buymeacoffee&logoColor=000000"></a>
<a align="center" href="https://patreon.com/c/DonaldDonnyZou/membership" target="_blank"><img src="https://img.shields.io/badge/Patreon-000000?style=for-the-badge&logo=patreon&logoColor=ffffff"></a>
</p>
<p align="center">Monitoring WireGuard is not convinient, need to login into server and type <code>wg show</code>. That's why this platform is being created, to view all configurations and manage them in a easier way.</p>
## 📣 What's New: Version 2.0.1
- Added **Ping** and **Traceroute** tool
- Adjusted the calculation of data usage on each peers
- Added refresh interval of the dashboard
<p align="center">
<b>or, visit our merch store and support us by purchasing a merch for only $USD 17.00 (Including shipping worldwide & duties)</b>
</p>
<p align="center">
<a align="center" href="https://merch.wgdashboard.dev" target="_blank"><img src="https://img.shields.io/badge/Merch%20from%20WGDashboard-926183?style=for-the-badge"></a>
</p>
<hr>
### ⚠️ **Update from v1.x.x**
1. Stop the dashboard if it is running.
2. You can use `git pull https://github.com/donaldzou/Wireguard-Dashboard.git v2.0.1` to get the new update inside `Wireguard-Dashboard` directory.
3. Proceed **Step 2 & 3** in the [Install](#-install) step down below.
## 💡 Features
- Add peers for each WireGuard configuration
- Manage peer
- Delete peers
- And many more coming up! Welcome to contribute to this project!
## 📝 Requirement
- Ubuntu or Debian based OS, other might work, but haven't test yet. Tested on the following OS:
- [x] Ubuntu 18.04.1 LTS
- [ ] If you have tested on other OS and it works perfectly please provide it to me!
- ‼️ Make sure you have **Wireguard** and **Wireguard-Tools (`wg-quick`)** installed.‼️ <a href="https://www.wireguard.com/install/">How to install?</a>
- Configuration files under **/etc/wireguard**
- **Note: For peers, `PublicKey` & `AllowedIPs` is required.**
- Python 3.7+ & Pip3
## 🛠 Install
**1. Download Wireguard Dashboard**
```shell
git clone -b v2.0.1 https://github.com/donaldzou/Wireguard-Dashboard.git
```
**2. Install Python Dependencies**
```shell
cd Wireguard-Dashboard/src
python3 -m pip install -r requirements.txt
```
**3. Install & run Wireguard Dashboard**
```shell
chmod u+x wgd.sh
./wgd.sh start
```
Access your server with port `10086` ! e.g (http://your_server_ip:10086), continue to read to on how to change port and ip that dashboard is running with.
## 🪜 Usage
**1. Start/Stop/Restart Wireguard Dashboard**
```shell
cd Wireguard-Dashboard/src
./wgd.sh start # Start the dashboard in background
./wgd.sh debug # Start the dashboard in foreground (debug mode)
./wgd.sh stop # Stop the dashboard
./wgd.sh restart # Restart the dasboard
./wgd.sh update # Update the dashboard
```
⚠️ **For first time user please also read the next section.**
## ✂️ Dashboard Configuration
Since version 2.0, Wireguard Dashboard will be using a configuration file called `wg-dashboard.ini`, (It will generate automatically after first time running the dashboard). More options will include in future versions, and for now it included the following config:
### `[Account]`
`username` - Username (Default: `admin`)
`password` - Password, will be hash with SHA256 (Default: `admin`).
### `[Server]`
`wg_conf_path` - The path of all the Wireguard configurations (Default: `/etc/wireguard`)
`app_ip` - IP address the flask will run with (Default: `0.0.0.0`)
`app_port` - Port the flask will run with (Default: `10086`)
`auth_req` - Does the dashboard need authentication (Default: `true`)
- If `auth_req = false` , user will not be access the **Setting** tab due to security consideration. **User can only change the file directly in system**.
`version` - Dashboard Version
All these settings will be able to configure within the dashboard in **Settings** on the sidebar, without changing the actual file. **Except `version` and `auth_req` due to security consideration.**
## ❓ How to update the dashboard?
```shell
cd wireguard-dashboard
sudo sh wgd.sh update # Perform update
sudo sh wgd.sh start # Start dashboard
```
## 🔍 Screenshot
![Index Image](https://github.com/donaldzou/Wireguard-Dashboard/raw/main/src/static/index.png)
<p align=center>Index Page</p>
![Signin Image](https://github.com/donaldzou/Wireguard-Dashboard/raw/main/src/static/signin.png)
<p align=center>Signin Page</p>
![Configuration Image](https://github.com/donaldzou/Wireguard-Dashboard/raw/main/src/static/configuration.png)
<p align=center>Configuration Page</p>
![Settings Image](https://github.com/donaldzou/Wireguard-Dashboard/raw/main/src/static/settings.png)
<p align=center>Settings Page</p>
## 🛒 Dependencies
- CSS/JS
- [Bootstrap](https://getbootstrap.com/docs/4.6/getting-started/introduction/) `v4.6.0`
- [Bootstrap Icon](https://icons.getbootstrap.com) `v1.4.0`
- [jQuery](https://jquery.com) `v3.5.1`
- Python
- [Flask](https://pypi.org/project/Flask/) `v1.1.2`
- [TinyDB](https://pypi.org/project/tinydb/) `v4.3.0`
- [ifcfg](https://pypi.org/project/ifcfg/) `v0.21`
- [icmplib](https://pypi.org/project/icmplib/) `v2.1.1`
## Contributors ✨
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-2-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tr>
<td align="center"><a href="https://github.com/antonioag95"><img src="https://avatars.githubusercontent.com/u/30556866?v=4?s=100" width="100px;" alt=""/><br /><sub><b>antonioag95</b></sub></a><br /><a href="https://github.com/donaldzou/wireguard-dashboard/commits?author=antonioag95" title="Tests">⚠️</a> <a href="https://github.com/donaldzou/wireguard-dashboard/commits?author=antonioag95" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/tonjo"><img src="https://avatars.githubusercontent.com/u/4726289?v=4?s=100" width="100px;" alt=""/><br /><sub><b>tonjo</b></sub></a><br /><a href="https://github.com/donaldzou/wireguard-dashboard/commits?author=tonjo" title="Code">💻</a></td>
</tr>
</table>
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
<h4 align="center">
for more information, visit our
</h4>
<h1 align="center">
<a href="https://wgdashboard.dev">Official Website</a>
</h1>
# Screenshots
<img src="https://wgdashboard-resources.tor1.cdn.digitaloceanspaces.com/Documentation%20Images/sign-in.png" alt=""/>
<img src="https://wgdashboard-resources.tor1.cdn.digitaloceanspaces.com/Documentation%20Images/cross-server.png" alt=""/>
<img src="https://wgdashboard-resources.tor1.cdn.digitaloceanspaces.com/Documentation%20Images/index.png" alt=""/>
<img src="https://wgdashboard-resources.tor1.cdn.digitaloceanspaces.com/Documentation%20Images/new-configuration.png" alt="" />
<img src="https://wgdashboard-resources.tor1.cdn.digitaloceanspaces.com/Documentation%20Images/settings.png" alt="" />
<img src="https://wgdashboard-resources.tor1.cdn.digitaloceanspaces.com/Documentation%20Images/light-dark.png" alt="" />
<img src="https://wgdashboard-resources.tor1.cdn.digitaloceanspaces.com/Documentation%20Images/configuration.png" alt=""/>
<img src="https://wgdashboard-resources.tor1.cdn.digitaloceanspaces.com/Documentation%20Images/add-peers.png" alt="" />
<img src="https://wgdashboard-resources.tor1.cdn.digitaloceanspaces.com/Documentation%20Images/ping.png" alt=""/>
<img src="https://wgdashboard-resources.tor1.cdn.digitaloceanspaces.com/Documentation%20Images/traceroute.png" alt=""/>

10
SECURITY.md Normal file
View File

@ -0,0 +1,10 @@
# Security Policy
## Supported Versions
| Version | Supported |
| ------- | ------------------ |
| 5.1.x | :white_check_mark: |
| 5.0.x | :x: |
| 4.0.x | :white_check_mark: |
| < 4.0 | :x: |

70
docker/Dockerfile Normal file
View File

@ -0,0 +1,70 @@
FROM golang:1.24 AS awg
RUN git clone https://github.com/amnezia-vpn/amneziawg-go /awg
WORKDIR /awg
RUN go mod download && \
go mod verify && \
go build -ldflags '-linkmode external -extldflags "-fno-PIC -static"' -v -o /usr/bin
FROM alpine:latest
LABEL maintainer="dselen@nerthus.nl"
RUN apk update && apk add \
iproute2 iptables bash curl wget unzip procps sudo \
tzdata wireguard-tools python3 py3-psutil py3-bcrypt openresolv \
&& cd /usr/bin/ \
&& wget $(curl -s https://api.github.com/repos/amnezia-vpn/amneziawg-tools/releases/latest | grep 'alpine' | cut -d : -f 2,3 | tr -d '", ' | tail -n 1) \
&& unzip -j alpine-3.19-amneziawg-tools.zip \
&& chmod +x /usr/bin/awg /usr/bin/awg-quick \
&& rm alpine-3.19-amneziawg-tools.zip
COPY --from=awg /usr/bin/amneziawg-go /usr/bin/amneziawg-go
# Declaring environment variables, change Peernet to an address you like, standard is a 24 bit subnet.
ARG wg_net="10.0.0.1" \
wg_port="51820"
# Following ENV variables are changable on container runtime because /entrypoint.sh handles that. See compose.yaml for more info.
ENV TZ="Europe/Amsterdam" \
global_dns="9.9.9.9" \
wgd_port="10086" \
public_ip=""
# Using WGDASH -- like wg_net functionally as a ARG command. But it is needed in entrypoint.sh so it needs to be exported as environment variable.
ENV WGDASH=/opt/wgdashboard
# Doing WireGuard Dashboard installation measures. Modify the git clone command to get the preferred version, with a specific branch for example.
RUN mkdir /data \
&& mkdir /configs \
&& mkdir -p ${WGDASH}/src \
&& mkdir -p /etc/amnezia/amneziawg
COPY ./src ${WGDASH}/src
# Generate basic WireGuard interface. Echoing the WireGuard interface config for readability, adjust if you want it for efficiency.
# Also setting the pipefail option, verbose: https://github.com/hadolint/hadolint/wiki/DL4006.
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN out_adapt=$(ip -o -4 route show to default | awk '{print $NF}') \
&& echo -e "[Interface]\n\
Address = ${wg_net}/24\n\
PrivateKey =\n\
PostUp = iptables -t nat -I POSTROUTING 1 -s ${wg_net}/24 -o ${out_adapt} -j MASQUERADE\n\
PostUp = iptables -I FORWARD -i wg0 -o wg0 -j DROP\n\
PreDown = iptables -t nat -D POSTROUTING -s ${wg_net}/24 -o ${out_adapt} -j MASQUERADE\n\
PreDown = iptables -D FORWARD -i wg0 -o wg0 -j DROP\n\
ListenPort = ${wg_port}\n\
SaveConfig = true\n\
DNS = ${global_dns}" > /configs/wg0.conf.template \
&& chmod 600 /configs/wg0.conf.template
# Defining a way for Docker to check the health of the container. In this case: checking the gunicorn process.
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
CMD sh -c 'pgrep gunicorn > /dev/null && pgrep tail > /dev/null' || exit 1
# Copy the basic entrypoint.sh script.
COPY ./docker/entrypoint.sh /entrypoint.sh
# Exposing the default WireGuard Dashboard port for web access.
EXPOSE 10086
WORKDIR $WGDASH
ENTRYPOINT ["/bin/bash", "/entrypoint.sh"]

197
docker/README.md Normal file
View File

@ -0,0 +1,197 @@
# WGDashboard Docker Explanation:
Author: @DaanSelen<br>
This document delves into how the WGDashboard Docker container has been built.<br>
Of course there are two stages (simply said), one before run-time and one at/after run-time.<br>
The `Dockerfile` describes how the container image is made, and the `entrypoint.sh` is executed after running the container. <br>
In this example, WireGuard is integrated into the container itself, so it should be a run-and-go(/out-of-the-box).<br>
For more details on the source-code specific to this Docker image, refer to the source files, they have lots of comments.
<br>
<img
src="https://wgdashboard-resources.tor1.cdn.digitaloceanspaces.com/Logos/Logo-2-Rounded-512x512.png"
alt="WG-Dashboard Logo"
title="WG-Dashboard Logo"
style="display: block; margin: 0 auto;"
width="150"
height="150"
/>
<br>
To get the container running you either pull the image from the repository, (docker.io)`donaldzou/wgdashboard:latest`.<br>
From there either use the environment variables describe below as parameters or use the Docker Compose file: `compose.yaml`.<br>
Be careful, the default generated WireGuard configuration file uses port 51820/udp. So use this port if you want to use it out of the box.<br>
Otherwise edit the configuration file in `/etc/wireguard/wg0.conf`.
# WGDashboard: 🐳 Docker Deployment Guide
To run the container, you can either pull the image from Docker Hub or build it yourself. The image is available at:
```
docker.io/donaldzou/wgdashboard:latest
```
> `docker.io` is in most cases automatically resolved by the Docker application.
### 🔧 Quick Docker Run Command
Here's an example to get it up and running quickly:
```bash
docker run -d \
--name wgdashboard \
--restart unless-stopped \
-p 10086:10086/tcp \
-p 51820:51820/udp \
--cap-add NET_ADMIN \
donaldzou/wgdashboard:latest
```
> ⚠️ The default WireGuard port is `51820/udp`. If you change this, update the `/etc/wireguard/wg0.conf` accordingly.
---
### 📦 Docker Compose Alternative
You can also use Docker Compose for easier configuration:
```yaml
services:
wgdashboard:
image: donaldzou/wgdashboard:latest
restart: unless-stopped
container_name: wgdashboard
environment:
# - tz=Europe/Amsterdam
# - global_dns=1.1.1.1
# - public_ip=YOUR_PUBLIC_IP
ports:
- 10086:10086/tcp
- 51820:51820/udp
volumes:
- conf:/etc/wireguard
- data:/data
cap_add:
- NET_ADMIN
volumes:
conf:
data:
```
> 📁 You can customize the **volume paths** on the host to fit your needs. The example above uses Docker volumes.
---
## 🔄 Updating the Container
Updating WGDashboard is currently in **alpha** stage. While the update process may work, it's still under testing.
---
## ⚙️ Environment Variables
| Variable | Accepted Values | Default | Example | Description |
|---------------|------------------------------------------|-------------------------|------------------------|-----------------------------------------------------------------------------|
| `tz` | Timezone | `Europe/Amsterdam` | `America/New_York` | Sets the container's timezone. Useful for accurate logs and scheduling. |
| `global_dns` | IPv4 and IPv6 addresses | `9.9.9.9` | `8.8.8.8`, `1.1.1.1` | Default DNS for WireGuard clients. |
| `public_ip` | Public IP address | Retrieved automatically | `253.162.134.73` | Used to generate accurate client configs. Needed if container is NATd. |
| `wgd_port` | Any port that is allowed for the process | `10086` | `443` | This port is used to set the WGDashboard web port. |
---
## 🔐 Port Forwarding Note
When using multiple WireGuard interfaces, remember to **open their respective ports** on the host.
Examples:
```yaml
# Individual mapping
- 51821:51821/udp
# Or port range
- 51820-51830:51820-51830/udp
```
> 🚨 **Security Tip:** Only expose ports you actually use.
---
## 🛠️ Building the Image Yourself
To build from source:
```bash
git clone https://github.com/donaldzou/WGDashboard.git
cd WGDashboard
docker build . -f docker/Dockerfile -t yourname/wgdashboard:latest
```
Example output:
```shell
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
yourname/wgdashboard latest c96fd96ee3b3 42 minutes ago 314MB
```
---
## 🧱 Dockerfile Overview
Here's a brief overview of the Dockerfile stages used in the image build:
### 1. **Build Tools & Go Compilation**
```Dockerfile
FROM golang:1.24 AS compiler
WORKDIR /go
RUN apt-get update && apt-get install -y ...
RUN git clone ... && make
...
```
### 2. **Binary Copy to Scratch**
```Dockerfile
FROM scratch AS bins
COPY --from=compiler /go/amneziawg-go/amneziawg-go /amneziawg-go
...
```
### 3. **Final Alpine Container Setup**
```Dockerfile
FROM alpine:latest
COPY --from=bins ...
RUN apk update && apk add --no-cache ...
COPY ./src ${WGDASH}/src
COPY ./docker/entrypoint.sh /entrypoint.sh
...
EXPOSE 10086
ENTRYPOINT ["/bin/bash", "/entrypoint.sh"]
```
---
## 🚀 Entrypoint Overview
### Major Functions:
- **`ensure_installation`**: Sets up the app, database, and Python environment.
- **`set_envvars`**: Writes `wg-dashboard.ini` and applies environment variables.
- **`start_core`**: Starts the main WGDashboard service.
- **`ensure_blocking`**: Tails the error log to keep the container process alive.
---
## ✅ Final Notes
- Use `docker logs wgdashboard` for troubleshooting.
- Access the web interface via `http://your-ip:10086` (or whichever port you specified in the compose).
- The first time run will auto-generate WireGuard keys and configs (configs are generated from the template).
## Closing remarks:
For feedback please submit an issue to the repository. Or message dselen@nerthus.nl.

23
docker/compose.yaml Normal file
View File

@ -0,0 +1,23 @@
services:
wireguard-dashboard:
image: donaldzou/wgdashboard:latest
restart: unless-stopped
container_name: wgdashboard
#environment:
#- tz= # <--- Set container timezone, default: Europe/Amsterdam.
#- public_ip= # <--- Set public IP to ensure the correct one is chosen, defaulting to the IP give by ifconfig.me.
#- wgd_port= # <--- Set the port WGDashboard will use for its web-server.
ports:
- 10086:10086/tcp
- 51820:51820/udp
volumes:
- aconf:/etc/amnezia/amneziawg
- conf:/etc/wireguard
- data:/data
cap_add:
- NET_ADMIN
volumes:
aconf:
conf:
data:

189
docker/entrypoint.sh Normal file
View File

@ -0,0 +1,189 @@
#!/bin/bash
# Path to the configuration file (exists because of previous function).
config_file="/data/wg-dashboard.ini"
trap 'stop_service' SIGTERM
stop_service() {
echo "[WGDashboard] Stopping WGDashboard..."
/bin/bash ./wgd.sh stop
exit 0
}
echo "------------------------- START ----------------------------"
echo "Starting the WireGuard Dashboard Docker container."
ensure_installation() {
# When using a custom directory to store the files, this part moves over and makes sure the installation continues.
echo "Quick-installing..."
# Make the wgd.sh script executable.
chmod +x "${WGDASH}"/src/wgd.sh
cd "${WGDASH}"/src || exit
# Github issue: https://github.com/donaldzou/WGDashboard/issues/723
echo "Checking for stale pids..."
if [[ -f ${WGDASH}/src/gunicorn.pid ]]; then
echo "Found stale pid, removing..."
rm ${WGDASH}/src/gunicorn.pid
fi
# Removing clear shell command from the wgd.sh script to enhance docker logging.
echo "Removing clear command from wgd.sh for better Docker logging."
sed -i '/clear/d' ./wgd.sh
# Create the databases directory if it does not exist yet.
if [ ! -d "/data/db" ]; then
echo "Creating database dir"
mkdir /data/db
fi
# Linking the database on the persistent directory location to where WGDashboard expects.
if [ ! -d "${WGDASH}/src/db" ]; then
ln -s /data/db "${WGDASH}/src/db"
fi
# Create the wg-dashboard.ini file if it does not exist yet.
if [ ! -f "${config_file}" ]; then
echo "Creating wg-dashboard.ini file"
touch "${config_file}"
fi
# Link the wg-dashboard.ini file from the persistent directory to where WGDashboard expects it.
if [ ! -f "${WGDASH}/src/wg-dashboard.ini" ]; then
ln -s "${config_file}" "${WGDASH}/src/wg-dashboard.ini"
fi
# Create the Python virtual environment.
python3 -m venv "${WGDASH}"/src/venv
. "${WGDASH}/src/venv/bin/activate"
# Due to this pip dependency being available as a system package we can just move it to the venv.
echo "Moving PIP dependency from ephemerality to runtime environment: psutil"
mv /usr/lib/python3.12/site-packages/psutil* "${WGDASH}"/src/venv/lib/python3.12/site-packages
# Due to this pip dependency being available as a system package we can just move it to the venv.
echo "Moving PIP dependency from ephemerality to runtime environment: bcrypt"
mv /usr/lib/python3.12/site-packages/bcrypt* "${WGDASH}"/src/venv/lib/python3.12/site-packages
# Use the bash interpreter to install WGDashboard according to the wgd.sh script.
/bin/bash ./wgd.sh install
echo "Looks like the installation succeeded. Moving on."
# This first step is to ensure the wg0.conf file exists, and if not, then its copied over from the ephemeral container storage.
# This is done so WGDashboard it works out of the box, it also sets a randomly generated private key.
if [ ! -f "/etc/wireguard/wg0.conf" ]; then
echo "Standard wg0 Configuration file not found, grabbing template."
cp -a "/configs/wg0.conf.template" "/etc/wireguard/wg0.conf"
echo "Setting a secure private key."
local privateKey
privateKey=$(wg genkey)
sed -i "s|^PrivateKey *=.*$|PrivateKey = ${privateKey}|g" /etc/wireguard/wg0.conf
echo "Done setting template."
else
echo "Existing wg0 configuration file found, using that."
fi
}
set_envvars() {
printf "\n------------- SETTING ENVIRONMENT VARIABLES ----------------\n"
# Check if the file is empty
if [ ! -s "${config_file}" ]; then
echo "Config file is empty. Creating [Peers] section."
# Create [Peers] section with initial values
{
echo "[Peers]"
echo "peer_global_dns = ${global_dns}"
echo "remote_endpoint = ${public_ip}"
echo -e "\n[Server]"
echo "app_port = ${wgd_port}"
} > "${config_file}"
else
echo "Config file is not empty, using pre-existing."
fi
echo "Verifying current variables..."
# Check and update the DNS if it has changed
current_dns=$(grep "peer_global_dns = " "${config_file}" | awk '{print $NF}')
if [ "${global_dns}" == "$current_dns" ]; then
echo "DNS is set correctly, moving on."
else
echo "Changing default DNS..."
sed -i "s/^peer_global_dns = .*/peer_global_dns = ${global_dns}/" "${config_file}"
fi
# Checking the current set public IP and changing it if it has changed.
current_public_ip=$(grep "remote_endpoint = " "${config_file}" | awk '{print $NF}')
if [ "${public_ip}" == "" ]; then
default_ip=$(curl -s ifconfig.me)
echo "Trying to fetch the Public-IP using ifconfig.me: ${default_ip}"
sed -i "s/^remote_endpoint = .*/remote_endpoint = ${default_ip}/" "${config_file}"
elif [ "${current_public_ip}" != "${public_ip}" ]; then
sed -i "s/^remote_endpoint = .*/remote_endpoint = ${public_ip}/" "${config_file}"
else
echo "Public-IP is correct, moving on."
fi
# Checking the current WGDashboard web port and changing if needed.
current_wgd_port=$(grep "app_port = " "${config_file}" | awk '{print $NF}')
if [ "${current_wgd_port}" == "${wgd_port}" ]; then
echo "Current WGD port is set correctly, moving on."
else
echo "Changing default WGD port..."
sed -i "s/^app_port = .*/app_port = ${wgd_port}/" "${config_file}"
fi
}
# === CORE SERVICES ===
start_core() {
printf "\n---------------------- STARTING CORE -----------------------\n"
# Due to some instances complaining about this, making sure its there every time.
mkdir -p /dev/net
mknod /dev/net/tun c 10 200
chmod 600 /dev/net/tun
# Actually starting WGDashboard
echo "Activating Python venv and executing the WireGuard Dashboard service."
/bin/bash ./wgd.sh start
}
ensure_blocking() {
# Wait a second before continuing, to give the python program some time to get ready.
sleep 1s
echo -e "\nEnsuring container continuation."
# Find and tail the latest error and access logs if they exist
local logdir="${WGDASH}/src/log"
latestErrLog=$(find "$logdir" -name "error_*.log" -type f -print | sort -r | head -n 1)
# Only tail the logs if they are found
if [ -n "$latestErrLog" ]; then
tail -f "$latestErrLog" &
# Wait for the tail process to end.
wait $!
else
echo "No log files found to tail. Something went wrong, exiting..."
exit 1
fi
}
# Execute functions for the WireGuard Dashboard services, then set the environment variables
ensure_installation
set_envvars
start_core
ensure_blocking

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 221 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 198 KiB

1369
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

7
package.json Normal file
View File

@ -0,0 +1,7 @@
{
"dependencies": {
"marked": "^15.0.7",
"openai": "^4.89.0",
"pinia-plugin-persistedstate": "^4.2.0"
}
}

6
qodana.yaml Normal file
View File

@ -0,0 +1,6 @@
version: "1.0"
linter: jetbrains/qodana-python:2024.3
profile:
name: qodana.recommended
include:
- name: CheckDependencyLicenses

76
src/Utilities.py Normal file
View File

@ -0,0 +1,76 @@
import re, ipaddress
import subprocess
def RegexMatch(regex, text) -> bool:
"""
Regex Match
@param regex: Regex patter
@param text: Text to match
@return: Boolean indicate if the text match the regex pattern
"""
pattern = re.compile(regex)
return pattern.search(text) is not None
def GetRemoteEndpoint() -> str:
"""
Using socket to determine default interface IP address. Thanks, @NOXICS
@return:
"""
import socket
with socket.socket(socket.AF_INET, socket.SOCK_DGRAM) as s:
s.connect(("1.1.1.1", 80)) # Connecting to a public IP
wgd_remote_endpoint = s.getsockname()[0]
return str(wgd_remote_endpoint)
def StringToBoolean(value: str):
"""
Convert string boolean to boolean
@param value: Boolean value in string came from Configuration file
@return: Boolean value
"""
return (value.strip().replace(" ", "").lower() in
("yes", "true", "t", "1", 1))
def ValidateIPAddressesWithRange(ips: str) -> bool:
s = ips.replace(" ", "").split(",")
for ip in s:
try:
ipaddress.ip_network(ip)
except ValueError as e:
return False
return True
def ValidateIPAddresses(ips) -> bool:
s = ips.replace(" ", "").split(",")
for ip in s:
try:
ipaddress.ip_address(ip)
except ValueError as e:
return False
return True
def ValidateDNSAddress(addresses) -> tuple[bool, str]:
s = addresses.replace(" ", "").split(",")
for address in s:
if not ValidateIPAddresses(address) and not RegexMatch(
r"(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z][a-z]{0,61}[a-z]", address):
return False, f"{address} does not appear to be an valid DNS address"
return True, ""
def GenerateWireguardPublicKey(privateKey: str) -> tuple[bool, str] | tuple[bool, None]:
try:
publicKey = subprocess.check_output(f"wg pubkey", input=privateKey.encode(), shell=True,
stderr=subprocess.STDOUT)
return True, publicKey.decode().strip('\n')
except subprocess.CalledProcessError:
return False, None
def GenerateWireguardPrivateKey() -> tuple[bool, str] | tuple[bool, None]:
try:
publicKey = subprocess.check_output(f"wg genkey", shell=True,
stderr=subprocess.STDOUT)
return True, publicKey.decode().strip('\n')
except subprocess.CalledProcessError:
return False, None

4
src/certbot.ini Normal file
View File

@ -0,0 +1,4 @@
authenticator = standalone
noninteractive = true
agree-tos = true
rsa-key-size = 2048

File diff suppressed because it is too large Load Diff

View File

@ -1 +0,0 @@
You can delete this later ;)

View File

@ -1,34 +0,0 @@
[Interface]
Address = 10.200.200.1/24
SaveConfig = true
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
ListenPort = 51820
PrivateKey = 8DsSMli3okgUx5frKbFQ0fMW5ZMyqyxOdOW7+g21L18=
[Peer]
#Name = 10
PublicKey = Hw2sISygeuT4eQyubDdP0CA2RJHYcpHhBOnIn6riEA0=
AllowedIPs = 10.200.200.9/32, 10.200.200.2/32
Endpoint = 142.114.220.189:58403
[Peer]
PublicKey = 0pCjuGUyXIxTmCZCoFeVtMOgZFVkU9WPGilJxLpYVAI=
AllowedIPs = 10.200.200.3/32
Endpoint = 76.67.102.20:55349
[Peer]
PublicKey = sJrgj14BfToasB5EhQfUjw2xTj3FoU/lSca9bDx+2Ww=
AllowedIPs = 10.200.200.4/32
Endpoint = 175.0.140.3:59637
[Peer]
PublicKey = IxM4gsOWugRtQ0WmFnaAYUCVquTsSqxHiE7oqisKsRQ=
AllowedIPs = 10.200.200.5/32
Endpoint = 180.152.230.148:61618
[Peer]
PublicKey = TSsTB1NPTOHfqNkcNZbJQiz+XcJ32AudypDwa5ItmBM=
AllowedIPs = 10.200.200.6/32
Endpoint = 118.250.38.191:51820

26
src/gunicorn.conf.py Normal file
View File

@ -0,0 +1,26 @@
import os.path
import dashboard, configparser
from datetime import datetime
global sqldb, cursor, DashboardConfig, WireguardConfigurations, AllPeerJobs, JobLogger
app_host, app_port = dashboard.gunicornConfig()
date = datetime.today().strftime('%Y_%m_%d_%H_%M_%S')
def post_worker_init(worker):
dashboard.startThreads()
worker_class = 'gthread'
workers = 1
threads = 1
bind = f"{app_host}:{app_port}"
daemon = True
pidfile = './gunicorn.pid'
wsgi_app = "dashboard:app"
accesslog = f"./log/access_{date}.log"
log_level = "debug"
capture_output = True
errorlog = f"./log/error_{date}.log"
pythonpath = "., ./modules"
print(f"[Gunicorn] WGDashboard w/ Gunicorn will be running on {bind}", flush=True)
print(f"[Gunicorn] Access log file is at {accesslog}", flush=True)
print(f"[Gunicorn] Error log file is at {errorlog}", flush=True)

View File

@ -0,0 +1,35 @@
"""
Dashboard Logger Class
"""
import sqlite3, os, uuid
class DashboardLogger:
def __init__(self, CONFIGURATION_PATH):
self.loggerdb = sqlite3.connect(os.path.join(CONFIGURATION_PATH, 'db', 'wgdashboard_log.db'),
isolation_level=None,
check_same_thread=False)
self.loggerdb.row_factory = sqlite3.Row
self.__createLogDatabase()
self.log(Message="WGDashboard started")
def __createLogDatabase(self):
with self.loggerdb:
loggerdbCursor = self.loggerdb.cursor()
existingTable = loggerdbCursor.execute("SELECT name from sqlite_master where type='table'").fetchall()
existingTable = [t['name'] for t in existingTable]
if "DashboardLog" not in existingTable:
loggerdbCursor.execute(
"CREATE TABLE DashboardLog (LogID VARCHAR NOT NULL, LogDate DATETIME DEFAULT (strftime('%Y-%m-%d %H:%M:%S','now', 'localtime')), URL VARCHAR, IP VARCHAR, Status VARCHAR, Message VARCHAR, PRIMARY KEY (LogID))")
if self.loggerdb.in_transaction:
self.loggerdb.commit()
def log(self, URL: str = "", IP: str = "", Status: str = "true", Message: str = "") -> bool:
try:
loggerdbCursor = self.loggerdb.cursor()
loggerdbCursor.execute(
"INSERT INTO DashboardLog (LogID, URL, IP, Status, Message) VALUES (?, ?, ?, ?, ?);", (str(uuid.uuid4()), URL, IP, Status, Message,))
loggerdbCursor.close()
self.loggerdb.commit()
return True
except Exception as e:
print(f"[WGDashboard] Access Log Error: {str(e)}")
return False

69
src/modules/Email.py Normal file
View File

@ -0,0 +1,69 @@
import os.path
import smtplib
from email import encoders
from email.header import Header
from email.mime.base import MIMEBase
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.utils import formataddr
class EmailSender:
def __init__(self, DashboardConfig):
self.smtp = None
self.DashboardConfig = DashboardConfig
if not os.path.exists('./attachments'):
os.mkdir('./attachments')
def Server(self):
return self.DashboardConfig.GetConfig("Email", "server")[1]
def Port(self):
return self.DashboardConfig.GetConfig("Email", "port")[1]
def Encryption(self):
return self.DashboardConfig.GetConfig("Email", "encryption")[1]
def Username(self):
return self.DashboardConfig.GetConfig("Email", "username")[1]
def Password(self):
return self.DashboardConfig.GetConfig("Email", "email_password")[1]
def SendFrom(self):
return self.DashboardConfig.GetConfig("Email", "send_from")[1]
def ready(self):
return len(self.Server()) > 0 and len(self.Port()) > 0 and len(self.Encryption()) > 0 and len(self.Username()) > 0 and len(self.Password()) > 0 and len(self.SendFrom())
def send(self, receiver, subject, body, includeAttachment = False, attachmentName = ""):
if self.ready():
try:
self.smtp = smtplib.SMTP(self.Server(), port=int(self.Port()))
self.smtp.ehlo()
if self.Encryption() == "STARTTLS":
self.smtp.starttls()
self.smtp.login(self.Username(), self.Password())
message = MIMEMultipart()
message['Subject'] = subject
message['From'] = self.SendFrom()
message["To"] = receiver
message.attach(MIMEText(body, "plain"))
if includeAttachment and len(attachmentName) > 0:
attachmentPath = os.path.join('./attachments', attachmentName)
if os.path.exists(attachmentPath):
attachment = MIMEBase("application", "octet-stream")
with open(os.path.join('./attachments', attachmentName), 'rb') as f:
attachment.set_payload(f.read())
encoders.encode_base64(attachment)
attachment.add_header("Content-Disposition", f"attachment; filename= {attachmentName}",)
message.attach(attachment)
else:
self.smtp.close()
return False, "Attachment does not exist"
self.smtp.sendmail(self.SendFrom(), receiver, message.as_string())
self.smtp.close()
return True, None
except Exception as e:
return False, f"Send failed | Reason: {e}"
return False, "SMTP not configured"

22
src/modules/Log.py Normal file
View File

@ -0,0 +1,22 @@
"""
Log Class
"""
class Log:
def __init__(self, LogID: str, JobID: str, LogDate: str, Status: str, Message: str):
self.LogID = LogID
self.JobID = JobID
self.LogDate = LogDate
self.Status = Status
self.Message = Message
def toJson(self):
return {
"LogID": self.LogID,
"JobID": self.JobID,
"LogDate": self.LogDate,
"Status": self.Status,
"Message": self.Message
}
def __dict__(self):
return self.toJson()

32
src/modules/PeerJob.py Normal file
View File

@ -0,0 +1,32 @@
"""
Peer Job
"""
from datetime import datetime
class PeerJob:
def __init__(self, JobID: str, Configuration: str, Peer: str,
Field: str, Operator: str, Value: str, CreationDate: datetime, ExpireDate: datetime, Action: str):
self.Action = Action
self.ExpireDate = ExpireDate
self.CreationDate = CreationDate
self.Value = Value
self.Operator = Operator
self.Field = Field
self.Configuration = Configuration
self.Peer = Peer
self.JobID = JobID
def toJson(self):
return {
"JobID": self.JobID,
"Configuration": self.Configuration,
"Peer": self.Peer,
"Field": self.Field,
"Operator": self.Operator,
"Value": self.Value,
"CreationDate": self.CreationDate,
"ExpireDate": self.ExpireDate,
"Action": self.Action
}
def __dict__(self):
return self.toJson()

View File

@ -0,0 +1,53 @@
"""
Peer Job Logger
"""
import sqlite3, os, uuid
from .Log import Log
class PeerJobLogger:
def __init__(self, CONFIGURATION_PATH, AllPeerJobs):
self.loggerdb = sqlite3.connect(os.path.join(CONFIGURATION_PATH, 'db', 'wgdashboard_log.db'),
check_same_thread=False)
self.loggerdb.row_factory = sqlite3.Row
self.logs: list[Log] = []
self.__createLogDatabase()
self.AllPeerJobs = AllPeerJobs
def __createLogDatabase(self):
with self.loggerdb:
loggerdbCursor = self.loggerdb.cursor()
existingTable = loggerdbCursor.execute("SELECT name from sqlite_master where type='table'").fetchall()
existingTable = [t['name'] for t in existingTable]
if "JobLog" not in existingTable:
loggerdbCursor.execute("CREATE TABLE JobLog (LogID VARCHAR NOT NULL, JobID NOT NULL, LogDate DATETIME DEFAULT (strftime('%Y-%m-%d %H:%M:%S','now', 'localtime')), Status VARCHAR NOT NULL, Message VARCHAR, PRIMARY KEY (LogID))")
if self.loggerdb.in_transaction:
self.loggerdb.commit()
def log(self, JobID: str, Status: bool = True, Message: str = "") -> bool:
try:
with self.loggerdb:
loggerdbCursor = self.loggerdb.cursor()
loggerdbCursor.execute(f"INSERT INTO JobLog (LogID, JobID, Status, Message) VALUES (?, ?, ?, ?)",
(str(uuid.uuid4()), JobID, Status, Message,))
if self.loggerdb.in_transaction:
self.loggerdb.commit()
except Exception as e:
print(f"[WGDashboard] Peer Job Log Error: {str(e)}")
return False
return True
def getLogs(self, all: bool = False, configName = None) -> list[Log]:
logs: list[Log] = []
try:
allJobs = self.AllPeerJobs.getAllJobs(configName)
allJobsID = ", ".join([f"'{x.JobID}'" for x in allJobs])
with self.loggerdb:
loggerdbCursor = self.loggerdb.cursor()
table = loggerdbCursor.execute(f"SELECT * FROM JobLog WHERE JobID IN ({allJobsID}) ORDER BY LogDate DESC").fetchall()
self.logs.clear()
for l in table:
logs.append(
Log(l["LogID"], l["JobID"], l["LogDate"], l["Status"], l["Message"]))
except Exception as e:
return logs
return logs

135
src/modules/SystemStatus.py Normal file
View File

@ -0,0 +1,135 @@
import psutil
class SystemStatus:
def __init__(self):
self.CPU = CPU()
self.MemoryVirtual = Memory('virtual')
self.MemorySwap = Memory('swap')
self.Disks = Disks()
self.NetworkInterfaces = NetworkInterfaces()
self.Processes = Processes()
def toJson(self):
return {
"CPU": self.CPU,
"Memory": {
"VirtualMemory": self.MemoryVirtual,
"SwapMemory": self.MemorySwap
},
"Disks": self.Disks,
"NetworkInterfaces": self.NetworkInterfaces,
"Processes": self.Processes
}
class CPU:
def __init__(self):
self.cpu_percent: float = 0
self.cpu_percent_per_cpu: list[float] = []
def getData(self):
try:
self.cpu_percent_per_cpu = psutil.cpu_percent(interval=0.5, percpu=True)
self.cpu_percent = psutil.cpu_percent(interval=0.5)
except Exception as e:
pass
def toJson(self):
self.getData()
return self.__dict__
class Memory:
def __init__(self, memoryType: str):
self.__memoryType__ = memoryType
self.total = 0
self.available = 0
self.percent = 0
def getData(self):
try:
if self.__memoryType__ == "virtual":
memory = psutil.virtual_memory()
else:
memory = psutil.swap_memory()
self.total = memory.total
self.available = memory.available
self.percent = memory.percent
except Exception as e:
pass
def toJson(self):
self.getData()
return self.__dict__
class Disks:
def __init__(self):
self.disks : list[Disk] = []
def getData(self):
try:
self.disks = list(map(lambda x : Disk(x.mountpoint), psutil.disk_partitions()))
except Exception as e:
pass
def toJson(self):
self.getData()
return self.disks
class Disk:
def __init__(self, mountPoint: str):
self.total = 0
self.used = 0
self.free = 0
self.percent = 0
self.mountPoint = mountPoint
def getData(self):
try:
disk = psutil.disk_usage(self.mountPoint)
self.total = disk.total
self.free = disk.free
self.used = disk.used
self.percent = disk.percent
except Exception as e:
pass
def toJson(self):
self.getData()
return self.__dict__
class NetworkInterfaces:
def __init__(self):
self.interfaces = {}
def getData(self):
try:
network = psutil.net_io_counters(pernic=True, nowrap=True)
for i in network.keys():
self.interfaces[i] = network[i]._asdict()
except Exception as e:
pass
def toJson(self):
self.getData()
return self.interfaces
class Process:
def __init__(self, name, command, pid, percent):
self.name = name
self.command = command
self.pid = pid
self.percent = percent
def toJson(self):
return self.__dict__
class Processes:
def __init__(self):
self.CPU_Top_10_Processes: list[Process] = []
self.Memory_Top_10_Processes: list[Process] = []
def getData(self):
while True:
try:
processes = list(psutil.process_iter())
self.CPU_Top_10_Processes = sorted(
list(map(lambda x : Process(x.name(), " ".join(x.cmdline()), x.pid, x.cpu_percent()), processes)),
key=lambda x : x.percent, reverse=True)[:20]
self.Memory_Top_10_Processes = sorted(
list(map(lambda x : Process(x.name(), " ".join(x.cmdline()), x.pid, x.memory_percent()), processes)),
key=lambda x : x.percent, reverse=True)[:20]
break
except Exception as e:
break
def toJson(self):
self.getData()
return {
"cpu_top_10": self.CPU_Top_10_Processes,
"memory_top_10": self.Memory_Top_10_Processes
}

View File

@ -1,4 +1,10 @@
Flask==1.1.2
tinydb==4.3.0
ifcfg==0.21
icmplib==2.1.1
bcrypt
ifcfg
psutil
pyotp
Flask
flask-cors
icmplib
gunicorn
requests
tcconfig

BIN
src/static/.DS_Store vendored

Binary file not shown.

30
src/static/app/.gitignore vendored Normal file
View File

@ -0,0 +1,30 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
.DS_Store
dist-ssr
coverage
*.local
/cypress/videos/
/cypress/screenshots/
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
*.tsbuildinfo
.vite/*

27
src/static/app/build.sh Executable file
View File

@ -0,0 +1,27 @@
#!/bin/bash
echo "Running vite build..."
if vite build; then
echo "Vite build successful."
else
echo "Vite build failed. Exiting."
exit 1
fi
echo "Checking for changes to commit..."
if git diff-index --quiet HEAD --; then
if git commit -a; then
echo "Git commit successful."
else
echo "Git commit failed. Exiting."
exit 1
fi
else
echo "No changes to commit. Skipping commit."
fi
echo "Pushing changes to remote..."
if git push; then
echo "Git push successful."
else
echo "Git push failed. Exiting."
exit 1
fi

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
import{_ as r,c as i,d as o,w as e,k as l,a as t,j as _,i as a,l as d,S as u}from"./index-DZliHkQD.js";const m={name:"configuration"},p={class:"mt-md-5 mt-3 text-body"};function f(k,x,h,w,$,v){const n=l("RouterView");return t(),i("div",p,[o(n,null,{default:e(({Component:s,route:c})=>[o(_,{name:"fade2",mode:"out-in"},{default:e(()=>[(t(),a(u,null,{default:e(()=>[(t(),a(d(s),{key:c.path}))]),_:2},1024))]),_:2},1024)]),_:1})])}const B=r(m,[["render",f]]);export{B as default};

View File

@ -0,0 +1 @@
.fade-enter-active[data-v-dafd6275]{transition-delay:var(--7d032b58)!important}.progress-bar[data-v-c20f1a80]{width:0;transition:all 1s cubic-bezier(.42,0,.22,1)}.filter a[data-v-ea61b607]{text-decoration:none}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.agentMessage[data-v-8635cf47]{white-space:break-spaces;max-width:80%;display:flex;flex-direction:column;word-wrap:break-word}.text-bg-secondary[data-v-8635cf47]{background-color:RGBA(var(--bs-secondary-rgb),.7)!important}.text-bg-primary[data-v-8635cf47]{background-color:RGBA(var(--bs-primary-rgb),.7)!important}.agentContainer[data-v-a76f42bd]{--agentHeight: 100vh;position:absolute;z-index:9999;top:0;left:100%;width:450px;box-shadow:0 10px 30px #0000004d;backdrop-filter:blur(8px);background:linear-gradient(var(--degree),#009dff52 var(--distance2),#F9464752 100%)}.agentContainer.enabled[data-v-a76f42bd]{height:calc(var(--agentHeight) - 1rem)}@media screen and (max-width: 768px){.agentContainer[data-v-a76f42bd]{--agentHeight: 100vh !important;top:0;left:0;max-height:calc(var(--agentHeight) - 58px - 1rem);width:calc(100% - 1rem)}}.agentChatroomBody[data-v-a76f42bd]{flex:1 1 auto;overflow-y:auto;max-height:calc(var(--agentHeight) - 70px - 244px)}@media screen and (max-width: 768px){.navbar-container[data-v-58e71749]{position:absolute!important;z-index:1000;animation-duration:.4s;animation-fill-mode:both;display:none;animation-timing-function:cubic-bezier(.82,.58,.17,.9)}.navbar-container.active[data-v-58e71749]{animation-direction:normal;display:block!important;animation-name:zoomInFade-58e71749}}.navbar-container[data-v-58e71749]{height:100vh;position:relative}@supports (height: 100dvh){@media screen and (max-width: 768px){.navbar-container[data-v-58e71749]{height:calc(100dvh - 58px)}}}@keyframes zoomInFade-58e71749{0%{opacity:0;transform:translateY(60px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0px)}}.slideIn-enter-active[data-v-58e71749],.slideIn-leave-active[data-v-58e71749]{transition:all .3s cubic-bezier(.82,.58,.17,1)}.slideIn-enter-from[data-v-58e71749],.slideIn-leave-to[data-v-58e71749]{transform:translateY(30px);filter:blur(3px);opacity:0}main[data-v-0c6a5068]{height:100vh}@supports (height: 100dvh){@media screen and (max-width: 768px){main[data-v-0c6a5068]{height:calc(100dvh - 58px)}}}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
function f(e){return e.includes(":")?6:e.includes(".")?4:0}function b(e){const i=f(e);if(!i)throw new Error(`Invalid IP address: ${e}`);let n=0n,o=0n;const r=Object.create(null);if(i===4)for(const s of e.split(".").map(BigInt).reverse())n+=s*2n**o,o+=8n;else{if(e.includes(".")&&(r.ipv4mapped=!0,e=e.split(":").map(t=>{if(t.includes(".")){const[c,l,d,a]=t.split(".").map($=>Number($).toString(16).padStart(2,"0"));return`${c}${l}:${d}${a}`}else return t}).join(":")),e.includes("%")){let t;[,e,t]=/(.+)%(.+)/.exec(e)||[],r.scopeid=t}const s=e.split(":"),u=s.indexOf("");if(u!==-1)for(;s.length<8;)s.splice(u,0,"");for(const t of s.map(c=>BigInt(parseInt(c||"0",16))).reverse())n+=t*2n**o,o+=16n}return r.number=n,r.version=i,r}const p={4:32,6:128},I=e=>e.includes("/")?f(e):0;function m(e){const i=I(e),n=Object.create(null);if(i)n.cidr=e,n.version=i;else{const a=f(e);if(a)n.cidr=`${e}/${p[a]}`,n.version=a;else throw new Error(`Network is not a CIDR or IP: ${e}`)}const[o,r]=n.cidr.split("/");if(!/^[0-9]+$/.test(r))throw new Error(`Network is not a CIDR or IP: ${e}`);n.prefix=r,n.single=r===String(p[n.version]);const{number:s,version:u}=b(o),t=p[u],c=s.toString(2).padStart(t,"0"),l=Number(t-r),d=c.substring(0,t-l);return n.start=BigInt(`0b${d}${"0".repeat(l)}`),n.end=BigInt(`0b${d}${"1".repeat(l)}`),n}export{m as p};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
import{_ as e,G as t,a as o,c as a,t as c}from"./index-DZliHkQD.js";const s={name:"localeText",props:{t:""},computed:{getLocaleText(){return t(this.t)}}};function n(r,p,l,_,i,x){return o(),a("span",null,c(this.getLocaleText),1)}const u=e(s,[["render",n]]);export{u as L};

View File

@ -0,0 +1 @@
.message[data-v-94c76b54]{width:100%}@media screen and (min-width: 576px){.message[data-v-94c76b54]{width:400px}}

View File

@ -0,0 +1 @@
import{L as l}from"./localeText-DG9SnJT8.js";import{d as c}from"./dayjs.min-PaIL06iQ.js";import{_ as h,a as o,c as a,b as e,d as i,w as u,f as p,t as n,j as g,n as f,k as _}from"./index-DZliHkQD.js";const x={name:"message",methods:{dayjs:c,hide(){this.ct(),this.message.show=!1},show(){this.timeout=setTimeout(()=>{this.message.show=!1},5e3)},ct(){clearTimeout(this.timeout)}},components:{LocaleText:l},props:{message:Object},mounted(){this.show()},data(){return{dismiss:!1,timeout:null}}},v=["id"],b={key:0,class:"d-flex"},w={class:"fw-bold d-block",style:{"text-transform":"uppercase"}},y={class:"ms-auto"},k={key:1},T={class:"card-body d-flex align-items-center gap-3"};function M(j,s,C,L,t,m){const d=_("LocaleText");return o(),a("div",{onMouseenter:s[1]||(s[1]=r=>{t.dismiss=!0,this.ct()}),onMouseleave:s[2]||(s[2]=r=>{t.dismiss=!1,this.show()}),class:"card shadow rounded-3 position-relative message ms-auto",id:this.message.id},[e("div",{class:f([{"text-bg-danger":this.message.type==="danger","text-bg-success":this.message.type==="success","text-bg-warning":this.message.type==="warning"},"card-header pos"])},[i(g,{name:"zoom",mode:"out-in"},{default:u(()=>[t.dismiss?(o(),a("div",k,[e("small",{onClick:s[0]||(s[0]=r=>m.hide()),class:"d-block mx-auto w-100 text-center",style:{cursor:"pointer"}},[s[3]||(s[3]=e("i",{class:"bi bi-x-lg me-2"},null,-1)),i(d,{t:"Dismiss"})])])):(o(),a("div",b,[e("small",w,[i(d,{t:"FROM "}),p(" "+n(this.message.from),1)]),e("small",y,n(m.dayjs().format("hh:mm A")),1)]))]),_:1})],2),e("div",T,[e("div",null,n(this.message.content),1)])],40,v)}const z=h(x,[["render",M],["__scopeId","data-v-94c76b54"]]);export{z as M};

View File

@ -0,0 +1 @@
.protocolBtnGroup a[data-v-b97242f3]{transition:all .2s ease-in-out}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.list-move[data-v-ed72944d],.list-enter-active[data-v-ed72944d],.list-leave-active[data-v-ed72944d]{transition:all .3s ease}.list-enter-from[data-v-ed72944d],.list-leave-to[data-v-ed72944d]{opacity:0;transform:translateY(10px)}.list-leave-active[data-v-ed72944d]{position:absolute}

View File

@ -0,0 +1 @@
.slide-up-enter-active[data-v-b0ea2d46],.slide-up-leave-active[data-v-b0ea2d46]{transition:all .2s cubic-bezier(.42,0,.22,1)}.slide-up-enter-from[data-v-b0ea2d46],.slide-up-leave-to[data-v-b0ea2d46]{opacity:0;transform:scale(.9)}@keyframes spin-b0ea2d46{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#check[data-v-b0ea2d46]{animation:cubic-bezier(.42,0,.22,1.3) .7s spin-b0ea2d46}

View File

@ -0,0 +1 @@
import{_ as v,D as g,r as o,o as h,J as x,g as y,a as i,c as n,b as s,d as c,n as w,e as C,w as k,j as F}from"./index-DZliHkQD.js";import{L as T}from"./localeText-DG9SnJT8.js";import"./browser-CjSdxGTc.js";const M={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0"},S={class:"container d-flex h-100 w-100"},D={class:"m-auto modal-dialog-centered dashboardModal justify-content-center"},P={class:"card rounded-3 shadow w-100"},j={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},B={class:"mb-0"},G={class:"card-body p-4 d-flex flex-column gap-3"},L={style:{height:"300px"},class:"d-flex"},N=["value"],V={key:0,class:"spinner-border m-auto",role:"status"},I={class:"d-flex"},W=["disabled"],$={key:0,class:"d-block"},q={key:1,class:"d-block",id:"check"},z={__name:"peerConfigurationFile",props:{selectedPeer:Object},emits:["close"],setup(u,{emit:p}){const m=p,f=u,r=g(),t=o(!1),l=o(""),a=o(!0);o({error:!1,message:void 0}),h(()=>{const d=x();y("/api/downloadPeer/"+d.params.id,{id:f.selectedPeer.id},e=>{e.status?(l.value=e.data.file,a.value=!1):this.dashboardStore.newMessage("Server",e.message,"danger")})});const b=async()=>{navigator.clipboard&&navigator.clipboard.writeText?navigator.clipboard.writeText(l.value).then(()=>{t.value=!0,setTimeout(()=>{t.value=!1},3e3)}).catch(()=>{r.newMessage("WGDashboard","Failed to copy","danger")}):(document.querySelector("#peerConfigurationFile").select(),document.execCommand("copy")?(t.value=!0,setTimeout(()=>{t.value=!1},3e3)):r.newMessage("WGDashboard","Failed to copy","danger"))};return(d,e)=>(i(),n("div",M,[s("div",S,[s("div",D,[s("div",P,[s("div",j,[s("h4",B,[c(T,{t:"Peer Configuration File"})]),s("button",{type:"button",class:"btn-close ms-auto",onClick:e[0]||(e[0]=_=>m("close"))})]),s("div",G,[s("div",L,[s("textarea",{style:{height:"300px"},class:w(["form-control w-100 rounded-3 animate__fadeIn animate__faster animate__animated",{"d-none":a.value}]),id:"peerConfigurationFile",value:l.value},null,10,N),a.value?(i(),n("div",V,e[2]||(e[2]=[s("span",{class:"visually-hidden"},"Loading...",-1)]))):C("",!0)]),s("div",I,[s("button",{onClick:e[1]||(e[1]=_=>b()),disabled:t.value||a.value,class:"ms-auto btn bg-primary-subtle border-primary-subtle text-primary-emphasis rounded-3 position-relative"},[c(F,{name:"slide-up",mode:"out-in"},{default:k(()=>[t.value?(i(),n("span",q,e[4]||(e[4]=[s("i",{class:"bi bi-check-circle-fill"},null,-1)]))):(i(),n("span",$,e[3]||(e[3]=[s("i",{class:"bi bi-clipboard-fill"},null,-1)])))]),_:1})],8,W)])])])])])]))}},R=v(z,[["__scopeId","data-v-b0ea2d46"]]);export{R as default};

View File

@ -0,0 +1 @@
import{S as p,a as b}from"./schedulePeerJob-Ci8HK7bA.js";import{_ as h,W as u,z as m,k as i,a as o,c as a,b as e,d as r,w as _,F as v,h as f,i as J,e as x,T as g}from"./index-DZliHkQD.js";import{L as w}from"./localeText-DG9SnJT8.js";import"./vue-datepicker-4ltJE5cT.js";import"./dayjs.min-PaIL06iQ.js";const P={name:"peerJobs",setup(){return{store:u()}},props:{selectedPeer:Object},components:{LocaleText:w,SchedulePeerJob:p,ScheduleDropdown:b},data(){return{}},methods:{deleteJob(d){this.selectedPeer.jobs=this.selectedPeer.jobs.filter(t=>t.JobID!==d.JobID)},addJob(){this.selectedPeer.jobs.unshift(JSON.parse(JSON.stringify({JobID:m().toString(),Configuration:this.selectedPeer.configuration.Name,Peer:this.selectedPeer.id,Field:this.store.PeerScheduleJobs.dropdowns.Field[0].value,Operator:this.store.PeerScheduleJobs.dropdowns.Operator[0].value,Value:"",CreationDate:"",ExpireDate:"",Action:this.store.PeerScheduleJobs.dropdowns.Action[0].value})))}}},S={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},y={class:"container d-flex h-100 w-100"},$={class:"m-auto modal-dialog-centered dashboardModal"},C={class:"card rounded-3 shadow",style:{width:"700px"}},D={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},k={class:"mb-0 fw-normal"},j={class:"card-body px-4 pb-4 pt-2 position-relative"},T={class:"d-flex align-items-center mb-3"},N={class:"card shadow-sm",key:"none",style:{height:"153px"}},I={class:"card-body text-muted text-center d-flex"},L={class:"m-auto"};function O(d,t,B,F,V,A){const n=i("LocaleText"),l=i("SchedulePeerJob");return o(),a("div",S,[e("div",y,[e("div",$,[e("div",C,[e("div",D,[e("h4",k,[r(n,{t:"Schedule Jobs"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=s=>this.$emit("close"))})]),e("div",j,[e("div",T,[e("button",{class:"btn bg-primary-subtle border-1 border-primary-subtle text-primary-emphasis rounded-3 shadow",onClick:t[1]||(t[1]=s=>this.addJob())},[t[3]||(t[3]=e("i",{class:"bi bi-plus-lg me-2"},null,-1)),r(n,{t:"Job"})])]),r(g,{name:"schedulePeerJobTransition",tag:"div",class:"position-relative"},{default:_(()=>[(o(!0),a(v,null,f(this.selectedPeer.jobs,(s,E)=>(o(),J(l,{onRefresh:t[2]||(t[2]=c=>this.$emit("refresh")),onDelete:c=>this.deleteJob(s),dropdowns:this.store.PeerScheduleJobs.dropdowns,key:s.JobID,pjob:s},null,8,["onDelete","dropdowns","pjob"]))),128)),this.selectedPeer.jobs.length===0?(o(),a("div",N,[e("div",I,[e("h6",L,[r(n,{t:"This peer does not have any job yet."})])])])):x("",!0)]),_:1})])])])])])}const q=h(P,[["render",O],["__scopeId","data-v-5bbdd42b"]]);export{q as default};

View File

@ -0,0 +1 @@
.schedulePeerJobTransition-move[data-v-5bbdd42b],.schedulePeerJobTransition-enter-active[data-v-5bbdd42b],.schedulePeerJobTransition-leave-active[data-v-5bbdd42b]{transition:all .4s cubic-bezier(.82,.58,.17,.9)}.schedulePeerJobTransition-enter-from[data-v-5bbdd42b],.schedulePeerJobTransition-leave-to[data-v-5bbdd42b]{opacity:0;transform:scale(.9)}.schedulePeerJobTransition-leave-active[data-v-5bbdd42b]{position:absolute;width:100%}

View File

@ -0,0 +1 @@
import{S as _}from"./schedulePeerJob-Ci8HK7bA.js";import{_ as g,W as v,k as c,a as t,c as r,b as e,d as l,F as p,h as b,t as m,e as f,i as y}from"./index-DZliHkQD.js";import{L as x}from"./localeText-DG9SnJT8.js";import"./vue-datepicker-4ltJE5cT.js";import"./dayjs.min-PaIL06iQ.js";const J={name:"peerJobsAllModal",setup(){return{store:v()}},components:{LocaleText:x,SchedulePeerJob:_},props:{configurationPeers:Array[Object]},computed:{getAllJobs(){return this.configurationPeers.filter(a=>a.jobs.length>0)}}},k={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},w={class:"container d-flex h-100 w-100"},$={class:"m-auto modal-dialog-centered dashboardModal"},A={class:"card rounded-3 shadow",style:{width:"900px"}},L={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},S={class:"mb-0 fw-normal"},C={class:"card-body px-4 pb-4 pt-2"},P={key:0,class:"accordion",id:"peerJobsLogsModalAccordion"},j={class:"accordion-header"},M=["data-bs-target"],B={key:0},N={class:"text-muted"},D=["id"],T={class:"accordion-body"},V={key:1,class:"card shadow-sm",style:{height:"153px"}},F={class:"card-body text-muted text-center d-flex"},O={class:"m-auto"};function W(a,o,E,I,R,q){const n=c("LocaleText"),u=c("SchedulePeerJob");return t(),r("div",k,[e("div",w,[e("div",$,[e("div",A,[e("div",L,[e("h4",S,[l(n,{t:"All Active Jobs"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:o[0]||(o[0]=s=>this.$emit("close"))})]),e("div",C,[e("button",{class:"btn bg-primary-subtle border-1 border-primary-subtle text-primary-emphasis rounded-3 shadow mb-2",onClick:o[1]||(o[1]=s=>this.$emit("allLogs"))},[o[4]||(o[4]=e("i",{class:"bi bi-clock me-2"},null,-1)),l(n,{t:"Logs"})]),this.getAllJobs.length>0?(t(),r("div",P,[(t(!0),r(p,null,b(this.getAllJobs,(s,d)=>(t(),r("div",{class:"accordion-item",key:s.id},[e("h2",j,[e("button",{class:"accordion-button collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#collapse_"+d},[e("small",null,[e("strong",null,[s.name?(t(),r("span",B,m(s.name)+" • ",1)):f("",!0),e("samp",N,m(s.id),1)])])],8,M)]),e("div",{id:"collapse_"+d,class:"accordion-collapse collapse","data-bs-parent":"#peerJobsLogsModalAccordion"},[e("div",T,[(t(!0),r(p,null,b(s.jobs,i=>(t(),y(u,{onDelete:o[2]||(o[2]=h=>this.$emit("refresh")),onRefresh:o[3]||(o[3]=h=>this.$emit("refresh")),dropdowns:this.store.PeerScheduleJobs.dropdowns,viewOnly:!0,key:i.JobID,pjob:i},null,8,["dropdowns","pjob"]))),128))])],8,D)]))),128))])):(t(),r("div",V,[e("div",F,[e("span",O,[l(n,{t:"No active job at the moment."})])])]))])])])])])}const U=g(J,[["render",W]]);export{U as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
@media screen and (max-width: 768px){#qrcode[data-v-7c287bf3]{width:100%!important;height:auto!important;aspect-ratio:1/1}}

View File

@ -0,0 +1 @@
import{b as i}from"./browser-CjSdxGTc.js";import{L as c}from"./localeText-DG9SnJT8.js";import{_ as l,D as p,g as _,k as m,a as n,c as r,b as e,d as u,n as h,e as f}from"./index-DZliHkQD.js";const g={name:"peerQRCode",components:{LocaleText:c},props:{selectedPeer:Object},setup(){return{dashboardStore:p()}},data(){return{loading:!0}},mounted(){_("/api/downloadPeer/"+this.$route.params.id,{id:this.selectedPeer.id},o=>{if(this.loading=!1,o.status){let t="";if(this.selectedPeer.configuration.Protocol==="awg"){let a={containers:[{awg:{isThirdPartyConfig:!0,last_config:o.data.file,port:this.selectedPeer.configuration.ListenPort,transport_proto:"udp"},container:"amnezia-awg"}],defaultContainer:"amnezia-awg",description:this.selectedPeer.name,hostName:this.dashboardStore.Configuration.Peers.remote_endpoint};t=btoa(JSON.stringify(a))}else t=o.data.file;i.toCanvas(document.querySelector("#qrcode"),t,a=>{a&&console.error(a)})}else this.dashboardStore.newMessage("Server",o.message,"danger")})}},b={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0"},v={class:"container d-flex h-100 w-100"},C={class:"m-auto modal-dialog-centered dashboardModal justify-content-center"},w={class:"card rounded-3 shadow"},P={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},x={class:"mb-0"},S={class:"card-body p-4"},y={class:"d-flex"},L={key:0,class:"spinner-border m-auto",role:"status"};function k(o,t,a,N,s,$){const d=m("LocaleText");return n(),r("div",b,[e("div",v,[e("div",C,[e("div",w,[e("div",P,[e("h4",x,[u(d,{t:"QR Code"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=Q=>this.$emit("close"))})]),e("div",S,[e("div",y,[e("canvas",{id:"qrcode",class:h(["rounded-3 shadow animate__animated animate__fadeIn animate__faster",{"d-none":s.loading}])},null,2),s.loading?(n(),r("div",L,t[1]||(t[1]=[e("span",{class:"visually-hidden"},"Loading...",-1)]))):f("",!0)])])])])])])}const q=l(g,[["render",k],["__scopeId","data-v-7c287bf3"]]);export{q as default};

View File

@ -0,0 +1 @@
.searchPeersContainer[data-v-b741afe7]{width:100%}

View File

@ -0,0 +1 @@
import{_ as u,q as m,G as p,r as b,W as f,a2 as h,o as g,a as v,i as y,w as _,b as e,m as x,y as w,d as S,j as B}from"./index-DZliHkQD.js";import{L as T}from"./localeText-DG9SnJT8.js";const C={class:"fixed-bottom w-100 bottom-0 z-2",style:{"z-index":"1"}},P={class:"container-fluid"},k={class:"row g-0"},L={class:"col-md-9 col-lg-10 d-flex justify-content-center py-2"},V={class:"rounded-3 p-2 border shadow searchPeersContainer bg-body-tertiary"},j={class:"d-flex gap-1 align-items-center px-2"},z=["placeholder"],D={__name:"peerSearchBar",emits:["close"],setup(G,{emit:n}){const l=m(()=>p("Search Peers..."));let t;const o=b(""),r=f(),i=()=>{t?(clearTimeout(t),t=setTimeout(()=>{r.searchString=o.value},300)):t=setTimeout(()=>{r.searchString=o.value},300)},d=n,c=h("searchBar");return g(()=>{c.value.focus()}),(M,s)=>(v(),y(B,{name:"slideUp",appear:"",type:"animation",style:{"animation-delay":"1s"}},{default:_(()=>[e("div",C,[e("div",P,[e("div",k,[s[5]||(s[5]=e("div",{class:"col-md-3 col-lg-2"},null,-1)),e("div",L,[e("div",V,[e("div",j,[s[4]||(s[4]=e("h6",{class:"mb-0 me-2"},[e("label",{for:"searchPeers"},[e("i",{class:"bi bi-search"})])],-1)),x(e("input",{ref:"searchBar",class:"flex-grow-1 form-control rounded-3 bg-secondary-subtle border-1 border-secondary-subtle",placeholder:l.value,id:"searchPeers",onKeyup:s[0]||(s[0]=a=>i()),"onUpdate:modelValue":s[1]||(s[1]=a=>o.value=a)},null,40,z),[[w,o.value]]),e("button",{onClick:s[2]||(s[2]=a=>d("close")),style:{"white-space":"nowrap"},class:"btn bg-secondary-subtle text-secondary-emphasis border-secondary-subtle rounded-3 d-flex align-items-center"},[e("span",null,[s[3]||(s[3]=e("i",{class:"bi bi-x-circle-fill me-2"},null,-1)),S(T,{t:"Done"})])])])])])])])])]),_:1}))}},W=u(D,[["__scopeId","data-v-b741afe7"]]);export{W as default};

View File

@ -0,0 +1 @@
.toggleShowKey[data-v-12b3ae8e]{position:absolute;top:35px;right:12px}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.card[data-v-8cfb4d4d]{border-color:var(--bs-border-color)!important}textarea[data-v-6e705c87]:focus,input[data-v-6e705c87]:focus{box-shadow:none;border-color:var(--bs-border-color)!important}textarea[data-v-6e705c87]{padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x)}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.pingPlaceholder[data-v-a08ce97e]{width:100%;height:79.98px}.ping-move[data-v-a08ce97e],.ping-enter-active[data-v-a08ce97e],.ping-leave-active[data-v-a08ce97e]{transition:all .4s cubic-bezier(.82,.58,.17,.9)}.ping-leave-active[data-v-a08ce97e]{position:absolute;width:100%}.ping-enter-from[data-v-a08ce97e],.ping-leave-to[data-v-a08ce97e]{opacity:0;filter:blur(3px)}

View File

@ -0,0 +1 @@
import{L as r}from"./localeText-DG9SnJT8.js";import{a as t,c as n,f as i,i as s,e as a}from"./index-DZliHkQD.js";const d={key:0,class:"badge wireguardBg rounded-3 shadow"},c={key:1,class:"badge amneziawgBg rounded-3 shadow"},u={__name:"protocolBadge",props:{protocol:String,mini:!1},setup(e){return(m,o)=>e.protocol==="wg"?(t(),n("span",d,[o[0]||(o[0]=i(" WireGuard ")),e.mini?a("",!0):(t(),s(r,{key:0,t:"Configuration"}))])):e.protocol==="awg"?(t(),n("span",c,[o[1]||(o[1]=i(" AmneziaWG ")),e.mini?a("",!0):(t(),s(r,{key:0,t:"Configuration"}))])):a("",!0)}};export{u as _};

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.dropdownIcon[data-v-ccf48ac7]{transition:all .2s ease-in-out}.dropdownIcon.active[data-v-ccf48ac7]{transform:rotate(180deg)}.steps{&[data-v-324df2b1]{transition:all .3s ease-in-out;opacity:.3}&.active[data-v-324df2b1]{opacity:1}}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.btn.disabled[data-v-6a5aba2a]{opacity:1;background-color:#0d6efd17;border-color:transparent}[data-v-4aa63a3e]{font-size:.875rem}input[data-v-4aa63a3e]{padding:.1rem .4rem}input[data-v-4aa63a3e]:disabled{border-color:transparent;background-color:#0d6efd17;color:#0d6efd}.dp__main[data-v-4aa63a3e]{width:auto;flex-grow:1;--dp-input-padding: 2.5px 30px 2.5px 12px;--dp-border-radius: .5rem}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.card[data-v-177407c1]{height:100%}.dashboardModal[data-v-177407c1]{height:calc(100% - 1rem)!important}@media screen and (min-height: 700px){.card[data-v-177407c1]{height:700px}}.peerBtn[data-v-177407c1]{border:var(--bs-border-width) solid var(--bs-border-color)}.peerBtn.active[data-v-177407c1]{border:var(--bs-border-width) solid var(--bs-body-color)}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
@media screen and (max-width: 992px){.apiKey-card-body{&[data-v-a76253c8]{flex-direction:column!important;align-items:start!important}div.ms-auto[data-v-a76253c8]{margin-left:0!important}div[data-v-a76253c8]{width:100%;align-items:start!important}small[data-v-a76253c8]{margin-right:auto}}}.apiKey-move[data-v-100ee9f9],.apiKey-enter-active[data-v-100ee9f9],.apiKey-leave-active[data-v-100ee9f9]{transition:all .5s ease}.apiKey-enter-from[data-v-100ee9f9],.apiKey-leave-to[data-v-100ee9f9]{opacity:0;transform:translateY(30px) scale(.9)}.apiKey-leave-active[data-v-100ee9f9]{position:absolute;width:100%}.dropdown-menu[data-v-4e34593e]{width:100%}.list-group{&[data-v-4aa2aed9]:first-child{border-top-left-radius:var(--bs-border-radius-lg);border-top-right-radius:var(--bs-border-radius-lg)}&[data-v-4aa2aed9]:last-child{border-bottom-left-radius:var(--bs-border-radius-lg);border-bottom-right-radius:var(--bs-border-radius-lg)}}

View File

@ -0,0 +1 @@
import{_ as u,D as m,A as p,c as r,b as e,d as o,f as c,t as h,e as f,m as l,y as d,a as i,k as w}from"./index-DZliHkQD.js";import{L as g}from"./localeText-DG9SnJT8.js";const b={name:"setup",components:{LocaleText:g},setup(){return{store:m()}},data(){return{setup:{username:"",newPassword:"",repeatNewPassword:"",enable_totp:!0},loading:!1,errorMessage:"",done:!1}},computed:{goodToSubmit(){return this.setup.username&&this.setup.newPassword.length>=8&&this.setup.repeatNewPassword.length>=8&&this.setup.newPassword===this.setup.repeatNewPassword}},methods:{submit(){this.loading=!0,p("/api/Welcome_Finish",this.setup,n=>{n.status?(this.done=!0,this.$router.push("/2FASetup")):(document.querySelectorAll("#createAccount input").forEach(s=>s.classList.add("is-invalid")),this.errorMessage=n.message,document.querySelector(".login-container-fluid").scrollTo({top:0,left:0,behavior:"smooth"})),this.loading=!1})}}},_=["data-bs-theme"],x={class:"m-auto text-body",style:{width:"500px"}},v={class:"dashboardLogo display-4"},y={class:"mb-5"},P={key:0,class:"alert alert-danger"},N={class:"d-flex flex-column gap-3"},k={id:"createAccount",class:"d-flex flex-column gap-2"},S={class:"form-group text-body"},T={for:"username",class:"mb-1 text-muted"},C={class:"form-group text-body"},L={for:"password",class:"mb-1 text-muted"},V={class:"form-group text-body"},A={for:"confirmPassword",class:"mb-1 text-muted"},$=["disabled"],q={key:0,class:"d-flex align-items-center w-100"},M={key:1,class:"d-flex align-items-center w-100"};function B(n,s,D,E,U,F){const t=w("LocaleText");return i(),r("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.store.Configuration.Server.dashboard_theme},[e("div",x,[e("span",v,[o(t,{t:"Nice to meet you!"})]),e("p",y,[o(t,{t:"Please fill in the following fields to finish setup"}),s[4]||(s[4]=c(" 😊"))]),e("div",null,[e("h3",null,[o(t,{t:"Create an account"})]),this.errorMessage?(i(),r("div",P,h(this.errorMessage),1)):f("",!0),e("div",N,[e("form",k,[e("div",S,[e("label",T,[e("small",null,[o(t,{t:"Enter an username you like"})])]),l(e("input",{type:"text",autocomplete:"username","onUpdate:modelValue":s[0]||(s[0]=a=>this.setup.username=a),class:"form-control",id:"username",name:"username",required:""},null,512),[[d,this.setup.username]])]),e("div",C,[e("label",L,[e("small",null,[o(t,{t:"Enter a password"}),e("code",null,[o(t,{t:"(At least 8 characters and make sure is strong enough!)"})])])]),l(e("input",{type:"password",autocomplete:"new-password","onUpdate:modelValue":s[1]||(s[1]=a=>this.setup.newPassword=a),class:"form-control",id:"password",name:"password",required:""},null,512),[[d,this.setup.newPassword]])]),e("div",V,[e("label",A,[e("small",null,[o(t,{t:"Confirm password"})])]),l(e("input",{type:"password",autocomplete:"confirm-new-password","onUpdate:modelValue":s[2]||(s[2]=a=>this.setup.repeatNewPassword=a),class:"form-control",id:"confirmPassword",name:"confirmPassword",required:""},null,512),[[d,this.setup.repeatNewPassword]])])]),e("button",{class:"btn btn-dark btn-lg mb-5 d-flex btn-brand shadow align-items-center",ref:"signInBtn",disabled:!this.goodToSubmit||this.loading||this.done,onClick:s[3]||(s[3]=a=>this.submit())},[!this.loading&&!this.done?(i(),r("span",q,[o(t,{t:"Next"}),s[5]||(s[5]=e("i",{class:"bi bi-chevron-right ms-auto"},null,-1))])):(i(),r("span",M,[o(t,{t:"Saving..."}),s[6]||(s[6]=e("span",{class:"spinner-border ms-auto spinner-border-sm",role:"status"},[e("span",{class:"visually-hidden"},"Loading...")],-1))]))],8,$)])])])],8,_)}const j=u(b,[["render",B]]);export{j as default};

View File

@ -0,0 +1 @@
.animate__fadeInUp[data-v-1b44aacd]{animation-timing-function:cubic-bezier(.42,0,.22,1)}

View File

@ -0,0 +1 @@
import{_,r,D as p,g as u,c as m,b as t,d as c,J as h,a as f,k as b}from"./index-DZliHkQD.js";import{b as v}from"./browser-CjSdxGTc.js";import{L as y}from"./localeText-DG9SnJT8.js";const g={name:"share",components:{LocaleText:y},async setup(){const o=h(),e=r(!1),i=p(),n=r(""),s=r(void 0),l=r(new Blob);await u("/api/getDashboardTheme",{},d=>{n.value=d.data});const a=o.query.ShareID;return a===void 0||a.length===0?(s.value=void 0,e.value=!0):await u("/api/sharePeer/get",{ShareID:a},d=>{d.status?(s.value=d.data,l.value=new Blob([s.value.file],{type:"text/plain"})):s.value=void 0,e.value=!0}),{store:i,theme:n,peerConfiguration:s,blob:l}},mounted(){this.peerConfiguration&&v.toCanvas(document.querySelector("#qrcode"),this.peerConfiguration.file,o=>{o&&console.error(o)})},methods:{download(){const o=new Blob([this.peerConfiguration.file],{type:"text/plain"}),e=URL.createObjectURL(o),i=`${this.peerConfiguration.fileName}.conf`,n=document.createElement("a");n.href=e,n.download=i,n.click()}},computed:{getBlob(){return URL.createObjectURL(this.blob)}}},w=["data-bs-theme"],x={class:"m-auto text-body",style:{width:"500px"}},C={key:0,class:"text-center position-relative",style:{}},U={class:"position-absolute w-100 h-100 top-0 start-0 d-flex animate__animated animate__fadeInUp",style:{"animation-delay":"0.1s"}},I={class:"m-auto"},L={key:1,class:"d-flex align-items-center flex-column gap-3"},k={class:"h1 dashboardLogo text-center animate__animated animate__fadeInUp"},B={id:"qrcode",class:"rounded-3 shadow animate__animated animate__fadeInUp mb-3",ref:"qrcode"},D={class:"text-muted animate__animated animate__fadeInUp mb-1",style:{"animation-delay":"0.2s"}},R=["download","href"];function q(o,e,i,n,s,l){const a=b("LocaleText");return f(),m("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.theme},[t("div",x,[this.peerConfiguration?(f(),m("div",L,[t("div",k,[e[1]||(e[1]=t("h6",null,"WGDashboard",-1)),c(a,{t:"Scan QR Code with the WireGuard App to add peer"})]),t("canvas",B,null,512),t("p",D,[c(a,{t:"or click the button below to download the "}),e[2]||(e[2]=t("samp",null,".conf",-1)),c(a,{t:" file"})]),t("a",{download:this.peerConfiguration.fileName+".conf",href:l.getBlob,class:"btn btn-lg bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle animate__animated animate__fadeInUp shadow-sm",style:{"animation-delay":"0.25s"}},e[3]||(e[3]=[t("i",{class:"bi bi-download"},null,-1)]),8,R)])):(f(),m("div",C,[e[0]||(e[0]=t("div",{class:"animate__animated animate__fadeInUp"},[t("h1",{style:{"font-size":"20rem",filter:"blur(1rem)","animation-duration":"7s"},class:"animate__animated animate__flash animate__infinite"},[t("i",{class:"bi bi-file-binary"})])],-1)),t("div",U,[t("h3",I,[c(a,{t:"Oh no... This link is either expired or invalid."})])])]))])],8,w)}const N=_(g,[["render",q],["__scopeId","data-v-1b44aacd"]]);export{N as default};

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.dot.inactive[data-v-ed7817c7]{background-color:#dc3545;box-shadow:0 0 0 .2rem #dc354545}.spin[data-v-ed7817c7]{animation:spin-ed7817c7 1s infinite cubic-bezier(.82,.58,.17,.9)}@keyframes spin-ed7817c7{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media screen and (max-width: 768px){.remoteServerContainer[data-v-ed7817c7]{flex-direction:column}.remoteServerContainer .button-group button[data-v-ed7817c7]{width:100%}}@media screen and (max-width: 768px){.login-box[data-v-80e20da4]{width:100%!important}.login-box div[data-v-80e20da4]{width:auto!important}}

View File

@ -0,0 +1 @@
.square[data-v-2ad535bb]{height:var(--2ec4d3bc);transition:background-color .5s cubic-bezier(.42,0,.22,1)}.square[data-v-9509d7a0]{height:var(--2dc8ab7e);transition:background-color .5s cubic-bezier(.42,0,.22,1)}

View File

@ -0,0 +1 @@
import{_ as b,p as m,r as p,q as v,a as t,c as r,d as g,w as x,s as n,n as f,b as l,t as d,e as C,j as w}from"./index-DZliHkQD.js";const y={class:"text-muted me-2"},_={class:"fw-bold"},k={__name:"cpuCore",props:{core_number:Number,percentage:Number,align:Boolean,square:Boolean},setup(e){m(c=>({"2ec4d3bc":o.value}));const u=e,s=p(!1),o=v(()=>u.square?"40px":"25px");return(c,a)=>(t(),r("div",{class:"flex-grow-1 square rounded-3 border position-relative p-2",onMouseenter:a[0]||(a[0]=i=>s.value=!0),onMouseleave:a[1]||(a[1]=i=>s.value=!1),style:n({"background-color":`rgb(13 110 253 / ${e.percentage*10}%)`})},[g(w,{name:"zoomReversed"},{default:x(()=>[s.value?(t(),r("div",{key:0,style:n([{"white-space":"nowrap"},{top:o.value}]),class:f(["floatingLabel z-3 border position-absolute d-block p-1 px-2 bg-body text-body rounded-3 border shadow d-flex",[e.align?"end-0":"start-0"]])},[l("small",y," Core #"+d(e.core_number+1),1),l("small",_,d(e.percentage)+"% ",1)],6)):C("",!0)]),_:1})],36))}},B=b(k,[["__scopeId","data-v-2ad535bb"]]);export{B as C};

View File

@ -0,0 +1 @@
.title[data-v-ffe5ad8f]{height:18px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.process-move[data-v-977dc46d],.process-enter-active[data-v-977dc46d],.process-leave-active[data-v-977dc46d]{transition:all .5s cubic-bezier(.42,0,.22,1)}.process-enter-from[data-v-977dc46d],.process-leave-to[data-v-977dc46d]{opacity:0;transform:scale(.9)}.process-leave-active[data-v-977dc46d]{position:absolute;width:100%}.progress-bar[data-v-977dc46d]{width:0;transition:all 1s cubic-bezier(.42,0,.22,1)}.fadeIn[data-v-977dc46d]{opacity:0;animation:fadeIn-977dc46d .5s forwards cubic-bezier(.42,0,.22,1)}@keyframes fadeIn-977dc46d{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
import{_ as h,D as m,g as p,A as f,c as b,b as t,d as i,t as _,m as v,y as g,i as d,w as r,k as c,a as n}from"./index-DZliHkQD.js";import{b as x}from"./browser-CjSdxGTc.js";import{L as y}from"./localeText-DG9SnJT8.js";const T={name:"totp",components:{LocaleText:y},async setup(){const s=m();let e="";return await p("/api/Welcome_GetTotpLink",{},a=>{a.status&&(e=a.data)}),{l:e,store:s}},mounted(){this.l&&x.toCanvas(document.getElementById("qrcode"),this.l,function(s){})},data(){return{totp:"",totpInvalidMessage:"",verified:!1}},methods:{validateTotp(){}},watch:{totp(s){const e=document.querySelector("#totp");e.classList.remove("is-invalid","is-valid"),s.length===6&&(console.log(s),/[0-9]{6}/.test(s)?f("/api/Welcome_VerifyTotpLink",{totp:s},a=>{a.status?(this.verified=!0,e.classList.add("is-valid"),this.$emit("verified")):(e.classList.add("is-invalid"),this.totpInvalidMessage="TOTP does not match.")}):(e.classList.add("is-invalid"),this.totpInvalidMessage="TOTP can only contain numbers"))}}},k=["data-bs-theme"],w={class:"m-auto text-body",style:{width:"500px"}},L={class:"d-flex flex-column"},M={class:"dashboardLogo display-4"},C={class:"mb-2"},P={class:"text-muted"},I={class:"p-3 bg-body-secondary rounded-3 border mb-3"},O={class:"text-muted mb-0"},B=["href"],$={style:{"line-break":"anywhere"}},A={for:"totp",class:"mb-2"},D={class:"text-muted"},S={class:"form-group mb-2"},q=["disabled"],E={class:"invalid-feedback"},F={class:"valid-feedback"},R={class:"d-flex gap-3 mt-5 flex-column"};function G(s,e,a,N,W,Q){const o=c("LocaleText"),l=c("RouterLink");return n(),b("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.store.Configuration.Server.dashboard_theme},[t("div",w,[t("div",L,[t("div",null,[t("h1",M,[i(o,{t:"Multi-Factor Authentication (MFA)"})]),t("p",C,[t("small",P,[i(o,{t:"1. Please scan the following QR Code to generate TOTP with your choice of authenticator"})])]),e[1]||(e[1]=t("canvas",{id:"qrcode",class:"rounded-3 mb-2"},null,-1)),t("div",I,[t("p",O,[t("small",null,[i(o,{t:"Or you can click the link below:"})])]),t("a",{href:this.l},[t("code",$,_(this.l),1)],8,B)]),t("label",A,[t("small",D,[i(o,{t:"2. Enter the TOTP generated by your authenticator to verify"})])]),t("div",S,[v(t("input",{class:"form-control text-center totp",id:"totp",maxlength:"6",type:"text",inputmode:"numeric",autocomplete:"one-time-code","onUpdate:modelValue":e[0]||(e[0]=u=>this.totp=u),disabled:this.verified},null,8,q),[[g,this.totp]]),t("div",E,[i(o,{t:this.totpInvalidMessage},null,8,["t"])]),t("div",F,[i(o,{t:"TOTP verified!"})])])]),e[4]||(e[4]=t("hr",null,null,-1)),t("div",R,[this.verified?(n(),d(l,{key:1,to:"/",class:"btn btn-dark btn-lg d-flex btn-brand shadow align-items-center flex-grow-1 rounded-3"},{default:r(()=>[i(o,{t:"Complete"}),e[3]||(e[3]=t("i",{class:"bi bi-chevron-right ms-auto"},null,-1))]),_:1})):(n(),d(l,{key:0,to:"/",class:"btn bg-secondary-subtle text-secondary-emphasis rounded-3 flex-grow-1 btn-lg border-1 border-secondary-subtle shadow d-flex"},{default:r(()=>[i(o,{t:"I don't need MFA"}),e[2]||(e[2]=t("i",{class:"bi bi-chevron-right ms-auto"},null,-1))]),_:1}))])])])],8,k)}const z=h(T,[["render",G]]);export{z as default};

View File

@ -0,0 +1 @@
import{_ as h,W as g,g as b,c as o,b as t,d as n,m as y,y as f,C as x,w as r,j as c,a as l,f as v,F as u,h as m,n as k,s as T,t as i,k as _}from"./index-DZliHkQD.js";import{O as A}from"./osmap-CmjRjQ0N.js";import{L as w}from"./localeText-DG9SnJT8.js";const R={name:"traceroute",components:{LocaleText:w,OSMap:A},data(){return{tracing:!1,ipAddress:void 0,tracerouteResult:void 0}},setup(){return{store:g()}},methods:{execute(){this.ipAddress&&(this.tracing=!0,this.tracerouteResult=void 0,b("/api/traceroute/execute",{ipAddress:this.ipAddress},d=>{d.status?this.tracerouteResult=d.data:this.store.newMessage("Server",d.message,"danger"),this.tracing=!1}))}}},M={class:"mt-md-5 mt-3 text-body"},S={class:"container-md"},$={class:"mb-3 text-body"},C={class:"d-flex gap-2 mb-3 flex-column"},L={class:"flex-grow-1"},P={class:"mb-1 text-muted",for:"ipAddress"},O=["disabled"],V=["disabled"],B={key:0,class:"d-block"},I={key:1,class:"d-block"},N={class:"position-relative"},z={key:"pingPlaceholder"},D={key:1},E={key:"table",class:"w-100 mt-2"},F={class:"table table-sm rounded-3 w-100"},G={scope:"col"},H={scope:"col"},K={scope:"col"},W={scope:"col"},j={scope:"col"},U={scope:"col"},q={key:0},J={key:1};function Q(d,s,X,Y,Z,tt){const a=_("LocaleText"),p=_("OSMap");return l(),o("div",M,[t("div",S,[t("h3",$,[n(a,{t:"Traceroute"})]),t("div",C,[t("div",L,[t("label",P,[t("small",null,[n(a,{t:"Enter IP Address / Hostname"})])]),y(t("input",{disabled:this.tracing,id:"ipAddress",class:"form-control rounded-3","onUpdate:modelValue":s[0]||(s[0]=e=>this.ipAddress=e),onKeyup:s[1]||(s[1]=x(e=>this.execute(),["enter"])),type:"text"},null,40,O),[[f,this.ipAddress]])]),t("button",{class:"btn btn-primary rounded-3 position-relative flex-grow-1",disabled:this.tracing||!this.ipAddress,onClick:s[2]||(s[2]=e=>this.execute())},[n(c,{name:"slide"},{default:r(()=>[this.tracing?(l(),o("span",I,s[4]||(s[4]=[t("span",{class:"spinner-border spinner-border-sm","aria-hidden":"true"},null,-1),t("span",{class:"visually-hidden",role:"status"},"Loading...",-1)]))):(l(),o("span",B,s[3]||(s[3]=[t("i",{class:"bi bi-person-walking me-2"},null,-1),v("Trace! ")])))]),_:1})],8,V)]),t("div",N,[n(c,{name:"ping"},{default:r(()=>[this.tracerouteResult?(l(),o("div",D,[n(p,{d:this.tracerouteResult,type:"traceroute"},null,8,["d"]),t("div",E,[t("table",F,[t("thead",null,[t("tr",null,[t("th",G,[n(a,{t:"Hop"})]),t("th",H,[n(a,{t:"IP Address"})]),t("th",K,[n(a,{t:"Average RTT (ms)"})]),t("th",W,[n(a,{t:"Min RTT (ms)"})]),t("th",j,[n(a,{t:"Max RTT (ms)"})]),t("th",U,[n(a,{t:"Geolocation"})])])]),t("tbody",null,[(l(!0),o(u,null,m(this.tracerouteResult,(e,et)=>(l(),o("tr",null,[t("td",null,[t("small",null,i(e.hop),1)]),t("td",null,[t("small",null,[t("samp",null,i(e.ip),1)])]),t("td",null,[t("small",null,[t("samp",null,i(e.avg_rtt),1)])]),t("td",null,[t("small",null,[t("samp",null,i(e.min_rtt),1)])]),t("td",null,[t("small",null,[t("samp",null,i(e.max_rtt),1)])]),t("td",null,[e.geo.city&&e.geo.country?(l(),o("span",q,[t("small",null,i(e.geo.city)+", "+i(e.geo.country),1)])):(l(),o("span",J," - "))])]))),256))])])])])):(l(),o("div",z,[s[5]||(s[5]=t("div",{class:"pingPlaceholder bg-body-secondary rounded-3 mb-3",style:{height:"300px !important"}},null,-1)),(l(),o(u,null,m(5,e=>t("div",{class:k(["pingPlaceholder bg-body-secondary rounded-3 mb-3",{"animate__animated animate__flash animate__slower animate__infinite":this.tracing}]),style:T({"animation-delay":`${e*.05}s`})},null,6)),64))]))]),_:1})])])])}const lt=h(R,[["render",Q],["__scopeId","data-v-3e75b4d4"]]);export{lt as default};

View File

@ -0,0 +1 @@
.pingPlaceholder[data-v-3e75b4d4]{width:100%;height:40px}.ping-move[data-v-3e75b4d4],.ping-enter-active[data-v-3e75b4d4],.ping-leave-active[data-v-3e75b4d4]{transition:all .4s cubic-bezier(.82,.58,.17,.9)}.ping-leave-active[data-v-3e75b4d4]{position:absolute;width:100%}.ping-enter-from[data-v-3e75b4d4],.ping-leave-to[data-v-3e75b4d4]{opacity:0;filter:blur(3px)}.ping-leave-active[data-v-3e75b4d4]{position:absolute}table th[data-v-3e75b4d4],table td[data-v-3e75b4d4]{padding:.5rem}.table[data-v-3e75b4d4]>:not(caption)>*>*{background-color:transparent!important}

Some files were not shown because too many files have changed in this diff Show More