Coder Social home page Coder Social logo

messibadronaldobetter / nebula Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nebulaservices/nebula

0.0 0.0 0.0 16.81 MB

a stunning and sleek web proxy with support for hundreds of popular sites.

Home Page: https://docs.nebulaproxy.io/

License: GNU Affero General Public License v3.0

JavaScript 29.28% CSS 13.19% HTML 57.17% Dockerfile 0.36%

nebula's Introduction

Nebula

NebulaWeb is an official flagship of Nebula Services and Nebula Developer Labs. NebulaWeb is a stunning, sleek, and functional web-proxy with support for thousands of popular sites. With NebulaWeb, the sky is the limit.

license

chat

Features

  • Stunning and highly functional UI with multiple themes
  • XOR/b64 encoding all traffic
  • Hides your IP from sites
  • List of officially supported sites
  • limited mobile support
  • Stealth Mode (buffed about:blank cloaking)
  • NEW Clickoff cloaking
  • NEW Email OTP verification

Deployment

Table of contents

  • Quick & easy deployment
  • Deployment configuration explaination
  • how to use email OTP Verification mode
  • Advanced Deployment
  • Filesystem

Quick & Easy Deployment Options

PLEASE READ THIS NOTICE: IF YOU ARE USING NODE VERSION 20 (HEROKU, RAILWAY), YOU WILL NEED TO TEMPORARILY DOWNGRADE TO 19 OR EARLIER.


[![Deploy to IBM Cloud](https://raw.githubusercontent.com/BinBashBanana/deploy-buttons/master/buttons/remade/ibmcloud.svg)](https://cloud.ibm.com/devops/setup/deploy?repository=https://github.com/NebulaServices/Nebula)
[![Deploy to Amplify Console](https://raw.githubusercontent.com/BinBashBanana/deploy-buttons/master/buttons/remade/amplifyconsole.svg)](https://console.aws.amazon.com/amplify/home#/deploy?repo=https://github.com/NebulaServices/Nebula)
[![Run on Google Cloud](https://raw.githubusercontent.com/BinBashBanana/deploy-buttons/master/buttons/remade/googlecloud.svg)](https://deploy.cloud.run/?git_repo=https://github.com/NebulaServices/Nebula)
[![Deploy on Railway](https://binbashbanana.github.io/deploy-buttons/buttons/remade/railway.svg)](https://railway.app/new/template/pBzeiN)
[![Deploy To Koyeb](https://binbashbanana.github.io/deploy-buttons/buttons/remade/koyeb.svg)](https://app.koyeb.com/deploy?type=git&repository=github.com/NebulaServices/Nebula&branch=main&name=NebulaProxy)

Deployment Configuration Guide

(Example configuration with none-json notes)

{
  "sendgrid_verification": false,
  "sendgrid_options": {
    "api_key": "YOUR_SENDGRID_API_KEY",
    "sendFromEmail": "THE EMAIL THE CODES WILL BE SENT FROM (MUST BE VERIFIED IN SENDGRID)",
    "to_email": "THE EMAIL YOU WANT THE CODES SENT TO"
  },

  "discord_verification": false,
  "webhook_url": "YOUR DISCORD WEBHOOK URL",

  "smtp_verification": false,
  "smtp_options": {
    "to_email": "THE EMAIL YOU WANT THE CODES SENT TO",
    "sendFromEmail": "THE EMAIL THE CODES ARE SENT FROM",
    "host": "YOUR SMTP HOST",
    "port": 465,
    "auth": {
      "user": "SMTP USER",
      "pass": "YOUR PASSWORD"
    }
  }
}

Email Verification OTP

What is this?

Email verification is a new and unique feature that we've implemented in the event that someone wants to keep their deployment of Nebula private and secure.

What does it do

When a user tries to access the website, before allowed access they will be asked for a One time password sent to an email set in the deployment configuration. Once verified, they will have 15 day access to the site.

SendGrid Setup Instructions

  • Firstly, We need to enable verification within the deployment configuration

    • change "sendgrid_verification":false, to "sendgrid_verification":true, above the SendGrid Section

    • Note: You have to reboot the node app for any changes to take place.

  • Now, we need to use an api to send a message

    • Make an account at Sendgrid (https://app.sendgrid.com/)
    • Note: It is likely that other versions of Nebula will use a different package to send emails.
  • Verify the email you want to recieve emails from (Create a sender identity)

    • Go to settings -> Sender authentication and click Verify a Single Sender
  • Now, We need to get the API key to connect to the API

    • Go to settings -> API Keys -> and make an API key.
  • Complete the information in the deployment config deployment.config.json under the sendgrid_options section such as: sendFromEmail, to_email and api_key

Discord Webhook Setup Instructions

  • Set discord_verification to true in the deployment configuration.
  • Create a channel in a discord server you have admin in.
  • Click the Edit Channel button.
  • Click Integrations
  • Click create web hook and copy the URL.
  • Paste it under the webhook_url section in the deployment configuration.

SMTP Setup Instructions

  • Set smtp_verification to true.
  • Change to_email to the email address you want the codes to be sent to.
  • Change `sendFromEmail to the email address that is going to send the codes.
  • Get the host and port from your email provider's documentation.
  • Fill in your username and password under the user and pass section under auth.

Advanced Deployment

Initial configuration

credits to @ProgrammerIn-wonderland for writing this wonderful tutorial (which can also be found in the docs :)

  • Create an account at https://www.cloudflare.com/
  • Create an account at https://www.freenom.com/ (or any registrars)
  • Find a free domain name at Freenom
  • Click checkout
    • Select (12 Months @ FREE)
    • Select "Use DNS"
      • Select Use your own DNS
  • Go to cloudflare, click add new site, and enter the free domain name
  • Select "Free Plan"
  • Click continue, ignore DNS
    • Copy the name servers cloudflare gives you
  • Go back to your Freenom tab, enter in the name servers which cloudflare gave you
    • You can keep IP blank
  • Click continue
  • Click complete order
  • Go back to cloudflare tab, click "Check Nameservers"
  • Select DNS on your right bar
  • Enter in the IP of the server which will be hosting Nebula
    • Target will be @
  • Click Enable proxy (little gray cloud icon, if active its orange)
  • Select SSL/TLS in your right bar
  • Click "Flexible"

Server configuration

  • SSH into the server you'll be using, I'll assume its running Ubuntu 22.04 (though the commands are the same for debian 10+ versions, and Ubuntu versions 20.04+)
  • run
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - \ &&
sudo apt-get install -y nodejs npm
git clone https://github.com/NebulaServices/Nebula.git
cd Nebula
npm i
npm ci
sudo nohup PORT=80 node . &

Make sure your firewall is configured to let through port 80 traffic!
Note: Server will need to run cd Nebula && sudo nohup PORT=80 node . & on reboot

File Structure

File Purpose
src/index.html The main frontend visuals for NebulaWEB.
src/unv.html The verification-required frontend/visuals.
src/options.html The frontend for Nebula's options, settings, and preferences.
public/resources/v.js Client verification system for the OTP system.
public/resources/nebulamain.js All of the DOM/client code for NebulaWEB. Includes options, themeSystem, cloak, stealthengine, and more.
app.js The backend server for Nebula. Contains Nodestatic, Bare, HTTP, and more.

Tech Stack

  • HTML, JS, CSS
  • Partical.JS (Specifically v4, 5, 6.1 &< only)
  • Ultraviolet (proxy)
  • Osana (proxy)
  • TompHTTP Bare Server Node
  • ExpressJS

Support

For support, email [email protected] or join our discord: discord.gg/unblocker

Demo

Click here to see a demo of Nebula

Acknowledgements

License

(Nebula's license is now GNU AGPL V3 as of v7.10) Copyright Nebula Services 2021 - Present
This project uses the AGLP GNU V3 license.

nebula's People

Contributors

greenydev avatar cohenerickson avatar countbleck avatar wearrrrr avatar system32-dev avatar cattn avatar schooldev49 avatar snazzy-xyz avatar snyk-bot avatar firestreaker2 avatar cowingtonpost avatar avad3 avatar s-tn avatar motortruck1221 avatar 3kh0 avatar danny8208 avatar eparitzi avatar jodaatgithub avatar

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.