Git Product home page Git Product logo

drunkleen / gatekeeper Goto Github PK

View Code? Open in Web Editor NEW
29.0 2.0 5.0 65.5 MB

GateKeeper: Your go-to web app for seamless link management and secure access control. Effortlessly safeguard your subscription links with intuitive features and a user-friendly interface. Try it now for enhanced security and management convenience.

License: GNU General Public License v3.0

Python 0.84% CSS 26.09% JavaScript 69.70% HTML 3.22% Dockerfile 0.01% Shell 0.13%

gatekeeper's Introduction

Gate Keeper

A solution to manage and safeguard your panels and links.

ENGLISH | فارسی | Русский | 中文


Showcase screenshots

Overview

GateKeeper is an intuitive link management tool crafted in Python, offering a user-friendly interface for seamless management and access control of v2ray/other VPN links. With GateKeeper, you can effortlessly restrict link access to authorized users, ensuring enhanced security for your panels.

Features

  • Comprehensive compatibility with three prominent panels: Marzban, 3x-ui MHSanaei and x-ui alireza0.
  • Enhanced link and user management capabilities.
  • In-built QR code generator for seamless interaction.
  • Robust protection for configuration/subscription links.
  • And much more, ensuring a comprehensive feature set.

Installation guide

  1. Run the following command
sudo bash -c "$(curl -sSL https://raw.githubusercontent.com/drunkleen/gatekeeper/master/install_script.sh)" @ install

Upon successful installation:

  1. Terminate log viewing by closing the terminal or pressing Ctrl+C.

  2. Locate the configuration file at /opt/gatekeeper/.env and modify its contents as needed.

  3. Restart the GateKeeper panel by executing the gatekeeper restart command after making modifications to /opt/gatekeeper/.env.

  4. Generate an administrative account with the gatekeeper createadmin command.

  5. Access the GateKeeper dashboard via a web browser at http://YOUR_SERVER_IP:2087/auth/sign-in (replace YOUR_SERVER_IP with your server's actual IP address).

  6. That concludes the process! Now, sign in to your dashboard using the credentials of your admin account.

For assistance with the GateKeeper script, execute the following command to access the help message.

gatekeeper --help
Please note that when creating users with admin privileges in the user list, the default password is automatically set to Gatekeeper2024@.

Configuration

Configure the settings by utilizing environment variables or by placing them in the .env file.

To achieve this, open the .env file located at /opt/gatekeeper/ using your preferred text editor, such as nano or vim, for instance.

Variable Description
DEBUG Enable debug mode for development (default: False)
ALLOWED_HOSTS Specify the host for application binding (default: any)
SERVER_PORT Assign the application to this port (default: 2087)
CUSTOM_APP_NAME Set custom name for the panel (default: GateKeeper)
DEFAULT_USER_PASSWORD Set custom password for the new users made by admin (default: Gatekeeper2024@)
SET_EMAIL Whether you're want to use an email for sending mails (default: False)
EMAIL_HOST Your email host (e.g., smtp.gmail.com)
EMAIL_PORT Your email port (e.g., 587)
EMAIL_USE_TLS Enabling TLS for email communication (default: True)
EMAIL_HOST_USER Your email username/address (e.g., [email protected])
EMAIL_HOST_PASSWORD Your email password (e.g., password).

To-Do List

  1. Fix Bash Script: Address issues and optimize the existing Bash script.
  2. Fix UI: Resolve any user interface-related issues or enhance the design for a better user experience.
  3. Add Multilanguage Support: Implement translations for multiple languages to make your project more accessible.
  4. Remove Excess Data and Code: Trim unnecessary elements in both data and code for better efficiency and readability.
  5. Refactor the Code: Restructure and improve the overall codebase for maintainability and performance.
  6. Add Support for X-UI Panels: Extend compatibility by incorporating support for additional UI panels.
  7. Implement Other Supports: Evaluate and integrate additional features or supports that enhance the functionality of your project.
  8. Documentation: Provide instructions on how to set up, run and use the project.

How to Contribute

If you'd like to contribute to the project, follow these steps:

  1. Fork the repository.
  2. Create a new branch: git checkout -b feature/new-feature.
  3. Commit your changes: git commit -m 'Add a new feature'.
  4. Push to the branch: git push origin feature/new-feature.
  5. Open a pull request.

Donation

If you have found GateKeeper valuable and would like to contribute to its ongoing development, your support is greatly appreciated. You can show your appreciation by making a donation through PayPal or any of the following cryptocurrency networks:

  • Bitcoin (BTC): bc1qsmvxpn79g6wkel3w67k37r9nvzm5jnggeltxl6
  • ETH/BNB/MATIC (ERC20, BEP20): 0x8613aD01910d17Bc922D95cf16Dc233B92cd32d6
  • USDT/TRON (TRC20): TGNru3vuDfPh5zBJ31DKzcVVvFgfMK9J48
  • Dogecoin (DOGE): D8U25FjxdxdQ7pEH37cMSw8HXBdY1qZ7n3

Your generous contribution ensures the continued improvement and maintenance of GateKeeper.

Thank you for supporting the project!

Acknowledgment:

This panel is built upon the SAUL HTML free template generously provided by "KeenThemes".

License

This project is licensed under the GNU v3.0 - see the LICENSE file for details.

gatekeeper's People

Contributors

dependabot[bot] avatar drunkleen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

gatekeeper's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.