Hello everyone,
I know I have a long way ahead of me, but I believe I'm on the right track, especially with your help. Honestly, I want to develop a VPN application, but perhaps it's interesting that I'm stuck at the very first stage. Why? Because in many places, even on YouTube, I encounter obstacles. The tutorial I followed was outdated, causing errors on the new Android version, or when I add a library, it's not compatible. In short, Android is killing me! I've decided and told myself that with the help of you, my friends, if I progress step by step, any issues can be identified and resolved, and I'll be at ease. Amidst the pursuit and evasion of a thousand programs and codes, even for friends who assist me, I want to pay them a sum as gratitude.
--------------------------------------------------------------------------
Now, what I want is to create a VPN service. I can acquire as many virtual servers as needed, whether it's connected to a MySQL database or any other type, in Ubuntu or Debian. What I want in the Android app is just a login window, no signup. In the login, I only want the username and password. For security reasons, I read that JWT is better, so I tried to implement it somehow. But then I got stuck. To sum up, I want to write down what I need. When the user logs in, at first, it should check if the username and password are correct. If they are, move to the next step. In the second step, it should check if the user is already connected with the same credentials. If so, it should give an error indicating the user is already active or needs to log out, or it should deny entry. Then, if no one else has logged in with the same user, it should proceed to the third step and check if the session has expired. If the session has expired, it should give an error indicating the time is up and deny access to the main connection page. After that, if there is still time left in the session, it should grant access. In this section, I don't want anything specific, just a dashboard showing the main page where the user wants to connect to which country, and in another section, the user's details, such as their name and the time until it expires.
What should be inside the main page is one connection through SSH tunneling and another through V2Ray, but these should not be explicitly mentioned! The user who doesn't want to know how they are connected, should only provide the name of the country or the ping so that this country is prioritized... And when I add another server, whether through SSH or V2Ray, it should be automatically added to the main page.
I know I have a long way ahead of me, but I believe I'm on the right track, especially with your help. Honestly, I want to develop a VPN application, but perhaps it's interesting that I'm stuck at the very first stage. Why? Because in many places, even on YouTube, I encounter obstacles. The tutorial I followed was outdated, causing errors on the new Android version, or when I add a library, it's not compatible. In short, Android is killing me! I've decided and told myself that with the help of you, my friends, if I progress step by step, any issues can be identified and resolved, and I'll be at ease. Amidst the pursuit and evasion of a thousand programs and codes, even for friends who assist me, I want to pay them a sum as gratitude.
--------------------------------------------------------------------------
Now, what I want is to create a VPN service. I can acquire as many virtual servers as needed, whether it's connected to a MySQL database or any other type, in Ubuntu or Debian. What I want in the Android app is just a login window, no signup. In the login, I only want the username and password. For security reasons, I read that JWT is better, so I tried to implement it somehow. But then I got stuck. To sum up, I want to write down what I need. When the user logs in, at first, it should check if the username and password are correct. If they are, move to the next step. In the second step, it should check if the user is already connected with the same credentials. If so, it should give an error indicating the user is already active or needs to log out, or it should deny entry. Then, if no one else has logged in with the same user, it should proceed to the third step and check if the session has expired. If the session has expired, it should give an error indicating the time is up and deny access to the main connection page. After that, if there is still time left in the session, it should grant access. In this section, I don't want anything specific, just a dashboard showing the main page where the user wants to connect to which country, and in another section, the user's details, such as their name and the time until it expires.
What should be inside the main page is one connection through SSH tunneling and another through V2Ray, but these should not be explicitly mentioned! The user who doesn't want to know how they are connected, should only provide the name of the country or the ping so that this country is prioritized... And when I add another server, whether through SSH or V2Ray, it should be automatically added to the main page.