{"id":28392568,"url":"https://github.com/1birdo/vpndemo","last_synced_at":"2025-06-26T04:31:09.389Z","repository":{"id":258740169,"uuid":"874516221","full_name":"1Birdo/VPNDemo","owner":"1Birdo","description":"A PHP-based demo application with VPN subscriptions with payment integration.","archived":false,"fork":false,"pushed_at":"2025-01-16T15:51:02.000Z","size":76,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-01T00:44:59.813Z","etag":null,"topics":["backend","frontend","payments","paypal","php7","php8","poc","production","stripe","vpn"],"latest_commit_sha":null,"homepage":"https://www.vpn.birdo.uk/","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/1Birdo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-10-18T01:08:20.000Z","updated_at":"2025-04-22T14:06:07.000Z","dependencies_parsed_at":"2025-05-24T18:26:09.857Z","dependency_job_id":"156c686b-41fc-4543-a5d4-c76ce35f3e95","html_url":"https://github.com/1Birdo/VPNDemo","commit_stats":null,"previous_names":["birdo1221/vpndemo","1birdo/vpndemo"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/1Birdo/VPNDemo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1Birdo%2FVPNDemo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1Birdo%2FVPNDemo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1Birdo%2FVPNDemo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1Birdo%2FVPNDemo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/1Birdo","download_url":"https://codeload.github.com/1Birdo/VPNDemo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1Birdo%2FVPNDemo/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262001314,"owners_count":23243043,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["backend","frontend","payments","paypal","php7","php8","poc","production","stripe","vpn"],"created_at":"2025-05-31T13:43:40.570Z","updated_at":"2025-06-26T04:31:09.377Z","avatar_url":"https://github.com/1Birdo.png","language":"PHP","funding_links":["https://developer.paypal.com/developer/applications"],"categories":[],"sub_categories":[],"readme":"# PHP VPNDemo\n\nA PHP-based demo application for managing VPN subscriptions with integrated payment processing using PayPal and Stripe.\nThis project demonstrates a VPN subscription management system.\n\n## Demo Preview\n### **[Live Demo](https://www.vpn.birdo.uk)**  \n- **Note**: `vpn.birdo.uk` serves a different page than `www.vpn.birdo.uk`.\n\n![VPNDemo Screenshot](https://github.com/user-attachments/assets/d848eb32-1c1a-40d4-9145-76c59a3cb0e6)\n\n\n## Think that need implementing / doing IG\n- **OpenVPN and WireGuard Integration**: Automate VPN server management for seamless connectivity.\n- **User-Specific Configurations**: Link user accounts to VPN clients for tailored connections.\n- **Enhanced Security**: Expand encryption options to provide users with secure and private browsing experiences.\n- **VPN Client**: Either a simple APK for android for a vpn or a windows / linux client for it.\n  \n## Features\n- User authentication (login/logout)\n- Subscription plan management\n- Payment integration with PayPal and Stripe\n- CSRF protection for secure transactions\n- Responsive and user-friendly design\n\n## Installation\n\n1. **Clone the repository:**\n   ```bash\n   git clone https://github.com/Birdo1221/VPNDemo.git\n   cd VPNDemo\n   ```\n2. **Set up the environment:**\n   - Ensure you have a PHP server (e.g., XAMPP, WAMP, or similar).\n   - Install [Composer](https://getcomposer.org/) if not already installed.\n\n3. **Install dependencies:**\n   ```bash\n   composer install\n   ```\n\n4. **Database setup:**\n   - Create a MySQL database and import the following schema:\n     ```sql\n     CREATE DATABASE IF NOT EXISTS vpndemo;\n     USE vpndemo;\n\n     CREATE TABLE IF NOT EXISTS userbase (\n         id INT AUTO_INCREMENT PRIMARY KEY,\n         email VARCHAR(255) NOT NULL UNIQUE,\n         password VARCHAR(255) NOT NULL,\n         created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n         updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP\n     );\n     CREATE TABLE IF NOT EXISTS subscriptions (\n         id INT AUTO_INCREMENT PRIMARY KEY,\n         user_id INT NOT NULL,\n         plan VARCHAR(50) NOT NULL, -- Plan type (e.g., 'basic', 'premium')\n         start_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n         end_date TIMESTAMP,\n         status ENUM('active', 'inactive') DEFAULT 'active',\n         FOREIGN KEY (user_id) REFERENCES userbase(id) ON DELETE CASCADE\n     );\n     CREATE TABLE IF NOT EXISTS csrf_tokens (\n         id INT AUTO_INCREMENT PRIMARY KEY,\n         user_id INT NOT NULL,\n         token VARCHAR(64) NOT NULL,\n         created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n         FOREIGN KEY (user_id) REFERENCES userbase(id) ON DELETE CASCADE\n     );\n     ```\n\n5. **Update the `db.php` file with your database connection details.**\n\n6. **Configure PayPal and Stripe:**\n   - Update the PayPal and Stripe credentials in the `config.php` file:\n     - **PayPal**: Get your CLIENT ID and SECRET from the [PayPal Developer Dashboard](https://developer.paypal.com/developer/applications).\n     - **Stripe**: Get your API KEY from the [Stripe Dashboard](https://dashboard.stripe.com/).\n\n7. **Start the PHP server:**\n   ```bash\n   php -S localhost:8000\n   ```\n\n8. **Access the application:**\n   - Open your web browser and go to `http://localhost:8000`.\n\n## Configuration\n\n- **PayPal Configuration:**\n  - `PAYPAL_CLIENT_ID`: Your PayPal Client ID from the PayPal Dashboard.\n  - `PAYPAL_SECRET`: Your PayPal Secret from the PayPal Dashboard.\n  - `PAYPAL_MODE`: Set to 'sandbox' for testing, change to 'live' for production.\n\n- **Stripe Configuration:**\n  - `STRIPE_API_KEY`: Your Stripe API Key from the Stripe Dashboard.\n\n## Usage\n\n1. **Login:**\n   - Navigate to the login page and enter your credentials to log in.\n\n2. **Select Subscription Plan:**\n   - After logging in, choose your desired subscription plan from the dashboard.\n   \n3. **Payment Processing:**\n   - Select your preferred payment method (PayPal or Stripe) and complete the payment process.\n\n4. **Success/Failure Handling:**\n   - After payment, you'll be redirected to the dashboard with a success or failure message.\n\n## License\nThis project is licensed under the MIT License. See the LICENSE file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F1birdo%2Fvpndemo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F1birdo%2Fvpndemo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F1birdo%2Fvpndemo/lists"}