Compare commits

..

920 Commits

Author SHA1 Message Date
Donald Zou fa04ad1395 Merge pull request #518 from donaldzou/v4.1.1-dev
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
Previous PR was merged too fast 🥇
2024-11-15 12:11:18 +01:00
daanselen 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
daanselen 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
daanselen 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
daanselen 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 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
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 21730102ae Merge pull request #474 from donaldzou/DaanSelen-lang-1 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 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 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
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
daanselen 3b78cfe0fd Renamed files and changed Dutch file. 2024-11-07 11:26:37 +01:00
daanselen 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
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
Hotfix.
2024-11-02 16:20:35 +08:00
Donald Zou e533a0e405 Merge pull request #445 from knd775/patch-1
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 2024-11-01 16:11:26 +08:00
daanselen 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
daanselen 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
daanselen adeb57864b Fixed incorrect Docker_IMAGE variable from dselen/ -> donaldzou/ 2024-10-24 10:48:14 +02:00
daanselen 747f1a6fae SEC: Fixed CVE-2024-9143 presence. 2024-10-24 10:24:22 +02:00
daanselen 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
daanselen 5ad9c0e77a Fixed issue where the wg0.conf template got obliterated.
Moved it to a safe spot.
2024-10-24 00:23:12 +02:00
daanselen 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
daanselen 4902b5f351 Initial testing to update from version 4.0.3 to 4.0.4 have succeeded! 2024-10-23 23:47:00 +02:00
daanselen 166fcda193 Minor changes to compose and Dockerfile. 2024-10-23 23:15:41 +02:00
daanselen 83560bc775 Changed around Docker image building and entrypoint.
- Succeeding my tests.
2024-10-23 22:40:40 +02:00
daanselen 4ffb00c9f5 Updated ensure install. 2024-10-23 16:57:51 +02:00
daanselen fbac41a774 Changed ensure install 2024-10-23 16:57:40 +02:00
daanselen 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
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
daanselen cfe59774e7 Changed Docker image names: dselen -> donaldzou 2024-10-21 12:09:53 +02:00
daanselen 1098475473 Changed failing criteria 2024-10-21 12:07:33 +02:00
Donald Zou 4546e795ef Merge pull request #433 from reloadlife/patch-1
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
daanselen 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
daanselen 145d12b2c8 Added minor changes and deletions. 2024-10-03 08:26:30 -05:00
daanselen 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
daanselen 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
daanselen 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
daanselen 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
daanselen 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
daanselen c3cda05d98 Move fix. 2024-08-27 02:26:19 -05:00
daanselen 548f3db33d quickfix 2024-08-26 16:16:43 -05:00
daanselen a76e9ed98b Testing more changes for better handling of variables. 2024-08-26 16:16:09 -05:00
daanselen c0ef41a9bb Forgot to reorder 2024-08-26 15:54:27 -05:00
daanselen f6e5d9675a Alternative testing. 2024-08-26 15:53:53 -05:00
daanselen ef028659d8 Testing improvement 2024-08-26 15:46:17 -05:00
daanselen 40f39e918d Finished work for now on the alpine docker image. 2024-08-26 15:28:27 -05:00
daanselen 2ec3ee2734 Fixed typo 2024-08-26 13:42:08 -05:00
daanselen 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
daanselen 1d20dc9fcb Looking like a promising end of this task. 2024-08-23 13:01:50 -05:00
daanselen 49502235b5 These needed to be added. 2024-08-23 12:48:33 -05:00
daanselen 6e9d71fcf8 Added reverted some no longer needed changes 2024-08-23 12:48:16 -05:00
daanselen 27c7e33773 added RHEL etc workings. 2024-08-23 12:27:41 -05:00
daanselen 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
daanselen 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
daanselen e3771a1c53 Refined logging output a bit. 2024-08-22 16:58:29 -05:00
daanselen 2e9ac00a42 modified all and patched security vulnerability issue #333 2024-08-22 16:31:47 -05:00
daanselen 4b8b3acd39 Small readme change 2024-08-22 14:00:55 -05:00
daanselen 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
daanselen bd3aa28523 Changed readme and compose for templating. 2024-08-20 14:48:36 -05:00
daanselen 68d0ae4002 Added context and refined code. 2024-08-20 13:54:49 -05:00
daanselen 6991039640 Working prototype. 2024-08-20 12:58:30 -05:00
daanselen 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
daanselen 44e738acf5 Merge branch 'main' of https://github.com/DaanSelen/WGDashboard-dockerized 2024-06-10 20:36:13 +02:00
daanselen 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
daanselen 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 Cheng Hong Zou f76579fe5e v2.0-beta-6 Commit 2021-05-13 18:00:40 -04:00
Donald Zou db05ff5e98 Update README.md 2021-05-08 12:35:22 -04:00
Donald Zou a05d6979ec Update README.md 2021-05-07 15:27:37 -04:00
Donald Zou be40d17172 Update README.md 2021-05-07 15:25:23 -04:00
Donald Zou 9e11339979 Update README.md 2021-05-06 11:20:28 -04:00
Donald Zou a56129afe0 Update README.md 2021-05-05 17:25:23 -04:00
Donald Zou 8933ea999c Update README.md 2021-05-05 15:52:13 -04:00
Donald Zou ae3b8f6494 Merge pull request #19 from donaldzou/v2.0-beta-6
v2.0 merge to main
2021-05-05 15:29:41 -04:00
Donald Cheng Hong Zou 33487ee03f v2.0-beta-6 Commit 2021-05-05 15:16:32 -04:00
Donald Cheng Hong Zou 58ecae1162 v2.0-beta-6 Commit 2021-05-05 15:09:34 -04:00
Donald Cheng Hong Zou 8777da10e4 v2.0-beta-1 Commit 2021-05-05 14:59:00 -04:00
Donald Zou 4ea971c1b9 v2.0-beta-1 Commit 2021-05-05 14:52:28 -04:00
Donald Cheng Hong Zou 0fa4759c3a Update 2021-05-05 14:38:10 -04:00
Donald Cheng Hong Zou fe7b9730d3 Update README.md 2021-05-04 21:41:13 -04:00
Donald Cheng Hong Zou 040f6a8393 Commit 2021-05-04 21:26:40 -04:00
Donald Cheng Hong Zou b17575b197 Update requirements.txt 2021-05-04 15:55:52 -04:00
Donald Cheng Hong Zou dee4f757e7 Upload README pictures 2021-05-04 15:42:04 -04:00
Donald Cheng Hong Zou 5ae08d02ab Merge branch 'main' of https://github.com/donaldzou/Wireguard-Dashboard into main 2021-05-04 02:10:32 -04:00
Donald Cheng Hong Zou b83aec4965 v2.0-beta-2 Commit 2021-05-04 02:10:06 -04:00
Donald Zou 68c4837780 Merge pull request #18 from donaldzou/testing
Update .gitignore
2021-05-04 01:39:51 -04:00
Donald Cheng Hong Zou 46fe5e99fe Update .gitignore 2021-05-04 01:39:32 -04:00
Donald Zou 9ffb537cfb Delete wg-dashboard.ini 2021-05-04 01:39:14 -04:00
Donald Zou cc7e6f852d Merge pull request #17 from donaldzou/testing
v2.0-beta1 Merge
2021-05-04 01:37:27 -04:00
Donald Cheng Hong Zou f83e99c62c Merge branch 'testing' of https://github.com/donaldzou/Wireguard-Dashboard into testing 2021-05-04 01:36:32 -04:00
Donald Zou bc8b8e7982 v2.0-beta-1 Commit 2021-05-04 01:32:34 -04:00
Donald Zou 3b761ca2a8 Update README.md 2021-05-04 01:20:20 -04:00
Donald Cheng Hong Zou edc21f9830 Update README.md 2021-04-12 23:18:57 -04:00
Donald Cheng Hong Zou d025ec4dff Push Logo 2021-04-12 23:16:12 -04:00
Donald Cheng Hong Zou ab334a393f Logo 2021-04-12 23:15:53 -04:00
Donald Cheng Hong Zou 2a9044086f Push Logo 2021-04-12 23:14:53 -04:00
Donald Zou c3038ec60c Merge pull request #14 from donaldzou/all-contributors/add-tonjo
docs: add tonjo as a contributor
2021-04-12 22:30:23 -04:00
allcontributors[bot] 0fa827ba00 docs: update .all-contributorsrc [skip ci] 2021-04-13 02:29:48 +00:00
allcontributors[bot] 26002fc372 docs: update README.md [skip ci] 2021-04-13 02:29:47 +00:00
Donald Zou 59acba8c08 Update README.md 2021-04-12 22:29:00 -04:00
Donald Zou 4c5ee45fdb Update README.md 2021-04-12 22:28:30 -04:00
Donald Zou 6062120d0d Merge pull request #13 from donaldzou/all-contributors/add-antonioag95
docs: add antonioag95 as a contributor
2021-04-12 22:27:54 -04:00
allcontributors[bot] cd3ffb2126 docs: create .all-contributorsrc [skip ci] 2021-04-13 02:26:56 +00:00
allcontributors[bot] a8c11cc445 docs: update README.md [skip ci] 2021-04-13 02:26:55 +00:00
Donald Zou fcb89aac6b Update README.md 2021-04-12 11:05:19 -04:00
Donald Zou 3704d8f6e7 Merge pull request #11 from tonjo/patch-1
Avoid error when `AllowedIPs` is not defined for a peer.
2021-04-12 11:01:38 -04:00
Donald Zou 8c75d172c5 Update issue templates 2021-04-10 12:49:34 -04:00
Donald Zou 5687302081 Update issue templates 2021-04-10 12:47:18 -04:00
Donald Zou 9020b16a9a Update README.md 2021-04-10 00:49:32 -04:00
tonjo d5462df4da Update dashboard.py 2021-04-09 11:15:25 +02:00
tonjo 9021ca31af Avoid error when AllowedIps is not defined 2021-04-09 11:08:41 +02:00
Donald Zou 83cb8b7f03 Update README.md 2021-04-09 00:42:42 -04:00
Donald Cheng Hong Zou baf2658eb8 v20210409 2021-04-09 00:07:37 -04:00
Donald Zou 3f19b05d28 Update README.md 2021-04-07 17:25:21 -04:00
Donald Zou 5e6be1f830 Update README.md 2021-04-07 15:58:00 -04:00
Donald Zou 14d1a3038f Update README.md 2021-04-07 12:19:23 -04:00
Donald Zou 6a15e2e587 Update README.md 2021-04-07 12:15:45 -04:00
Donald Zou 0679805728 Update README.md 2021-04-07 12:01:35 -04:00
Donald Zou 62a03419a5 Update README.md 2021-04-07 11:52:24 -04:00
Donald Zou 81f6b0767e Update README.md 2021-04-07 11:52:03 -04:00
Donald Zou c7ca5c749b Update README.md 2021-04-06 19:52:33 -04:00
Donald Zou 1daac09b7c Update README.md 2021-04-06 19:51:50 -04:00
Donald Zou 4d3dd68ac0 Merge pull request #5 from antonioag95/main
- Fixed a bug where a peer without last handshake date was showing wrong date in UI
- Hidden and temp `.conf` files will be excluded from interfaces list
2021-04-06 19:43:52 -04:00
Donald Zou de9e4a6270 Update README.md 2021-04-06 16:51:37 -04:00
Donald Zou bf8f347245 Update README.md 2021-04-06 15:03:49 -04:00
Donald Zou a70d09ac7a Update README.md 2021-04-06 10:14:11 -04:00
Donald Zou 919b344da4 Update README.md 2021-04-05 22:41:55 -04:00
antonioag95 44f013a678 Update dashboard.py
- Fixed a bug where a peer without last handshake date was showing wrong date in webui
- Hidden and temp conf files will be excluded from interfaces list
2021-04-03 23:48:07 +02:00
Donald Zou 742191111b Merge pull request #4 from donaldzou/v20210403-alpha
v20210403 Bug Fixed
2021-04-03 14:31:11 -04:00
Donald Cheng Hong Zou 8dc0031475 Update dashboard.py 2021-04-03 14:30:02 -04:00
Donald Cheng Hong Zou 19fb90a300 Update dashboard.py 2021-04-03 14:10:07 -04:00
Donald Cheng Hong Zou 0c3960d8d9 Commit 2021-04-03 14:06:21 -04:00
Donald Cheng Hong Zou 7e770b9b5d v20210402.2 2021-04-02 22:22:41 -04:00
212 changed files with 27570 additions and 953 deletions
+4
View File
@@ -0,0 +1,4 @@
# These are supported funding model platforms
github: [donaldzou]
patreon: DonaldDonnyZou
+28
View File
@@ -0,0 +1,28 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
assignees: ''
---
**Describe The Problem**
A clear and concise description of what the bug is.
**Expected Error / Traceback**
```
Please provide the error traceback here
```
**To Reproduce**
Please provide how you run the dashboard
**OS Information:**
- OS: [e.g. Ubuntu 18.02]
- Python Version: [e.g v3.7]
**Sample of your `.conf` file**
```
Please provide a sample of your configuration file that you are having problem with. You can replace your public key and private key to ABCD...
```
+14
View File
@@ -0,0 +1,14 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
+70
View File
@@ -0,0 +1,70 @@
# 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:
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
+50
View File
@@ -0,0 +1,50 @@
name: Docker-Analyze
on:
schedule:
- cron: "0 0 * * *" # Daily at midnight UTC
workflow_dispatch:
inputs:
trigger-build:
description: 'Trigger a manual build and push'
default: 'true'
env:
DOCKER_IMAGE: donaldzou/wgdashboard
jobs:
docker_analyze:
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:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_PASSWORD }}
- name: Install Docker Scout
run: |
echo "Installing Docker Scout..."
curl -fsSL https://raw.githubusercontent.com/docker/scout-cli/main/install.sh | sh -s --
echo "Docker Scout installed successfully."
- name: Analyze Docker image with Docker Scout
id: analyze-image
run: |
echo "Analyzing Docker image with Docker Scout..."
docker scout cves ${{ env.DOCKER_IMAGE }}:latest > scout-results.txt
cat scout-results.txt
echo "Docker Scout analysis completed."
- name: Fail if critical CVEs are found
run: |
if grep -q "0C" scout-results.txt; then
echo "No critical vulnerabilities found! Continueing."
exit 0
else
echo "At least one critical vulnerabilities found! Exiting."
exit 1
fi
+44
View File
@@ -0,0 +1,44 @@
name: Docker-Build
on:
push:
branches: [ main ]
workflow_dispatch:
inputs:
trigger-build:
description: 'Trigger a manual build and push'
default: 'true'
env:
DOCKER_IMAGE: donaldzou/wgdashboard
jobs:
docker_build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_PASSWORD }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and export (multi-arch)
uses: docker/build-push-action@v6
with:
context: .
push: true
tags: ${{ env.DOCKER_IMAGE }}:latest
platforms: linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7
+48 -4
View File
@@ -1,7 +1,51 @@
.vscode/sftp.json .vscode
src/.vscode/sftp.json
.DS_Store .DS_Store
wg.db
*.json
.idea .idea
src/db
__pycache__
src/test.py 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
# 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/*
+58
View File
@@ -0,0 +1,58 @@
FROM alpine:latest
LABEL maintainer="dselen@nerthus.nl"
# Declaring environment variables, change Peernet to an address you like, standard is a 24 bit subnet.
ARG wg_net="10.0.0.1"
ARG 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"
ENV global_dns="1.1.1.1"
ENV isolate="none"
ENV public_ip="0.0.0.0"
# Doing package management operations, such as upgrading
RUN apk update \
&& apk add --no-cache bash git tzdata \
iptables ip6tables openrc curl wireguard-tools \
sudo py3-psutil py3-bcrypt \
&& apk upgrade
# 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/wireguarddashboard
# Removing the Linux Image package to preserve space on the image, for this reason also deleting apt lists, to be able to install packages: run apt update.
# 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
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 entrypoint.sh /entrypoint.sh
# Exposing the default WireGuard Dashboard port for web access.
EXPOSE 10086
ENTRYPOINT ["/bin/bash", "/entrypoint.sh"]
+38 -41
View File
@@ -1,49 +1,46 @@
# Wireguard Dashboard > [!NOTE]
Monitoring Wireguard is not convinient, need to login into server and type `wg show`. That's why this platform is being created, to view all configurations in a more straight forward way. > **Help Wanted 🎉**: Localizing WGDashboard to other languages! If you're willing to help, please visit https://github.com/donaldzou/WGDashboard/issues/397. Many thanks!
<hr>
## 💡Features <p align="center">
<img alt="WGDashboard" src="./src/static/app/public/img/logo.png" width="128">
</p>
<h1 align="center">WGDashboard</h1>
<p align="center">
<img src="https://forthebadge.com/images/badges/made-with-python.svg">
<img src="https://forthebadge.com/images/badges/made-with-javascript.svg">
<img src="https://forthebadge.com/images/badges/license-mit.svg">
</p>
<p align="center">
<img src="https://forthebadge.com/images/badges/built-with-love.svg">
</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 href="https://wakatime.com/badge/github/donaldzou/WGDashboard"><img src="https://wakatime.com/badge/github/donaldzou/WGDashboard.svg" alt="wakatime"></a>
<a href="https://hits.seeyoufarm.com"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Fdonaldzou%2FWGDashboard&count_bg=%2379C83D&title_bg=%23555555&icon=github.svg&icon_color=%23E7E7E7&title=Visitor&edge_flat=false"/></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>
- Add peers in configuration <p align="center"><b><i>This project is not affiliate to the official WireGuard Project</i></b></p>
- Manage peer names
- Delete peers
- And many more coming up! Welcome to contribute to this project!
## 📝Requirement
- Ubuntu 18.04.1 LTS, other OS might work, but haven't test yet. <p align="center">
- **Wireguard** Join our Discord Server for quick help, or you wanna chat about this project!
- Configuration files under **/etc/wireguard** </p>
- Python 3.7 <p align="center">
<a align="center" href="https://discord.gg/72TwzjeuWm"><img src="https://img.shields.io/discord/1276818723637956628?labelColor=ffffff&style=for-the-badge&logo=discord&label=Discord"></a>
</p>
## 🛠Install
**1. Install Python Dependencies** <hr>
``` > [!NOTE]
$ python3 -m pip install flask tinydb > To better manage documentation for this project. I've moved it to its own [repo](https://github.com/donaldzou/WGDashboard-Documentation). I will keep updating over there and leave this README only with important information.
```
**2. Install Wireguard Dashboard** - [💡 Features](https://donaldzou.github.io/WGDashboard-Documentation/features.html)
- [📝 Requirements](https://donaldzou.github.io/WGDashboard-Documentation/requirements.html)
``` - [🛠 Install](https://donaldzou.github.io/WGDashboard-Documentation/install.html)
$ git clone https://github.com/donaldzou/Wireguard-Dashboard.git - [🪜 Usage](https://donaldzou.github.io/WGDashboard-Documentation/usage.html)
$ cd Wireguard-Dashboard/src - [📖 API Documentation](https://donaldzou.github.io/WGDashboard-Documentation/api-documentation.html)
$ python3 dashboard.py - [And much more...](https://donaldzou.github.io/WGDashboard-Documentation/)
```
Access your server with port `10086` ! e.g (http://your_server_ip:10086)
**3. Install with Production Mode (Optional)**
```
$ cd Wireguard-Dashboard/src
$ export FLASK_APP=dashboard.py
$ export FLASK_RUN_HOST=0.0.0.0
$ export FLASK_ENV=development
$ export FLASK_DEBUG=0
$ flask run
```
## 🔍Example
![Index Image](https://github.com/donaldzou/Wireguard-Dashboard/raw/main/src/static/index.png)
![Conf Image](https://github.com/donaldzou/Wireguard-Dashboard/raw/main/src/static/configuration.png)
+10
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: |
+109
View File
@@ -0,0 +1,109 @@
# 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, 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.
I have tried to embed some new features such as `isolate` and interface startup on container-start (through `enable`). I hope you enjoy!
<img src="https://raw.githubusercontent.com/donaldzou/WGDashboard/main/src/static/img/logo.png" alt="WG-Dashboard Logo" title="WG-Dashboard Logo" width="150" height="150" />
## Getting the container running:
To get the container running you either pull the image from the repository, `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`.
An example of a simple command to get the container running is show below:<br>
```shell
docker run -d \
--name wgdashboard \
--restart unless-stopped \
-e enable=wg0 \
-e isolate=wg0 \
-p 10086:10086/tcp \
-p 51820:51820/udp \
--cap-add NET_ADMIN \
donaldzou/wgdashboard:latest
```
<br>
If you want to use Compose instead of a raw Docker command, refer to the example in the `compose.yaml` or the one pasted below:
<br><br>
```yaml
services:
wgdashboard:
image: donaldzou/wgdashboard:latest
restart: unless-stopped
container_name: wgdashboard
environment:
#- tz=
#- global_dns=
#- enable=
#- isolate=
#- public_ip=
ports:
- 10086:10086/tcp
- 51820:51820/udp
volumes:
- conf:/etc/wireguard
- data:/data
cap_add:
- NET_ADMIN
volumes:
conf:
data:
```
If you want to customize the yaml, make sure the core stays the same, but for example volume PATHs (ON THE HOST) can be freely changed.<br>
This setup is just generic and will use the Docker volumes.
## Updating the container:
Updating is right now in Alpha stage. I have got it to work, testing methods.
## Working with the container and environment variables:
Once the container is running, the installation process is essentially the same as running it on bare-metal.<br>
So go to the assign TCP port in this case HTTP, like the default 10086 one in the example and log into the WEB-GUI.<br>
| Environment variable | Accepted arguments | Default value | Example value | Verbose |
| -------------- | ------- | ------- | ------- | ------- |
| tz | Europe/Amsterdam or any confirming timezone notation. | `Europe/Amsterdam` | `America/New_York` | Sets the timezone of the Docker container. This is to timesync the container to any other processes which would need it. |
| global_dns | Any IPv4 address, such as my personal recommendation: 9.9.9.9 (QUAD9). | `1.1.1.1` | `8.8.8.8` or any IP-Address that resolves DNS-names, and of course is reachable | Set the default DNS given to clients once they connect to the WireGuard tunnel, and for new peers, set to Cloudflare DNS for reliability.
| enable | Anything, preferably an existing WireGuard interface name. | `none` | `wg0,wg2,wg13` | Enables or disables the starting of the WireGuard interface on container 'boot-up'.
| isolate | Anything, preferably an existing WireGuard interface name. | `none` | `wg1,wg0` | The Wireguard interface itself IS able to reach the peers (Done through the `iptables` package).
| public_ip | Any IPv4 (public recommended) address, such as the one returned by default | Default uses the return of `curl ifconfig.me` | `89.20.83.118` | To reach your VPN from outside your own network, you need WG-Dashboard to know what your public IP-address is, otherwise it will generate faulty config files for clients. This happends because it is inside a Docker/Kubernetes container. In or outside of NAT is not relevant as long as the given IP-address is reachable from the internet or the target network.
## Be careful with:
When you are going to work with multiple WireGuard interfaces, you need to also open them up to the Docker host. This done by either adding the port mappings like: `51821:51821/udp` in the Docker Compose file, or to open a range like: `51820-51830:51820-51830/udp`<br>
The latter opens up UDP ports from 51820 to 51830, so all ports in between as well! Be careful, it is good security practise to open only needed ports!
## Building the image yourself:
To build the image yourself, you need to do a couple things:<br>
1. Clone the Github repository containing the source code of WGDashboard including the docker directory. For example do: `git clone https://github.com/donaldzou/WGDashboard.git`
1. Navigate into the cloned repository.
1. (Make sure you have Docker correctly installed, if not: [Click here](https://docs.docker.com/engine/install/)) and run: `docker build . -t <Image name>:<Image tag>` as an example: `docker build . -t dselen/wgdashboard:latest`.<br>
This will make Docker compile the image from the resources in the directory you mention, in this case the source/root one. Let it compile, it takes only a couple seconds with a minute at most.
1. If all went well, see your image with `docker images`. Example below:
```shell
dselen@dev-mach:~/development/WGDashboard/docker$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
dselen/wgdashboard latest c96fd96ee3b3 42 minutes ago 314MB
```
## Closing remarks:
For feedback please submit an issue to the repository. Or message dselen@nerthus.nl.
+22
View File
@@ -0,0 +1,22 @@
services:
wireguard-dashboard:
image: donaldzou/wgdashboard:latest
restart: unless-stopped
container_name: wgdashboard
#environment:
#- tz= # <--- Set container timezone, default: Europe/Amsterdam.
#- global_dns= # <--- Set global DNS address, default: 1.1.1.1.
#- isolate= # <--- Set the interfaces that will disallow peer communication, default: 'none'.
#- public_ip= # <--- Set public IP to ensure the correct one is chosen, defaulting to the IP give by ifconfig.me.
ports:
- 10086:10086/tcp
- 51820:51820/udp
volumes:
- conf:/etc/wireguard
- data:/data
cap_add:
- NET_ADMIN
volumes:
conf:
data:
+235
View File
@@ -0,0 +1,235 @@
#!/bin/bash
# Path to the configuration file (exists because of previous function).
config_file="/data/wg-dashboard.ini"
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..."
if [ ! -d "/data/db" ]; then
echo "Creating database dir"
mkdir /data/db
fi
if [ ! -d "${WGDASH}/src/db" ]; then
ln -s /data/db "${WGDASH}/src/db"
fi
if [ ! -f "${config_file}" ]; then
echo "Creating wg-dashboard.ini file"
touch "${config_file}"
fi
if [ ! -f "${WGDASH}/src/wg-dashboard.ini" ]; then
ln -s "${config_file}" "${WGDASH}/src/wg-dashboard.ini"
fi
python3 -m venv "${WGDASH}"/src/venv
. "${WGDASH}/src/venv/bin/activate"
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
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
chmod +x "${WGDASH}"/src/wgd.sh
cd "${WGDASH}"/src || exit
./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
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." # SORRY 4 BE4 - Daan
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]"
} > "${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 correct, moving on."
else
echo "Changing default DNS..."
sed -i "s/^peer_global_dns = .*/peer_global_dns = ${global_dns}/" "${config_file}"
fi
if [ "${public_ip}" == "0.0.0.0" ]; 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}"
else
echo "Public-IP is correct, moving on."
fi
}
# === CORE SERVICES ===
start_core() {
printf "\n---------------------- STARTING CORE -----------------------\n"
echo "Activating Python venv and executing the WireGuard Dashboard service."
. "${WGDASH}"/src/venv/bin/activate
cd "${WGDASH}"/src || return
bash wgd.sh start
# Isolated peers feature, first converting the existing configuration files and the given names to arrays.
#
# WILL BE REMOVED IN FUTURE WHEN WGDASHBOARD ITSELF SUPPORTS THIS!!
#
local configurations=(/etc/wireguard/*)
IFS=',' read -r -a do_isolate <<< "${isolate}"
non_isolate=()
# Checking if there are matches between the two arrays.
for config in "${configurations[@]}"; do
config=$(echo "$config" | sed -e 's|.*/etc/wireguard/||' -e 's|\.conf$||')
local found
found=false
for interface in "${do_isolate[@]}"; do
if [[ "$config" == "$interface" ]]; then
found=true
break
fi
done
if [ "$found" = false ]; then
non_isolate+=("$config")
fi
done
# Isolating the matches.
noneFound=0
for interface in "${do_isolate[@]}"; do
if [ "$interface" = "none" ] || [ "$interface" = "" ]; then
echo "Found none, stopping isolation checking."
noneFound=1
break
else
if [ ! -f "/etc/wireguard/${interface}.conf" ]; then
echo "Ignoring ${interface}"
elif [ -f "/etc/wireguard/${interface}.conf" ]; then
echo "Isolating interface:" "$interface"
upblocking=$(grep -c "PostUp = iptables -I FORWARD -i ${interface} -o ${interface} -j DROP" /etc/wireguard/"${interface}".conf)
downblocking=$(grep -c "PreDown = iptables -D FORWARD -i ${interface} -o ${interface} -j DROP" /etc/wireguard/"${interface}".conf)
if [ "$upblocking" -lt 1 ] && [ "$downblocking" -lt 1 ]; then
sed -i "/PostUp =/a PostUp = iptables -I FORWARD -i ${interface} -o ${interface} -j DROP" /etc/wireguard/"${interface}".conf
sed -i "/PreDown =/a PreDown = iptables -D FORWARD -i ${interface} -o ${interface} -j DROP" /etc/wireguard/"${interface}".conf
fi
else
echo "Configuration for $interface in enforce isolation does not seem to exist, continuing."
fi
fi
done
# Removing isolation for the configurations that did not match.
for interface in "${non_isolate[@]}"; do
if [ $noneFound -eq 1 ]; then
break
elif [ ! -f "/etc/wireguard/${interface}.conf" ]; then
echo "Ignoring ${interface}"
elif [ -f "/etc/wireguard/${interface}.conf" ]; then
echo "Removing isolation, if isolation is present for:" "$interface"
sed -i "/PostUp = iptables -I FORWARD -i ${interface} -o ${interface} -j DROP/d" /etc/wireguard/"${interface}".conf
sed -i "/PreDown = iptables -D FORWARD -i ${interface} -o ${interface} -j DROP/d" /etc/wireguard/"${interface}".conf
else
echo "Configuration for $interface in removing isolation does not seem to exist, continuing."
fi
done
}
ensure_blocking() {
sleep 1s
echo -e "\nEnsuring container continuation."
# Find and tail the latest error and access logs if they exist
local logdir="/opt/wireguarddashboard/src/log"
latestErrLog=$(find "$logdir" -name "error_*.log" -type f -print | sort -r | head -n 1)
latestAccLog=$(find "$logdir" -name "access_*.log" -type f -print | sort -r | head -n 1)
# Only tail the logs if they are found
if [ -n "$latestErrLog" ] || [ -n "$latestAccLog" ]; then
tail -f "$latestErrLog" "$latestAccLog"
else
echo "No log files found to tail."
fi
# Blocking command to keep the container running as a last resort.
sleep infinity
}
# Execute functions for the WireGuard Dashboard services, then set the environment variables
ensure_installation
set_envvars
start_core
ensure_blocking
+1098
View File
File diff suppressed because it is too large Load Diff
+8
View File
@@ -0,0 +1,8 @@
{
"dependencies": {
"@volar/language-server": "2.4.0-alpha.18",
"@vue/language-server": "2.0.28",
"ag-charts-vue3": "^10.3.1",
"dayjs": "^1.11.12"
}
}
-2
View File
@@ -1,2 +0,0 @@
Flask==1.1.2
tinydb==4.3.0
+4
View File
@@ -0,0 +1,4 @@
authenticator = standalone
noninteractive = true
agree-tos = true
rsa-key-size = 2048
+2546 -237
View File
File diff suppressed because it is too large Load Diff
-1
View File
@@ -1 +0,0 @@
You can delete this later ;)
+26
View File
@@ -0,0 +1,26 @@
import dashboard
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"
print(f"[WGDashboard] WGDashboard w/ Gunicorn will be running on {bind}", flush=True)
print(f"[WGDashboard] Access log file is at {accesslog}", flush=True)
print(f"[WGDashboard] Error log file is at {errorlog}", flush=True)
View File
+9
View File
@@ -0,0 +1,9 @@
bcrypt
ifcfg
psutil
pyotp
Flask
flask-cors
icmplib
gunicorn
requests
BIN
View File
Binary file not shown.
+30
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
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
+1
View File
@@ -0,0 +1 @@
import{_ as r,c as i,d as o,w as e,j as l,a as t,T as _,i as a,l as d,S as u}from"./index-DeLT-ag4.js";const m={name:"configuration"},p={class:"mt-md-5 mt-3 text-body"};function f(x,h,k,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};
@@ -0,0 +1 @@
.confirmationContainer[data-v-a575be12]{background-color:#00000087;z-index:9999;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px)}.list1-enter-active[data-v-a575be12]{transition-delay:var(--6919ade8)!important}.card[data-v-1f718118],.title[data-v-1f718118]{width:100%}@media screen and (min-width: 700px){.card[data-v-1f718118],.title[data-v-1f718118]{width:700px}}.animate__fadeInUp[data-v-1f718118]{animation-timing-function:cubic-bezier(.42,0,.22,1)}.list1-move[data-v-1f718118],.list1-enter-active[data-v-1f718118],.list1-leave-active[data-v-1f718118]{transition:all .5s cubic-bezier(.42,0,.22,1)}.list1-enter-from[data-v-1f718118],.list1-leave-to[data-v-1f718118]{opacity:0;transform:translateY(30px)}.list1-leave-active[data-v-1f718118]{width:100%;position:absolute}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
.fade-enter-active[data-v-a85a04a5]{transition-delay:var(--1d5189b2)!important}.configurationListTitle{.btn[data-v-16b5ab33]{border-radius:50%!important}}
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
import{$ as w,r as c,H as x,D as B,o as _,a as l,c as b,b as t,d as o,n as D,m as $,s as N,B as m,i as v,q as M,g as T}from"./index-DeLT-ag4.js";import{L as s}from"./localeText-Bm68I_nB.js";const I={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},R={class:"container d-flex h-100 w-100"},S={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"700px"}},V={class:"card rounded-3 shadow flex-grow-1 bg-danger-subtle border-danger-subtle",id:"deleteConfigurationContainer"},A={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},L={class:"mb-0"},P={class:"card-body px-4 text-muted"},W={class:"mb-0"},q={key:0},z={key:1},E={key:2,class:"d-flex align-items-center gap-2"},G=["placeholder"],H=["disabled"],J={__name:"deleteConfiguration",emits:["backup"],setup(O,{emit:k}){const i=w().params.id,g=c(""),h=x(),p=B(),r=c(!1),y=()=>{clearInterval(p.Peers.RefreshInterval),r.value=!0,M("/api/deleteWireguardConfiguration",{Name:i},n=>{n.status?(h.push("/"),p.newMessage("Server","Configuration deleted","success")):r.value=!1})},u=c(!0),d=c([]),f=()=>{u.value=!0,T("/api/getWireguardConfigurationBackup",{configurationName:i},n=>{d.value=n.data,u.value=!1})};_(()=>{f()});const C=k;return(n,e)=>(l(),b("div",I,[t("div",R,[t("div",S,[t("div",V,[t("div",A,[t("h5",L,[o(s,{t:"Are you sure to delete this configuration?"})]),t("button",{type:"button",class:"btn-close ms-auto",onClick:e[0]||(e[0]=a=>n.$emit("close"))})]),t("div",P,[t("p",W,[o(s,{t:"Once you deleted this configuration:"})]),t("ul",null,[t("li",null,[o(s,{t:"All connected peers will get disconnected"})]),t("li",null,[o(s,{t:"Both configuration file (.conf) and database table related to this configuration will get deleted"})])]),t("div",{class:D(["alert",[u.value?"alert-secondary":d.value.length>0?"alert-success":"alert-danger"]])},[u.value?(l(),b("div",q,[e[5]||(e[5]=t("i",{class:"bi bi-search me-2"},null,-1)),o(s,{t:"Checking backups..."})])):d.value.length>0?(l(),b("div",z,[e[6]||(e[6]=t("i",{class:"bi bi-check-circle-fill me-2"},null,-1)),o(s,{t:"This configuration have "+d.value.length+" backups"},null,8,["t"])])):(l(),b("div",E,[e[9]||(e[9]=t("i",{class:"bi bi-x-circle-fill me-2"},null,-1)),o(s,{t:"This configuration have no backup"}),t("a",{role:"button",onClick:e[1]||(e[1]=a=>C("backup")),class:"ms-auto btn btn-sm btn-primary rounded-3"},[e[7]||(e[7]=t("i",{class:"bi bi-clock-history me-2"},null,-1)),o(s,{t:"Backup"})]),t("a",{role:"button",onClick:e[2]||(e[2]=a=>f()),class:"btn btn-sm btn-primary rounded-3"},e[8]||(e[8]=[t("i",{class:"bi bi-arrow-clockwise"},null,-1)]))]))],2),e[11]||(e[11]=t("hr",null,null,-1)),t("p",null,[o(s,{t:"If you're sure, please type in the configuration name below and click Delete"})]),$(t("input",{class:"form-control rounded-3 mb-3",placeholder:m(i),"onUpdate:modelValue":e[3]||(e[3]=a=>g.value=a),type:"text"},null,8,G),[[N,g.value]]),t("button",{class:"btn btn-danger w-100",onClick:e[4]||(e[4]=a=>y()),disabled:g.value!==m(i)||r.value},[e[10]||(e[10]=t("i",{class:"bi bi-trash-fill me-2 rounded-3"},null,-1)),r.value?(l(),v(s,{key:1,t:"Deleting..."})):(l(),v(s,{key:0,t:"Delete"}))],8,H)])])])])]))}};export{J as default};
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
@media screen and (max-width: 567px){.inputGroup{&[data-v-4be4f48a]{flex-direction:column}h3[data-v-4be4f48a]{transform:rotate(90deg)}}}
+1
View File
@@ -0,0 +1 @@
@media screen and (max-width: 768px){.navbar-container[data-v-83a7789f]{position:absolute;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-83a7789f]{animation-direction:normal;display:block!important;animation-name:zoomInFade-83a7789f}}.navbar-container[data-v-83a7789f]{height:100vh}@supports (height: 100dvh){@media screen and (max-width: 768px){.navbar-container[data-v-83a7789f]{height:calc(100dvh - 50px)}}}@keyframes zoomInFade-83a7789f{0%{opacity:0;transform:translateY(60px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0px)}}.messageCentre[data-v-ce114a8b]{top:1rem;right:1rem;width:calc(100% - 2rem)}main[data-v-ce114a8b]{height:100vh}@supports (height: 100dvh){@media screen and (max-width: 768px){main[data-v-ce114a8b]{height:calc(100dvh - 50px)}}}
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
+1
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};
+1
View File
@@ -0,0 +1 @@
import{_ as t,G as e,t as o}from"./index-DeLT-ag4.js";const s={name:"localeText",props:{t:""},computed:{getLocaleText(){return e(this.t)}}};function a(c,r,n,p,_,i){return o(this.getLocaleText)}const x=t(s,[["render",a]]);export{x as L};
Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

+1
View File
@@ -0,0 +1 @@
import{L as c}from"./localeText-Bm68I_nB.js";import{d as n}from"./dayjs.min-BXJG8oxU.js";import{_ as d,a as r,c as m,b as s,d as i,f as t,t as e,n as l,j as _}from"./index-DeLT-ag4.js";const p={name:"message",methods:{dayjs:n},components:{LocaleText:c},props:{message:Object},mounted(){setTimeout(()=>{this.message.show=!1},5e3)}},g=["id"],h={class:"card-body"},f={class:"d-flex"},x={class:"fw-bold d-block",style:{"text-transform":"uppercase"}},u={class:"ms-auto"};function b(y,v,w,T,j,a){const o=_("LocaleText");return r(),m("div",{class:l(["card shadow rounded-3 position-relative message ms-auto",{"text-bg-danger":this.message.type==="danger","text-bg-success":this.message.type==="success","text-bg-warning":this.message.type==="warning"}]),id:this.message.id},[s("div",h,[s("div",f,[s("small",x,[i(o,{t:"FROM "}),t(" "+e(this.message.from),1)]),s("small",u,e(a.dayjs().format("hh:mm A")),1)]),t(" "+e(this.message.content),1)])],10,g)}const M=d(p,[["render",b],["__scopeId","data-v-f50b8f0c"]]);export{M};
+1
View File
@@ -0,0 +1 @@
.message[data-v-f50b8f0c]{width:100%}@media screen and (min-width: 576px){.message[data-v-f50b8f0c]{width:400px}}
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
@@ -0,0 +1 @@
.slide-up-enter-active[data-v-fcd3ae95],.slide-up-leave-active[data-v-fcd3ae95]{transition:all .2s cubic-bezier(.42,0,.22,1)}.slide-up-enter-from[data-v-fcd3ae95],.slide-up-leave-to[data-v-fcd3ae95]{opacity:0;transform:scale(.9)}@keyframes spin-fcd3ae95{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#check[data-v-fcd3ae95]{animation:cubic-bezier(.42,0,.22,1.3) .7s spin-fcd3ae95}
@@ -0,0 +1 @@
import{_ as f,D as m,r as _,a as s,c as a,b as e,d as l,w as g,T as h}from"./index-DeLT-ag4.js";import{L as v}from"./localeText-Bm68I_nB.js";const y={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0"},x={class:"container d-flex h-100 w-100"},w={class:"m-auto modal-dialog-centered dashboardModal justify-content-center"},C={class:"card rounded-3 shadow w-100"},k={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},F={class:"mb-0"},T={class:"card-body p-4"},D={class:"d-flex"},S=["disabled"],B={key:0,class:"d-block"},M={key:1,class:"d-block",id:"check"},G=["value"],L={__name:"peerConfigurationFile",props:{configurationFile:String},emits:["close"],setup(i,{emit:r}){const c=r,d=i,n=m(),o=_(!1),u=async()=>{navigator.clipboard&&navigator.clipboard.writeText?navigator.clipboard.writeText(d.configurationFile).then(()=>{o.value=!0,setTimeout(()=>{o.value=!1},3e3)}).catch(()=>{n.newMessage("WGDashboard","Failed to copy","danger")}):(document.querySelector("#peerConfigurationFile").select(),document.execCommand("copy")?(o.value=!0,setTimeout(()=>{o.value=!1},3e3)):n.newMessage("WGDashboard","Failed to copy","danger"))};return(p,t)=>(s(),a("div",y,[e("div",x,[e("div",w,[e("div",C,[e("div",k,[e("h4",F,[l(v,{t:"Peer Configuration File"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=b=>c("close"))})]),e("div",T,[e("div",D,[e("button",{onClick:t[1]||(t[1]=b=>u()),disabled:o.value,class:"ms-auto btn bg-primary-subtle border-primary-subtle text-primary-emphasis rounded-3 position-relative"},[l(h,{name:"slide-up",mode:"out-in"},{default:g(()=>[o.value?(s(),a("span",M,t[3]||(t[3]=[e("i",{class:"bi bi-check-circle-fill"},null,-1)]))):(s(),a("span",B,t[2]||(t[2]=[e("i",{class:"bi bi-clipboard-fill"},null,-1)])))]),_:1})],8,S)]),e("textarea",{style:{height:"300px"},class:"form-control w-100 rounded-3 mt-2",id:"peerConfigurationFile",value:i.configurationFile},null,8,G)])])])])]))}},W=f(L,[["__scopeId","data-v-fcd3ae95"]]);export{W as default};
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
.list-move[data-v-6d5fc831],.list-enter-active[data-v-6d5fc831],.list-leave-active[data-v-6d5fc831]{transition:all .3s ease}.list-enter-from[data-v-6d5fc831],.list-leave-to[data-v-6d5fc831]{opacity:0;transform:translateY(10px)}.list-leave-active[data-v-6d5fc831]{position:absolute}.peerSettingContainer[data-v-ddffd6ec]{background-color:#00000060;z-index:9998}div[data-v-ddffd6ec]{transition:.2s ease-in-out}.inactiveField[data-v-ddffd6ec]{opacity:.4}.card[data-v-ddffd6ec]{max-height:100%}
+1
View File
@@ -0,0 +1 @@
import{S as p,a as b}from"./schedulePeerJob-B4AuR_O4.js";import{_ as h,W as u,p as m,j 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,k as g}from"./index-DeLT-ag4.js";import{L as w}from"./localeText-Bm68I_nB.js";import"./vue-datepicker-BYU1fpEw.js";import"./dayjs.min-BXJG8oxU.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"},j={class:"mb-0 fw-normal"},k={class:"card-body px-4 pb-4 pt-2 position-relative"},N={class:"d-flex align-items-center mb-3"},T={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",j,[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",k,[e("div",N,[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",T,[e("div",I,[e("h6",L,[r(n,{t:"This peer does not have any job yet."})])])])):x("",!0)]),_:1})])])])])])}const z=h(P,[["render",O],["__scopeId","data-v-5bbdd42b"]]);export{z as default};
+1
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%}
@@ -0,0 +1 @@
import{S as b}from"./schedulePeerJob-B4AuR_O4.js";import{_ as g,W as v,p as f,j as l,a as o,c as t,b as e,d as i,F as p,h,t as _,e as y,i as x}from"./index-DeLT-ag4.js";import{L as J}from"./localeText-Bm68I_nB.js";import"./vue-datepicker-BYU1fpEw.js";import"./dayjs.min-BXJG8oxU.js";const w={name:"peerJobsAllModal",setup(){return{store:v()}},components:{LocaleText:J,SchedulePeerJob:b},props:{configurationPeers:Array[Object]},methods:{getuuid(){return f()}},computed:{getAllJobs(){return this.configurationPeers.filter(r=>r.jobs.length>0)}}},A={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},$={class:"container d-flex h-100 w-100"},k={class:"m-auto modal-dialog-centered dashboardModal"},S={class:"card rounded-3 shadow",style:{width:"700px"}},L={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},j={class:"mb-0 fw-normal"},P={class:"card-body px-4 pb-4 pt-2"},C={key:0,class:"accordion",id:"peerJobsLogsModalAccordion"},M={class:"accordion-header"},B=["data-bs-target"],N={key:0},D={class:"text-muted"},T=["id"],V={class:"accordion-body"},F={key:1,class:"card shadow-sm",style:{height:"153px"}},O={class:"card-body text-muted text-center d-flex"},W={class:"m-auto"};function E(r,s,I,R,q,z){const n=l("LocaleText"),u=l("SchedulePeerJob");return o(),t("div",A,[e("div",$,[e("div",k,[e("div",S,[e("div",L,[e("h4",j,[i(n,{t:"All Active Jobs"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:s[0]||(s[0]=a=>this.$emit("close"))})]),e("div",P,[this.getAllJobs.length>0?(o(),t("div",C,[(o(!0),t(p,null,h(this.getAllJobs,(a,d)=>(o(),t("div",{class:"accordion-item",key:a.id},[e("h2",M,[e("button",{class:"accordion-button collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#collapse_"+d},[e("small",null,[e("strong",null,[a.name?(o(),t("span",N,_(a.name)+" • ",1)):y("",!0),e("samp",D,_(a.id),1)])])],8,B)]),e("div",{id:"collapse_"+d,class:"accordion-collapse collapse","data-bs-parent":"#peerJobsLogsModalAccordion"},[e("div",V,[(o(!0),t(p,null,h(a.jobs,c=>(o(),x(u,{onDelete:s[1]||(s[1]=m=>this.$emit("refresh")),onRefresh:s[2]||(s[2]=m=>this.$emit("refresh")),dropdowns:this.store.PeerScheduleJobs.dropdowns,viewOnly:!0,key:c.JobID,pjob:c},null,8,["dropdowns","pjob"]))),128))])],8,T)]))),128))])):(o(),t("div",F,[e("div",O,[e("span",W,[i(n,{t:"No active job at the moment."})])])]))])])])])])}const X=g(w,[["render",E]]);export{X 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
+1
View File
@@ -0,0 +1 @@
import{b as a}from"./browser-CjSdxGTc.js";import{L as n}from"./localeText-Bm68I_nB.js";import{_ as c,j as r,a as d,c as i,b as e,d as l}from"./index-DeLT-ag4.js";const p={name:"peerQRCode",components:{LocaleText:n},props:{peerConfigData:String},mounted(){a.toCanvas(document.querySelector("#qrcode"),this.peerConfigData,o=>{o&&console.error(o)})}},_={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0"},m={class:"container d-flex h-100 w-100"},h={class:"m-auto modal-dialog-centered dashboardModal justify-content-center"},u={class:"card rounded-3 shadow"},f={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},b={class:"mb-0"},v={class:"card-body"},C={id:"qrcode",class:"rounded-3 shadow",ref:"qrcode"};function g(o,t,x,$,w,q){const s=r("LocaleText");return d(),i("div",_,[e("div",m,[e("div",h,[e("div",u,[e("div",f,[e("h4",b,[l(s,{t:"QR Code"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=y=>this.$emit("close"))})]),e("div",v,[e("canvas",C,null,512)])])])])])}const Q=c(p,[["render",g]]);export{Q as default};
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
.toggleShowKey[data-v-a63ae8cb]{position:absolute;top:35px;right:12px}
@@ -0,0 +1 @@
import{_ as g,D as f,q as h,j as p,a as s,c as r,b as t,d as o,n as m,i as n,t as _,e as b}from"./index-DeLT-ag4.js";import{d}from"./dayjs.min-BXJG8oxU.js";import{V as y}from"./vue-datepicker-BYU1fpEw.js";import{L as S}from"./localeText-Bm68I_nB.js";const k={name:"peerShareLinkModal",props:{peer:Object},components:{LocaleText:S,VueDatePicker:y},data(){return{dataCopy:void 0,loading:!1}},setup(){return{store:f()}},mounted(){this.dataCopy=JSON.parse(JSON.stringify(this.peer.ShareLink)).at(0)},watch:{"peer.ShareLink":{deep:!0,handler(e,a){a.length!==e.length&&(this.dataCopy=JSON.parse(JSON.stringify(this.peer.ShareLink)).at(0))}}},methods:{startSharing(){this.loading=!0,h("/api/sharePeer/create",{Configuration:this.peer.configuration.Name,Peer:this.peer.id,ExpireDate:d().add(7,"d").format("YYYY-MM-DD HH:mm:ss")},e=>{e.status?(this.peer.ShareLink=e.data,this.dataCopy=e.data.at(0)):this.store.newMessage("Server","Share link failed to create. Reason: "+e.message,"danger"),this.loading=!1})},updateLinkExpireDate(){h("/api/sharePeer/update",this.dataCopy,e=>{e.status?(this.dataCopy=e.data.at(0),this.peer.ShareLink=e.data,this.store.newMessage("Server","Link expire date updated","success")):this.store.newMessage("Server","Link expire date failed to update. Reason: "+e.message,"danger"),this.loading=!1})},stopSharing(){this.loading=!0,this.dataCopy.ExpireDate=d().format("YYYY-MM-DD HH:mm:ss"),this.updateLinkExpireDate()},parseTime(e){e?this.dataCopy.ExpireDate=d(e).format("YYYY-MM-DD HH:mm:ss"):this.dataCopy.ExpireDate=void 0,this.updateLinkExpireDate()}},computed:{getUrl(){const e=this.store.getActiveCrossServer();return e?`${e.host}/${this.$router.resolve({path:"/share",query:{ShareID:this.dataCopy.ShareID}}).href}`:window.location.origin+window.location.pathname+this.$router.resolve({path:"/share",query:{ShareID:this.dataCopy.ShareID}}).href}}},x={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},v={class:"container d-flex h-100 w-100"},C={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"500px"}},D={class:"card rounded-3 shadow flex-grow-1"},w={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},L={class:"mb-0"},M={key:0,class:"card-body px-4 pb-4"},Y={key:0},$={class:"mb-3 text-muted"},E=["disabled"],H={key:1},V={class:"d-flex gap-2 mb-4"},N=["href"],P={class:"d-flex flex-column gap-2 mb-3"},O=["disabled"];function T(e,a,U,B,I,c){const i=p("LocaleText"),u=p("VueDatePicker");return s(),r("div",x,[t("div",v,[t("div",C,[t("div",D,[t("div",w,[t("h4",L,[o(i,{t:"Share Peer"})]),t("button",{type:"button",class:"btn-close ms-auto",onClick:a[0]||(a[0]=l=>this.$emit("close"))})]),this.peer.ShareLink?(s(),r("div",M,[this.dataCopy?(s(),r("div",H,[t("div",V,[a[4]||(a[4]=t("i",{class:"bi bi-link-45deg"},null,-1)),t("a",{href:this.getUrl,class:"text-decoration-none",target:"_blank"},_(c.getUrl),9,N)]),t("div",P,[t("small",null,[a[5]||(a[5]=t("i",{class:"bi bi-calendar me-2"},null,-1)),o(i,{t:"Expire At"})]),o(u,{is24:!0,"min-date":new Date,"model-value":this.dataCopy.ExpireDate,"onUpdate:modelValue":this.parseTime,"time-picker-inline":"",format:"yyyy-MM-dd HH:mm:ss","preview-format":"yyyy-MM-dd HH:mm:ss",dark:this.store.Configuration.Server.dashboard_theme==="dark"},null,8,["min-date","model-value","onUpdate:modelValue","dark"])]),t("button",{onClick:a[2]||(a[2]=l=>this.stopSharing()),disabled:this.loading,class:"w-100 btn bg-danger-subtle text-danger-emphasis border-1 border-danger-subtle rounded-3 shadow-sm"},[t("span",{class:m({"animate__animated animate__flash animate__infinite animate__slower":this.loading})},a[6]||(a[6]=[t("i",{class:"bi bi-send-slash-fill me-2"},null,-1)]),2),this.loading?(s(),n(i,{key:0,t:"Stop Sharing..."})):(s(),n(i,{key:1,t:"Stop Sharing"}))],8,O)])):(s(),r("div",Y,[t("h6",$,[o(i,{t:"Currently the peer is not sharing"})]),t("button",{onClick:a[1]||(a[1]=l=>this.startSharing()),disabled:this.loading,class:"w-100 btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm"},[t("span",{class:m({"animate__animated animate__flash animate__infinite animate__slower":this.loading})},a[3]||(a[3]=[t("i",{class:"bi bi-send-fill me-2"},null,-1)]),2),this.loading?(s(),n(i,{key:0,t:"Sharing..."})):(s(),n(i,{key:1,t:"Start Sharing"}))],8,E)]))])):b("",!0)])])])])}const R=g(k,[["render",T]]);export{R as default};
+1
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)}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
.dropdownIcon[data-v-626f1988]{transition:all .2s ease-in-out}.dropdownIcon.active[data-v-626f1988]{transform:rotate(180deg)}.steps{&[data-v-f0245d51]{transition:all .3s ease-in-out;opacity:.3}&.active[data-v-f0245d51]{opacity:1}}
@@ -0,0 +1 @@
.btn.disabled[data-v-6a5aba2a]{opacity:1;background-color:#0d6efd17;border-color:transparent}[data-v-8f3f1b93]{font-size:.875rem}input[data-v-8f3f1b93]{padding:.1rem .4rem}input[data-v-8f3f1b93]:disabled{border-color:transparent;background-color:#0d6efd17;color:#0d6efd}.dp__main[data-v-8f3f1b93]{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
File diff suppressed because one or more lines are too long
+1
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
+1
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-0f26916d]{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)}}
+1
View File
@@ -0,0 +1 @@
import{_ as u,D as m,q as p,c as r,b as e,d as o,f as c,t as h,e as f,m as l,s as d,a as i,j as w}from"./index-DeLT-ag4.js";import{L as g}from"./localeText-Bm68I_nB.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"},q={for:"confirmPassword",class:"mb-1 text-muted"},$=["disabled"],A={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",q,[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",A,[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 W=u(b,[["render",B]]);export{W as default};
+1
View File
@@ -0,0 +1 @@
.animate__fadeInUp[data-v-1b44aacd]{animation-timing-function:cubic-bezier(.42,0,.22,1)}
+1
View File
@@ -0,0 +1 @@
import{_,r,D as p,g as u,c as m,b as t,d as c,$ as h,a as f,j as b}from"./index-DeLT-ag4.js";import{b as v}from"./browser-CjSdxGTc.js";import{L as y}from"./localeText-Bm68I_nB.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"},B={class:"h1 dashboardLogo text-center animate__animated animate__fadeInUp"},k={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 j(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",B,[e[1]||(e[1]=t("h6",null,"WGDashboard",-1)),c(a,{t:"Scan QR Code with the WireGuard App to add peer"})]),t("canvas",k,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 $=_(g,[["render",j],["__scopeId","data-v-1b44aacd"]]);export{$ as default};
File diff suppressed because one or more lines are too long
+1
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-eca07c7a]{width:100%!important}.login-box div[data-v-eca07c7a]{width:auto!important}}.navbar[data-v-eca07c7a]{display:none!important}
+1
View File
@@ -0,0 +1 @@
import{_ as h,D as m,g as p,q as f,c as b,b as t,d as i,t as _,m as v,s as g,i as d,w as r,j as c,a as n}from"./index-DeLT-ag4.js";import{b as x}from"./browser-CjSdxGTc.js";import{L as y}from"./localeText-Bm68I_nB.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"}},q={for:"totp",class:"mb-2"},D={class:"text-muted"},S={class:"form-group mb-2"},A=["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,j){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",q,[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,A),[[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};
+1
View File
@@ -0,0 +1 @@
import{_ as h,W as b,g,c as o,b as t,d as n,m as y,s as f,A as v,w as r,T as c,a,f as x,F as u,h as m,n as T,z as k,t as i,e as A,j as _}from"./index-DeLT-ag4.js";import{O as w}from"./osmap-BpsUKiQ8.js";import{L as R}from"./localeText-Bm68I_nB.js";const M={name:"traceroute",components:{LocaleText:R,OSMap:w},data(){return{tracing:!1,ipAddress:void 0,tracerouteResult:void 0}},setup(){return{store:b()}},methods:{execute(){this.ipAddress&&(this.tracing=!0,this.tracerouteResult=void 0,g("/api/traceroute/execute",{ipAddress:this.ipAddress},d=>{d.status?this.tracerouteResult=d.data:this.store.newMessage("Server",d.message,"danger"),this.tracing=!1}))}}},S={class:"mt-md-5 mt-3 text-body"},$={class:"container-md"},C={class:"mb-3 text-body"},L={class:"d-flex gap-2 flex-column mb-5"},P={class:"mb-1 text-muted",for:"ipAddress"},V=["disabled"],N=["disabled"],O={key:0,class:"d-block"},z={key:1,class:"d-block"},B={class:"position-relative"},I={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};function J(d,s,Q,X,Y,Z){const l=_("LocaleText"),p=_("OSMap");return a(),o("div",S,[t("div",$,[t("h3",C,[n(l,{t:"Traceroute"})]),t("div",L,[t("div",null,[t("label",P,[t("small",null,[n(l,{t:"Enter IP Address / Hostname"})])]),y(t("input",{disabled:this.tracing,id:"ipAddress",class:"form-control","onUpdate:modelValue":s[0]||(s[0]=e=>this.ipAddress=e),onKeyup:s[1]||(s[1]=v(e=>this.execute(),["enter"])),type:"text"},null,40,V),[[f,this.ipAddress]])]),t("button",{class:"btn btn-primary rounded-3 mt-3 position-relative",disabled:this.tracing||!this.ipAddress,onClick:s[2]||(s[2]=e=>this.execute())},[n(c,{name:"slide"},{default:r(()=>[this.tracing?(a(),o("span",z,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)]))):(a(),o("span",O,s[3]||(s[3]=[t("i",{class:"bi bi-person-walking me-2"},null,-1),x("Trace! ")])))]),_:1})],8,N)]),t("div",B,[n(c,{name:"ping"},{default:r(()=>[this.tracerouteResult?(a(),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(l,{t:"Hop"})]),t("th",H,[n(l,{t:"IP Address"})]),t("th",K,[n(l,{t:"Average RTT (ms)"})]),t("th",W,[n(l,{t:"Min RTT (ms)"})]),t("th",j,[n(l,{t:"Max RTT (ms)"})]),t("th",U,[n(l,{t:"Geolocation"})])])]),t("tbody",null,[(a(!0),o(u,null,m(this.tracerouteResult,(e,tt)=>(a(),o("tr",null,[t("td",null,[t("small",null,i(e.hop),1)]),t("td",null,[t("small",null,i(e.ip),1)]),t("td",null,[t("small",null,i(e.avg_rtt),1)]),t("td",null,[t("small",null,i(e.min_rtt),1)]),t("td",null,[t("small",null,i(e.max_rtt),1)]),t("td",null,[e.geo.city&&e.geo.country?(a(),o("span",q,[t("small",null,i(e.geo.city)+", "+i(e.geo.country),1)])):A("",!0)])]))),256))])])])])):(a(),o("div",I,[s[5]||(s[5]=t("div",{class:"pingPlaceholder bg-body-secondary rounded-3 mb-3",style:{height:"300px !important"}},null,-1)),(a(),o(u,null,m(5,e=>t("div",{class:T(["pingPlaceholder bg-body-secondary rounded-3 mb-3",{"animate__animated animate__flash animate__slower animate__infinite":this.tracing}]),style:k({"animation-delay":`${e*.05}s`})},null,6)),64))]))]),_:1})])])])}const ot=h(M,[["render",J],["__scopeId","data-v-549eb223"]]);export{ot as default};
+1
View File
@@ -0,0 +1 @@
.pingPlaceholder[data-v-549eb223]{width:100%;height:40px}.ping-leave-active[data-v-549eb223]{position:absolute}table th[data-v-549eb223],table td[data-v-549eb223]{padding:.5rem}.table[data-v-549eb223]>:not(caption)>*>*{background-color:transparent!important}.ping-move[data-v-549eb223],.ping-enter-active[data-v-549eb223],.ping-leave-active[data-v-549eb223]{transition:all .4s cubic-bezier(.82,.58,.17,.9)}.ping-leave-active[data-v-549eb223]{position:absolute;width:100%}.ping-enter-from[data-v-549eb223],.ping-leave-to[data-v-549eb223]{opacity:0;filter:blur(3px)}
File diff suppressed because one or more lines are too long
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

+19
View File
@@ -0,0 +1,19 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="application-name" content="WGDashboard">
<meta name="apple-mobile-web-app-title" content="WGDashboard">
<link rel="manifest" href="/static/app/dist/json/manifest.json">
<link rel="icon" href="/static/app/dist/favicon.png">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>WGDashboard</title>
<script type="module" crossorigin src="/static/app/dist/assets/index-DeLT-ag4.js"></script>
<link rel="stylesheet" crossorigin href="/static/app/dist/assets/index-D2eeEsuX.css">
</head>
<body>
<div id="app"></div>
</body>
</html>
+44
View File
@@ -0,0 +1,44 @@
{
"theme_color": "#343a40",
"background_color": "#343a40",
"display": "fullscreen",
"scope": "/",
"start_url": "/",
"name": "WGDashboard",
"short_name": "WGDashboard",
"screenshots": [
{
"src": "https://donaldzou.github.io/WGDashboard-Documentation/images/sign-in.png",
"sizes": "2880x1826",
"type": "image/png",
"form_factor": "wide"
},
{
"src": "https://donaldzou.github.io/WGDashboard-Documentation/images/sign-in.png",
"sizes": "2880x1826",
"type": "image/png"
}
],
"icons": [
{
"src": "../img/icon-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "../img/icon-256x256.png",
"sizes": "256x256",
"type": "image/png"
},
{
"src": "../img/icon-384x384.png",
"sizes": "384x384",
"type": "image/png"
},
{
"src": "../img/icon-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
]
}
+18
View File
@@ -0,0 +1,18 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="application-name" content="WGDashboard">
<meta name="apple-mobile-web-app-title" content="WGDashboard">
<link rel="manifest" href="/json/manifest.json">
<link rel="icon" href="/favicon.png">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>WGDashboard</title>
</head>
<body>
<div id="app"></div>
<script type="module" src="./src/main.js"></script>
</body>
</html>
+8
View File
@@ -0,0 +1,8 @@
{
"compilerOptions": {
"paths": {
"@/*": ["./src/*"]
}
},
"exclude": ["node_modules", "dist"]
}
+7002
View File
File diff suppressed because it is too large Load Diff
+40
View File
@@ -0,0 +1,40 @@
{
"name": "app",
"version": "4.1.1",
"private": true,
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"buildcommitpush": "./build.sh",
"build electron": "vite build && vite build --mode electron && cd ../../../../WGDashboard-Desktop && electron-builder --mac --win",
"preview": "vite preview"
},
"dependencies": {
"@vuepic/vue-datepicker": "^9.0.1",
"@vueuse/core": "^10.9.0",
"@vueuse/shared": "^10.9.0",
"animate.css": "^4.1.1",
"bootstrap": "^5.3.2",
"bootstrap-icons": "^1.11.3",
"cidr-tools": "^7.0.4",
"dayjs": "^1.11.12",
"electron-builder": "^24.13.3",
"fuse.js": "^7.0.0",
"i": "^0.3.7",
"is-cidr": "^5.0.3",
"npm": "^10.5.0",
"ol": "^10.2.1",
"pinia": "^2.1.7",
"qrcode": "^1.5.3",
"qrcodejs": "^1.0.0",
"uuid": "^9.0.1",
"vue": "^3.4.29",
"vue-chartjs": "^5.3.0",
"vue-router": "^4.2.5"
},
"devDependencies": {
"@vitejs/plugin-vue": "^5.0.0",
"vite": "^5.0.10"
}
}
+1
View File
@@ -0,0 +1 @@
export const proxy = "http://wg.local:10086/"
Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

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