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

Documentation (and a bug fix) #45

Merged
merged 5 commits into from
Dec 9, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 63 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,37 @@

<div align=center>
<img src='https://nebulaproxy.nebula.bio/images/logo.png' width="100px" height="100px">
<h1> Nebula </h1>

# 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.
</div>

![license](https://img.shields.io/badge/License-GNU%20AGPL%20v3-blue)

![chat](https://img.shields.io/badge/chat-1139%20online-brightgreen)

![ver](https://img.shields.io/github/package-json/v/Nebulaservices/Nebula)



## Features

- Stunning highly functional UI with multiple themes
- XOR/b64 Encrypts all traffic sent from Nebula
- Stunning and highly functional UI with multiple themes
- XOR/b64 encoding all traffic
- Hides your IP from sites
- [List of officially supported sites](https://github.com/NebulaServices/Nebula/blob/main/docs/officially-supported-sites.md)
- *limited* mobile support
- StealthMode (buffed `about:blank` cloaking)
- Advanced cloaking options
- **NEW** Deployment option - Email OTP Verification (tutorial can be found below)
- 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
Expand All @@ -44,12 +52,36 @@ Table of contents
[![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)

---
## how to use email OTP Verification mode
* change `"verification":false,` to `"verification":true,`
* Make an account with Sendgrid (https://app.sendgrid.com/)
* verify email
* get API key
* fill out information in `deployment.config.json`
## Deployment Configuration Guide
(Example configuration with none-json notes)
```json
{
"verification": false, // disabled by default
"api_key":" Your sendgrid API key used to access your account from the API to send emails",
"sendFromEmail":"The email that will send the one time password (MUST BE VERIFIED IN SENDGRID)",
"type": "code", // DO NOT TOUCH
"email": " The email you want to use for recieving OTP "
}
```

## 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.

* Firstly, We need to enable verification within the deployment configuration
* change `"verification":false,` to `"verification":true,`
* _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` such as:


## Advanced Deployment

Expand Down Expand Up @@ -98,25 +130,35 @@ 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*
(Nebula's license is now GNU AGPL V3 as of v7.10)

## File system
| **File** | Purpose | |
|----------------------------------|----------------------------------------------------------------------------------------------------------|---|
| `static/index.html` | The main frontend visuals for NebulaWEB. | |
| `static/unv.html` | The verification-required frontend/visuals. | |
| `static/options/` | The frontend for Nebula's options, settings, and preferences. | |
| `static/resources/v.js` | Client verification system for the OTP system. | |
| `static/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
- Partical.JS (Specifically v4, 5, 6.1 &< only)
- UV Backend Proxy
- Osana Backend Proxy
- **Server:** Bare server on Node
- TompHTTP Bare Server
- node HTTP (No ExpressJS!)

## Support

For support, email chloe@nebula.bio or join our discord: discord.nebula.bio
For support, email chloe@nebula.bio or join our discord: discord.gg/unblocker


## Demo

[Click here to see a demo of Nebula](https://tutorialread.beauty/)
[Click here to see a demo of Nebula](https://nebulaproxy.io/)


## Acknowledgements
Expand All @@ -127,7 +169,7 @@ For support, email chloe@nebula.bio or join our discord: discord.nebula.bio
- [Partical.JS (v4, 5, 6.1 &< only)](https://github.com/VincentGarreau/particles.js)

## License

(Nebula's license is now GNU AGPL V3 as of v7.10)
Copyright Nebula Services 2021 - Present
<br>
This project uses the AGLP GNU V3 license.
Expand Down
2 changes: 1 addition & 1 deletion static/resources/nebulamain.js
Original file line number Diff line number Diff line change
Expand Up @@ -742,7 +742,7 @@ function handleTabLeave() {
document.getElementsByTagName("head")[0].appendChild(link)
}
link.href =
"https://static.nebulacdn.xyz/content/images/nebula_logo_619x619.png"
"https://camo.githubusercontent.com/b565ae2e136e0ac6023e7099288a62382de7c2b8cdce86a8b90449b86649434c/68747470733a2f2f6e6562756c6170726f78792e6e6562756c612e62696f2f696d616765732f6c6f676f2e706e67"