Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Roadmap on v4.0 #293

Closed
24 of 28 tasks
donaldzou opened this issue Aug 5, 2024 · 10 comments
Closed
24 of 28 tasks

Roadmap on v4.0 #293

donaldzou opened this issue Aug 5, 2024 · 10 comments
Assignees
Labels
enhancement New feature or request v4.0 Issues related to v4.0

Comments

@donaldzou
Copy link
Owner

donaldzou commented Aug 5, 2024

Roadmap on v4.0

I will keep updating this comment :)

Updates on the new features everyone requested 😄

Features still needs to work on

Done

In progress

Testing under different OS with Python 3.10, 3.11 & 3.12

Debian Based OS
Ubuntu 20.04
sudo add-apt-repository ppa:deadsnakes/ppa -y && \
sudo apt-get install python3.10 python3.10-distutils -y && \
sudo apt-get update -y && \
sudo apt install wireguard-tools net-tools --no-install-recommends -y && \
git clone -b v4 https://github.com/donaldzou/WGDashboard.git && \
cd WGDashboard/src && \
chmod +x ./wgd.sh && \
./wgd.sh install && \
sudo sh -c 'echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf' && \
sudo sysctl -p
Ubuntu 22.04, 24.02
sudo apt-get update && \
sudo apt install wireguard-tools net-tools && \
git clone -b v4 https://github.com/donaldzou/WGDashboard.git && \
cd ./WGDashboard/src && \
chmod +x ./wgd.sh && \
./wgd.sh install && \
sudo echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf && \
sudo sysctl -p /etc/sysctl.conf
Debian 11.10
apt-get install sudo -y && sudo apt-get update && sudo apt install -y git iptables build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev wireguard-tools net-tools && wget https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tgz && tar -xvf Python-3.10.0.tgz && cd Python-3.10.0 && sudo ./configure --enable-optimizations && sudo make && sudo make altinstall && cd .. && git clone -b v4 https://github.com/donaldzou/WGDashboard.git && cd ./WGDashboard/src && chmod +x ./wgd.sh && ./wgd.sh install && sudo sh -c 'echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf' && sudo sysctl -p
Debian 12.6
apt-get install sudo git iptables -y \ 
sudo apt-get update && \
sudo apt install wireguard-tools net-tools && \
git clone -b v4 https://github.com/donaldzou/WGDashboard.git && \
cd ./WGDashboard/src && \
chmod +x ./wgd.sh && \
./wgd.sh install && \
sudo echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf && \
sudo sysctl -p /etc/sysctl.conf
Red-Hat / Fedora Based
RHEL 9.4, CentOS 9-Stream
sudo yum install wireguard-tools net-tools git python3.11 -y && \
git clone -b v4 https://github.com/donaldzou/WGDashboard.git && \
cd ./WGDashboard/src && \
chmod +x ./wgd.sh && \
./wgd.sh install && \
sudo echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf && \
sudo sysctl -p /etc/sysctl.conf && \
firewall-cmd --zone=public --add-port=10086/tcp --permanent && \
firewall-cmd --zone=public --add-port=51820/udp --permanent && \
firewall-cmd --reload
  • Red Hat Enterprise Linux 9.4
    • Had to install Python 3.11 and git, everything else is smooth.
  • CentOS 9
    • Had to install Python 3.11 and git, everything else is smooth.
  • Fedora Linux 38
  • Fedora Linux 39
  • Fedora Linux 40

Backlog

  • Backup & restore function on db and WireGuard file. 🫶 to @tokon2000
  • Different language. 🫶 to @bkeenke
  • Tracking when did peer connected and disconnected. 🫶 to @kontorskiy777

Potential

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

Bugs needs to be fix

Features not consider at the moment. Sorry 🥹

  • Using SSO for login: The reason is I'm trying to keep the dashboard simple and not adding 3rd party service to add more complexity. 🫶 to @pradhyumk
  • Add rounding to 2 decimals on traffic. 🫶 to @bolgovrussia
  • Remove "Peer" keyword on each peer: I'd like to keep the uniform design of each information. 🫶 to @ghost
  • Email configuration, thinking of using SendGrid or MailChip to avoid the hassle of creating domain and such. 🫶 to @adrinux
@donaldzou donaldzou self-assigned this Aug 5, 2024
@donaldzou donaldzou added enhancement New feature or request v4.0 Issues related to v4.0 labels Aug 5, 2024
@donaldzou donaldzou pinned this issue Aug 5, 2024
@donaldzou donaldzou moved this to In progress in WGDashboard v4 Aug 5, 2024
@Johnnykson
Copy link

Johnnykson commented Aug 6, 2024

Parsing comments in .conf: I've tried to implement the function, but I can't guaranteed the stability since there are tons way of writing comments in a config file. 🫶 to @bugsse

I suggest implementing comment analysis only for one template, choose any, so that there is generally the possibility of importing configurations, and users themselves will edit manually for this template either in the configs themselves or in the scripts that create them. I propose to choose a template based on this script https://github.com/angristan/wireguard-install/blob/master/wireguard-install.sh

@donaldzou
Copy link
Owner Author

Parsing comments in .conf: I've tried to implement the function, but I can't guaranteed the stability since there are tons way of writing comments in a config file. 🫶 to @bugsse

I suggest implementing comment analysis only for one template, choose any, so that there is generally the possibility of importing configurations, and users themselves will edit manually for this template either in the configs themselves or in the scripts that create them. I propose to choose a template based on this script https://github.com/angristan/wireguard-install/blob/master/wireguard-install.sh

I think you gave me a direction! I'll look into it and maybe squeeze it in the v4 release. I don't think is too hard to implement.

@Profik
Copy link

Profik commented Aug 7, 2024

@donaldzou
Hi!
Is it possible for you to set a speed limit for each peer? Can you do it through the Linux Traffic Control utility?

@donaldzou
Copy link
Owner Author

donaldzou commented Aug 7, 2024

Hi @Profik , I've used the tc -- Linux Traffic Control to limit speed on the entire configuration (interface), but not on specific peer. But I'm thinking, you can use the tc command to limit the tx -- transmit rate on the peer's machine (if it is running Linux as well)

or check this out: https://serverfault.com/questions/191560/how-can-i-do-traffic-shaping-in-linux-by-ip

@Profik
Copy link

Profik commented Aug 7, 2024

@donaldzou
Let's say there are 5 users (smartphones), one of them decided to watch YouTube, then he will take the entire channel, the other 4 will have brakes on the Internet. What should I do in this situation?

@donaldzou
Copy link
Owner Author

donaldzou commented Aug 7, 2024

@donaldzou

Let's say there are 5 users (smartphones), one of them decided to watch YouTube, then he will take the entire channel, the other 4 will have brakes on the Internet. What should I do in this situation?

In this case you might need to look into packet capturing on your server, and if it detect any packet that is going to YouTube, then you can maybe just tc to limit the other peers to none? Just a general idea I can think of :)

Maybe try using WireShark to capture traffic on your WG interface and start from there?

@DaanSelen
Copy link
Collaborator

Regarding languages I can contribute Dutch.

@Profik
Copy link

Profik commented Aug 27, 2024

@donaldzou I can offer a translation into Russian.

@github-project-automation github-project-automation bot moved this from In progress to Done in WGDashboard v4 Aug 28, 2024
@donaldzou donaldzou unpinned this issue Aug 28, 2024
@donaldzou
Copy link
Owner Author

Closing this issue, refer to the new road map #354

@donaldzou
Copy link
Owner Author

Hi @DaanSelen and @Profik, if you guys are still willing to contribute localization, please visit #397 ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request v4.0 Issues related to v4.0
Projects
Status: Done
Development

No branches or pull requests

4 participants