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.
Quick note: If you are a system administrator, and have questions, our email is always open [email protected]
- 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
Table of contents
- Quick & easy deployment
- Deployment configuration explaination
- how to use email OTP Verification mode
- Advanced Deployment
- Filesystem
PLEASE READ THIS NOTICE: IF YOU ARE USING NODE VERSION 20 (HEROKU, RAILWAY), YOU WILL NEED TO TEMPORARILY DOWNGRADE TO 19 OR EARLIER.
(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 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.
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
"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 thesendgrid_options
section such as: sendFromEmail, to_email and api_key
- 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.
- 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
andpass
section under auth.
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
@
- Target will be
- Click Enable proxy (little gray cloud icon, if active its orange)
- Select SSL/TLS in your right bar
- Click "Flexible"
- 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 | 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. |
- HTML, JS, CSS
- Partical.JS (Specifically v4, 5, 6.1 &< only)
- Ultraviolet (proxy)
- Osana (proxy)
- TompHTTP Bare Server Node
- ExpressJS
For support, email [email protected] or join our discord: discord.gg/unblocker
Click here to see a demo of Nebula
- UV (one of the proxies use)
- Osana (one of the proxies we use)
- Bare Server Node
- Partical.JS (v4, 5, 6.1 &< only)
(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.