Giter VIP home page Giter VIP logo

womginx's Introduction

Womginx

Fastest proxy using only nginx as the backend server

Replit

Before you deploy to Heroku, read the following: Heroku decided that this repository violates the ToS, so directly clicking the button below if you're in the main repository will result in an error. Forked repositories may work, though this is not guaranteed. Regardless, I am NOT responsible if your Heroku account gets suspended because of deploying this application. Proceed at your own risk.

Deploy

Demo: https://womginx.arph.org

Heroku Docker demo: https://womginx.herokuapp.com taken down for now. If you need one, deploy one using the button above or use the demo link.

Site compatibility

What works:

  1. recaptcha
  2. discord with actual login credentials (no qr code required)
  3. websocket sites
  4. sites that have cookies

What doesn't work:

  1. react sites
  2. sites that depend on window.location and are minified
  3. YouTube UI (however, you can watch a video like https://proxysite.com/main/https://www.youtube.com/watch?v=vidid and it will work)

Prerequisites

You need one thing and one thing only: nginx.

Ok maybe not just that, you'll need the following:

  1. nginx
  2. certbot
  3. nodejs (for building wombat)
  4. a (sub)domain
  5. a vps

Installation (more simple and contained)

  1. Install Docker
  2. Install docker-compose
  3. Clone this repo by running git clone https://github.com/binary-person/womginx
  4. cd womginx then edit go and edit docker-compose.yml
    • To disable safe browsing, delete the line that says SAFE_BROWSING
    • To change the port, edit 80:80 to newport:80
    • Don't pay attention to PORT=80 as changing that only changes the port inside the docker container. Only weird environments like Heroku need it.
    • To bind the port locally, do 127.0.0.1:80:80 (do this if you're hosting multiple things and you're using a reverse proxy like nginx or caddy)
    • If you are using a reverse proxy, set the x-forwarded-for as womginx's rate limiter relies on this header when running in a container. So for nginx, add proxy_set_header X-Forwarded-For $remote_addr;
  5. then run sudo docker-compose up -d to start it
  6. sudo docker-compose down to stop
  7. If you want to update womginx to the latest version, run git pull && sudo docker-compose up -d --build

Installation (more complex, direct, and permanent)

# assuming you are on Ubuntu/Debian

## Part 1 of installation ##

# update your repo list
sudo apt update

# 1. install nginx
sudo apt install nginx

# 2. install certbot and the nginx plugin
sudo apt install certbot python3-certbot-nginx

# 3. install nodejs (skip if you already have it)
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install nodejs

# 4. Get a (sub)domain with an A(AAA) record pointing to your VPS IP

# 5. Get an ssl certificate
sudo certbot --nginx certonly -n -d yourdomain.com

## Part 2 of installation ##

# 1. clone repo and wombat submodule
git clone --recursive https://github.com/binary-person/womginx

# 2. build wombat
cd womginx/public/wombat
npm install
npm run build-prod

# 3. replace 'womginx.arph.org' with 'yourdomain.com' in nginx.conf
cd .. # cd into public folder
sed -i -e 's/womginx.arph.org/yourdomain.com/g' ../nginx.conf

# 4. replace '/home/binary/womginx/public' with your public folder
sed -i -e "s/\/home\/binary\/womginx\/public/$(pwd | sed -e 's/\//\\\//g')/g" ../nginx.conf

# 5. make backup of original nginx.conf
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup

# 6. copy womginx nginx.conf to /etc/nginx/nginx.conf
sudo cp ../nginx.conf /etc/nginx/nginx.conf

# 7. restart the nginx server
sudo service nginx restart

Why did you want to use only nginx and burden yourself with nginx's "restrictive" and "esoteric" config?

I did it as a game, or, challenge, for myself to learn nginx and also to take advantage of nginx's resilience and speed for handling lots of requests, which is perfect for proxying.

It also was to deter nginx's restrictive reputation (in a community server I'm in).

Contributing

Contributions are welcome. Send in a pull request and I'll be more than happy to take a look.

Future plans

Make another client rewriting library similar to wombat but made with intent to be a proxy rewriting library and with the goal of ease of use for the server and the client.

License

This project is licensed under the AGPL license.

Wombat uses AGPL, and under the terms of that license, this project, therefore, is also required to be licensed under AGPL.

Credits

womginx's People

Contributors

binary-person 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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

womginx's Issues

hCaptcha Issues

Captcha is not loading on the proxy. It was working a few weeks ago though. Any fix?

HerokuApp is blocked

Is their any way to make an app with another website host site other then Heroku App because it has been blocked for me.

nginx complains about getpwnam

I'm very interested in this project since I have some experience around nginx reverse proxying, I've attempted to use the dockerfile and raw install with the same result which is an error from nginx after following the steps:

root@womginx:~/womginx/public# nginx -t
nginx: [emerg] getpwnam("nginx") failed in /etc/nginx/nginx.conf:1
nginx: configuration file /etc/nginx/nginx.conf test failed

Nginx config:
https://raw.githubusercontent.com/pascal48/issuecrap/main/womginxNginxError.txt

I've attempted changing the user line to to nobody, and a singular nginx with essentially the same result.

OS: Debian 11

Hope this is enough info, I don't make github issues very often

hCaptcha broken

hCaptcha is broken across multiple proxies using Womginx including Holy Unblocker preventing access to Discord login the normal way

403 Error

everytime i try to go on a link it says 403 forbidden

Sites stop working

A lot of sites stopped working moomoo io wont even load anymore it keeps saying disconnected and other io sites stopped too

please put heroku backup

Can you please put the heroku one back on? The demo is blocked at my school and the one i deployed to heroku says "application error"

Won't let me sign in to anything

I don't know if it was on purpose or a bug, but when I try to sign in on any account using the proxy, it keeps saying the password is wrong. I really hope you can fix this bug because this proxy is extremely good

question and problem!!

hey! i've been trying to use discord on womginx, and unfortunately it won't let me log in, because i have to verify by email, and i can't verify because i can't access that email on my school computer. i've tried to use womginx for mail.google.com, although it never loads. it might be because i'm using womginx through holy unblocker. have you run into this before?

Cant' deply to heroku

It says:

 !     No default language could be detected for this app.
			HINT: This occurs when Heroku cannot detect the buildpack to use for this application automatically.
			See https://devcenter.heroku.com/articles/buildpacks
 !     Push failed```

wiziz io not working

I really want to play wiziz at school and I have tried all other proxies and none work so please make womginx work with wiziz
image

captcha not working on discord

When i tried to use discord and do the captcha i picked everything right but then after it tried to go to the second stage it went back to the first then closed on itself

New tabs

is there a way to press go without it opening a new tab because I need it in an iframe in order for it to be unblocked.

how do i deploy to repl?

hello, i would like to deploy to repl so i can use a custom domain. is there a way to do this?

Help me

whenever i try to open a website no matter what it is i get error 403 i need help

will not lode any thing

hay I'm trying to open a website and nothing will load I have tried to reset site setting reset cookies and nothing will you plz help and don't make it to reset my game progress.

Prefix?

How do I change prefix? I don't see the go() function, so i cant change the /main/ to something else.

Embeds on Google Sites Getting Error 403

I'm using this on Heroku and whenever I try to embed discord on google sites, I get 403 error. I'm pretty sure I know why it is happening (blacklist of user agents in the config file) but I cannot edit that on Heroku to change it. Any solutions or help?

<title> Tag Not Working

Hi, I'm trying to make a thing where when a site is loaded it doesn't say the site's title so that it won't show on search history. I tried to change the <title> tag on index.html so it doesn't show NGINX Proxy since the word Proxy is blocked at my school but when I load up the site after changing and deploying to Heroku it still says NGINX Proxy at the top.

Can you please help me?

hash the url

Is it possible to hash or somehow obfuscate the website url?
eg:
from https://womginx.example/main/https://www.google.com/ into https://womginx.example/main/d0e196a0c25d35dd0a84593cbae0f38333aa58529936444ea26453eab28dfc86 (using sha256 hash)

school chromebook

is this for everyone how haz a school chrome book but I keep on getting a 403 thx!!

aaaaaaa

image

  • [ ]
    image
    fix pez i need it to play games

discord support not working

When I try to login to discord it says ¨form field required", even though I already typed it. And when I try to verify, it gets stuck on ¨Authenicating...¨. Is there a way to fix this?

Question

Does using discord with womginx get you banned from discord?

safari

Why does the demo link only work sometimes and then other times I get a 403 forbidden

help

will you find me some unlocking websites. If you cant will you give me the code for an online js tester jsfiddle so I can play games?

wont load

idk if its my internet but everything else loads fine but the proxy wont load at all

[BUG] discord

I cant use discord it wont let me create an account i try clicking and it doesnt work

Website Blocked

I am using securly. I wanted to remove it but the web link was blocked. It was listed as an ´anonymous proxy´. You may need to fix this issue if you can.

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.