{"id":23496418,"url":"https://github.com/r0mb0/pivpn_gui","last_synced_at":"2026-05-07T11:32:01.755Z","repository":{"id":268563155,"uuid":"904758587","full_name":"R0mb0/PIVPN_GUI","owner":"R0mb0","description":"I just wanna try to create a GUI for PIVPN in way to make easy interact with the service and increase some features","archived":false,"fork":false,"pushed_at":"2026-04-29T12:57:59.000Z","size":852,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-29T14:47:43.835Z","etag":null,"topics":["desktop-app","desktop-application","flutter","flutter-app","itai-developers","linux","pivpn","r0mb0","university-project","urbino-university","vpn","vpn-manager"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/R0mb0.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":"PayPal.Me/R0mb0"}},"created_at":"2024-12-17T13:52:51.000Z","updated_at":"2026-04-29T12:58:04.000Z","dependencies_parsed_at":"2024-12-17T15:19:39.780Z","dependency_job_id":"ef27378d-3261-4208-b530-d48a54e9610f","html_url":"https://github.com/R0mb0/PIVPN_GUI","commit_stats":null,"previous_names":["r0mb0/pivpn_gui"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/R0mb0/PIVPN_GUI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/R0mb0%2FPIVPN_GUI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/R0mb0%2FPIVPN_GUI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/R0mb0%2FPIVPN_GUI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/R0mb0%2FPIVPN_GUI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/R0mb0","download_url":"https://codeload.github.com/R0mb0/PIVPN_GUI/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/R0mb0%2FPIVPN_GUI/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32735094,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-07T02:14:30.463Z","status":"ssl_error","status_checked_at":"2026-05-07T02:14:29.405Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["desktop-app","desktop-application","flutter","flutter-app","itai-developers","linux","pivpn","r0mb0","university-project","urbino-university","vpn","vpn-manager"],"created_at":"2024-12-25T04:13:00.339Z","updated_at":"2026-05-07T11:32:01.749Z","avatar_url":"https://github.com/R0mb0.png","language":"Dart","funding_links":["PayPal.Me/R0mb0","http://paypal.me/R0mb0"],"categories":[],"sub_categories":[],"readme":"Urbino`s University - Computing and digital innovation - Programming of mobile devices and user interfaces\n\n- For the professor: [Submit](https://github.com/R0mb0/PIVPN_GUI/tree/main/Submit)\n\n# PIVPN GUI\n\n\u003cdiv align=\"center\"\u003e\n \u003cimg width=\"90%\"  height=\"90%\" src=\"https://github.com/R0mb0/PIVPN_GUI/blob/main/Project_infos/Logo_pivpn.png\"\u003e\n\u003c/div\u003e\n \n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/1897688fc3874b3baeec1fc09a08799f)](https://app.codacy.com/gh/R0mb0/PIVPN_GUI/dashboard?utm_source=gh\u0026utm_medium=referral\u0026utm_content=\u0026utm_campaign=Badge_grade)\n\n[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://github.com/R0mb0/PIVPN_GUI)\n[![Open Source Love svg3](https://badges.frapsoft.com/os/v3/open-source.svg?v=103)](https://github.com/R0mb0/PIVPN_GUI)\n[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n\n[![Donate](https://img.shields.io/badge/PayPal-Donate%20to%20Author-blue.svg)](http://paypal.me/R0mb0)\n\n## Description \n\n**PIVPN GUI** is a flutter application to simplify the manage of [`PIVPN`](https://github.com/pivpn/pivpn) service for most of commons users. It provide the \"time to be enabled\" functionality, in way to automatic disable clients that had terminated their \"enabled time\". For example this functionality is usefull if the vpn is used to distribute a subscription service.  \n\n\u003e Until the application is open, one time a day, the application will check all user statuses, disabling the users with their \"time to be enabled\" over.\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"http://paypal.me/R0mb0\"\u003e\n    \u003cpicture\u003e\n      \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://github.com/R0mb0/Support_the_dev_badge/blob/main/Badge/SVG/Support_the_dev_badge_Dark.svg\"\u003e\n      \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://github.com/R0mb0/Support_the_dev_badge/blob/main/Badge/SVG/Support_the_dev_badge_Light.svg\"\u003e\n      \u003cimg alt=\"Saved you time? Support the dev\" src=\"https://github.com/R0mb0/Support_the_dev_badge/blob/main/Badge/SVG/Support_the_dev_badge_Default.svg\"\u003e\n    \u003c/picture\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n\n## How to install \n\n### 1. PIVPN installation\n\n \u003cimg style=\"float\" align=\"right\" width=\"20%\"  height=\"20%\" src=\"https://www.pivpn.io/images/pivpnlogo.png\"\u003e\n\n- [how to install PIVPN](https://github.com/pivpn/pivpn)\n\n\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\n\n### 2. Flutter installation\n\n \u003cimg style=\"float\" align=\"right\"  width=\"20%\"  height=\"20%\" src=\"https://avatars.githubusercontent.com/u/14101776?s=200\u0026v=4\"\u003e\n\n- [How to install flutter](https://flutter-ko.dev/get-started/install)\n\n\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\n\n### 3. Download the application \n\n- ```bash\n  git clone https://github.com/R0mb0/PIVPN_GUI.git\n  ```\n\n## How to run \n\n1. Enter into the working directory\n   ```bash\n   cd PIVPN_GUI/PIVPN_GUI/pivpn_gui/lib\n   ```\n2. Make executable `make_all_scripts_executable.sh` script\n   ```bash\n   chmod +x make_all_scripts_executable.sh\n   ```\n3. Run the script\n   ```\n   ./make_all_scripts_executable.sh\n   ```\n4. Create the `password.sh` file\n\n   - Create with your favorite editor `password.sh`\n     ```bash\n     nano password.sh\n     ```\n   - Add this code inside the file\n     ```bash\n     #!/bin/bash\n     PASSWORD = \"your_sudo_password\"\n     ```\n     Save the file\n\n     `ctrl + o`   \n     `ctrl + x`\n 5. Run the application\n    ```bash\n    flutter run\n    ```\n\n## Interface description  \n\n\u003cdiv align=\"center\"\u003e\n \u003cimg width=\"90%\"  height=\"90%\" src=\"https://github.com/R0mb0/PIVPN_GUI/blob/main/Project_infos/Pivpn_gui.png\"\u003e\n\u003c/div\u003e\n\u003cbr\u003e\u003cbr\u003e\n\n- `Name`, `Start Date`, `End Date` are \"Text Fields\"\n- `ADD USER`, `REMOVE USER`, `ENABLE USER`, `DISABLE USER` are \"Buttons\"\n- In the center, below the \"Buttons\" there's the section for the application's allerts\n- In the center of the page there's a table where check all clients and client statuses\n\n## How to use \n\n\u003e `Name` field is used for all operations\n\u003e `Start Date`, `End Date`Fields are used only for \"add new user\" operation\n\u003e To create a \"always allowed\" user, insert a far away date as \"End Date\"\n\n### Add a new user \n\n- Complete `Name`, `Start Date` and `End Date` fields\n- Press `ADD USER` button \n\n### Remove an user \n\n- write the name of the user to remove in `name` field\n- Press `REMOVE USER` button \n\n### Enable an user \n\n- write the name of the user to enable in `name` field\n- Press `ENABLE USER` button\n- **Is not possible enable a user the have his \"End date\" expired.**\n  To do this, remove the user and adding it with updated dates.\n\n### Disable an user \n\n- write the name of the user to disable in `name` field\n- Press `DISABLE USER` button \n\n\u003ca href=\"https://github.com/R0mb0/Not_made_by_AI\"\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://github.com/R0mb0/Not_made_by_AI/blob/main/Badge/SVG/NotMadeByAIDark.svg\"\u003e\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://github.com/R0mb0/Not_made_by_AI/blob/main/Badge/SVG/NotMadeByAILight.svg\"\u003e\n    \u003cimg alt=\"Not made by AI\" src=\"https://github.com/R0mb0/Not_made_by_AI/blob/main/Badge/SVG/NotMadeByAIDefault.svg\"\u003e\n  \u003c/picture\u003e\n\u003c/a\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fr0mb0%2Fpivpn_gui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fr0mb0%2Fpivpn_gui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fr0mb0%2Fpivpn_gui/lists"}