How to make a proxy in 10 minutes

Alright this tutorial is going to show you the code and how you can make your own proxy in glitch.com

Steps

1. Go over to glitch.com and make an account

2. Once your on the dashboard press new project

3. Make a glitch-hello-node project

4. In your sidebar delete all the files apart from "package.json", "server.js" and ".env"

image

5. Click on package.json and delete all the code then replace it with this:

{
  "//1": "describes your app and its dependencies",
  "//2": "https://docs.npmjs.com/files/package.json",
  "//3": "updating this file will download and update your packages",
  "name": "hello-express",
  "version": "0.0.1",
  "description": "A simple Node app built on Express, instantly up and running.",
  "main": "server.js",
  "scripts": {
    "start": "node -r esm server.js"
  },
  "dependencies": {
    "express": "^4.18.2",
    "axios": "^1.4.0",
    "esm": "^3.2.25"
  },
  "engines": {
    "node": "12.x"
  },
  "repository": {
    "url": "https://glitch.com/edit/#!/hello-express"
  },
  "license": "MIT",
  "keywords": [
    "node",
    "glitch",
    "express"
  ]
}
That just downloads the modules we need ( if it says update available for the modules then do that)

6. Press on server.js and replace the code with this:


const express = require("express");

const app = express();
import axios from "axios"




app.use(express.static("public"));


app.get("/",async(req,res)=>{
  
  let url = req.query.link

  if (url){
    
    let thiss =axios.get("https://"+url)
    .then(function(response){
      res.json(response.data)
    })
    .catch(function(error){
   
      console.log("Something went wrong "+ error + " " + error.config.url)
      res.json("Something went wrong "+ error + " " + error.config.url)
    })
  }else{
    res.send("No url given")
  }
  
 
})

const listener = app.listen(process.env.PORT, () => {
  console.log("Your app is listening on port " + listener.address().port);
});

Ok Great your all done on glitch now you want to be able to send urls to it so just hope into studio and use this code:

By the way to get the pages link at the bottom of the page press: Preview -> Preview in a new window, and the link is just at the top

image

image

local Http = game:GetService('HttpService') 
local Encode = Http:UrlEncode("PUT THE LINK HERE WITHOUT HTTPS AT THE START") 
local Link = "https://proxyNameHere.glitch.me/?link="..Encode
print(Link)
print(Http:JSONDecode(Http:GetAsync(Link)))

And that's it, any .roblox.com GET link should work. If you have any questions or get stuck just reply and I will try my best to help you out. Thanks

:slight_smile:

Sorry I used loads of header tags

26 Likes

Hey I have a really silly and simple question. let’s say I have a game with 10 thousand people in it, and I use the proxy server to request players gamepasses am I going to get rate limiteds? if so are there other services that I can pay for to increase the amount of times I can request data.

If you have 10k players constantly checking gamepasses, no one web server will work for you, Roblox employs IP level rate limiting so your web server will get caught by such limit no matter how much resources you pump into it, you’ll need to rotate the IPs that each request is being sent through regularly.

2 Likes

you could pay to “boost” your servers on glitch witch remove rate limiting for that one or you could make like 3 accounts each one with a separate proxy

1 Like

thank you for the reply! I’ll look into it

then how does pls donate and catalog creator do their stuff?

They are hosting their own server

I’m having some issues with this, but I’m not going to explain it all here right now, the post is at URL must be HTTPS
I used this very same setup yet it still doesn’t work.

If your getting the error make sure the original link for your proxy has https:// at the start it is only when you try to send the roblox url that you want that you should remove the https://

Hi im sorry for reviving this topic but I have been strugling at it for 2 weeks now…
Is it possible to use this on other hosting services? would it work if we did some other service like Render or Koyeb

You could try importing / editing this github repo into them? I have never used Render or Koyeb so sorry I can’t be much help

I did the tutorial, but the hour run limit is kinda a problem because it means you cant keep it running 24/7, unless there is a way to do it i guess ill stick to that

thanks! Ill respond back once i figure this out and put a github to make sure everyone else can host them as well

Rolling proxies, constantly changing proxies:

It will cost though, with this, you’d host your own server that still uses Axios, but you’d just use this to replace axios with a proxied version.

const HttpsProxyAgent = require("https-proxy-agent"),
axios = require("axios");

const httpsAgent = new HttpsProxyAgent({host: "proxyhost", port: "proxyport", auth: "username:password"})

axios = axios.create({httpsAgent});

is

is it possible to run this on other server providers by editing axios or is it for Bright Data Only

Yea! Bright data was just a cheap example.

If you have 10k ppls then you are prob rich and can afford your own server