Giter Club home page Giter Club logo

rammerhead's Introduction

rammerhead

proxy based on testcafe-hammerhead (password is sharkie4life)

Demo link: https://demo-opensource.rammerhead.org

Polished closed-source-for-now browser version: https://browser.rammerhead.org (more links by awesome community members in the discord server at the end of readme)

Supporting me and contributing

Server infrastructure costs money and developing this project consumes a lot of my time, so I would appreciate it greatly if you become a Patreon member: https://www.patreon.com/rammerhead

Who is this package for

Package is for those who want a fully-configurable proxy that works on many sites

Effectiveness of proxy

This proxy supports proxying

  • basically everything except google logins

Features of proxy

The proxy allows users to create a "session". When they access their session, their localStorage and cookies will be synced with rammerhead. This allows for accurately mocking cookied requests and conveniently save their logins even if they switch devices. This also enables users to configure a custom HTTP proxy server for rammerhead to connect to for the session.

Installing and running

Rammerhead recommends you to have at least node v16 to be installed. Once you installed nodejs, clone the repo, then run npm install and npm run build.

After, configure your settings in src/config.js. If you wish to consistently pull updates from this repo without the hassle of merging, create config.js in the root folder so they override the configs in src/.

Finally run the following to start rammerhead: node src/server.js

Discord server

For any user-help non-issue related questions, especially pertaining to Rammerhead Browser, please ask them here: Rammerhead Support Server.

rammerhead'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

rammerhead's Issues

Just not working

I normally use proxy sites so I can play games while I'm in this fun graveyard of a school, but this just won't work. Whenever I type something into the search bar, it just loads forever. i have let it sit for hours to no avail. This has been going on for a while.

Error: ENOENT: no such file or directory open '...../hammerhead.min.js'

Error: ENOENT: no such file or directory, open 'C:\Users\MYNAME\rammerhead\src\client\hammerhead.min.js'
    at Object.openSync (node:fs:585:3)
    at Object.readFileSync (node:fs:453:35)
    at RammerheadProxy.GET (C:\Users\MYNAME\rammerhead\src\classes\RammerheadProxy.js:541:34)
    at RammerheadProxy._registerServiceRoutes (C:\Users\MYNAME\rammerhead\node_modules\testcafe-hammerhead\lib\proxy\index.js:96:14)
    at new Proxy (C:\Users\MYNAME\rammerhead\node_modules\testcafe-hammerhead\lib\proxy\index.js:65:14)
    at new RammerheadProxy (C:\Users\MYNAME\rammerhead\src\classes\RammerheadProxy.js:124:13)
    at Object.<anonymous> (C:\Users\MYNAME\rammerhead\src\server\index.js:17:21)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (C:\Users\MYNAME\rammerhead\src\server.js:1:1)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10) {
  errno: -4058,
  syscall: 'open',
  code: 'ENOENT',
  path: 'C:\\Users\\MYNAME\\rammerhead\\src\\client\\hammerhead.min.js'

its looking like there's some files missing? i'm not too sure.

Discord issue

I need a new website, Every time I log onto discord on the browser it logs me out of discord. I can’t use discord at all.

Attempting to run on heroku

Hello! I am attempting to run a rammerhead instance on heroku and keep getting this error

2022-03-29T00:15:13.015054+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
2022-03-29T00:15:13.046184+00:00 heroku[web.1]: Stopping process with SIGKILL
2022-03-29T00:15:13.212088+00:00 heroku[web.1]: Process exited with status 137
2022-03-29T00:15:13.259346+00:00 heroku[web.1]: State changed from starting to crashed

thanks!

Prefix?

How can I make a prefix, (example: /[prefix]/[sessionid]/[url]) I need this for my Nginx reverse proxy.

Problems with Discord login button

There is a problem where eventually, trying to login to discord does not work. When clicking on the login button nothing happens and it seems like you have to wait about 7, 6, or 8 hours before the login button actually works. this started happening yesterday and it has been very frustrating since I use discord for school. please if you can, fix this issue..

add new tab button

I mean,
the double-click is fine but I didn't find out about it until someone told me
idk
formalities go brrr

redirects to localhost when it tries to load anything

when i load up a session on my site it goes to google but when i type in anything to the search bar, it redirects to localhost.

using a physical pc to host
node 18? (im not home but will edit when i am)
i will give any other info if needed

nothing will load

that alienhub thing doesn't show up on my screen so nothing will load

obfuscate the code

securly has found a new way to detect rammerhead and rammerhead browser links.
the code that blocks it is here

var port = chrome.runtime.connect({
    name: "rproxport"
});
async function onWindowLoad() {
    let t = document.evaluate("//script", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null),
        e = "",
        n = /\/static\/js\/main\.[0-9a-z]{1,}\.js/i;
    for (let a = 0; a < t.snapshotLength; a++)
        if (t.snapshotItem(a)
            .attributes.length > 0 && null != t.snapshotItem(a)
            .attributes.src && null !== t.snapshotItem(a)
            .attributes.src.value.match(n)) {
            e = t.snapshotItem(a)
                .attributes.src.value;
            break
        } if ("" !== e) {
        let t = await fetch(e),
            n = await t.text();
        ("9c6d270f3803b30049faad6927e9b0cd3c6325b3a00ec8a20303049f386add4b" == await sha256(n) || n.includes("M 21 13 h -8 v 8 h -3 v -8 H 2 v -3 h 8 V 2 h 3 v 8 h 8 Z")) && sendData(window.location.href)
    } else {
        let t = document.evaluate("//input", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
        for (let e = 0; e < t.snapshotLength; e++)
            if (t.snapshotItem(e)
                .attributes.length > 0 && null != t.snapshotItem(e)
                .getAttribute("placeholder") && "click on 'Create new session ID' or 'Fill in existing session ID' from below" == t.snapshotItem(e)
                .getAttribute("placeholder")) {
                sendData(window.location.href);
                break
            }
    }
}
async function sha256(t) {
    const e = (new TextEncoder)
        .encode(t),
        n = await window.crypto.subtle.digest("SHA-256", e);
    return Array.from(new Uint8Array(n))
        .map(t => t.toString(16)
            .padStart(2, "0"))
        .join("")
}
function sendData(t) {
    port.postMessage({
        action: "rprox",
        data: {
            url: window.location.href
        }
    })
}
function callWindowLoadWithTimeOut() {
    setTimeout(onWindowLoad, 2e3)
}
window.addEventListener ? window.addEventListener("load", callWindowLoadWithTimeOut, !1) : window.attachEvent && window.attachEvent("onload", callWindowLoadWithTimeOut);

in onWindowLoad, securly checks for all /static/js/main.blahblah.js files and loads each one to check for a string, M 21 13 h -8 v 8 h -3 v -8 H 2 v -3 h 8 V 2 h 3 v 8 h 8 Z, or if it matches with this hash 9c6d270f3803b30049faad6927e9b0cd3c6325b3a00ec8a20303049f386add4b, if any of these are found, the url is submitted and securly will block it, even if it cant communicate with securly servers. also, if no scripts were found it checks for an input with placeholder click on 'Create new session ID' or 'Fill in existing session ID' from below, the same one as in rammerhead.

you need to obfuscate all the code, or securly will find out.

How to go about having rammerhead running on an express server?

Not an issue, just a legitimate question written by an actual programmer and not 10-year-olds trying to use it for their school. I'm trying to create a sort of hub for proxies. After accomplishing the proxy part by having different proxies run at subdomains and then having them in iframes, I'm now trying to track the URL of each proxy. So, I opened inspect element to see how the closed source version of this does it (or at least get a general idea), and I noticed that you have the UI actually running with the proxy.

So, I realized that instead of having the proxy on subdomains I should probably just have them running on different pages. Like rammerhead at /rh and womginx at /wginx.

From there, this question popped up. Is it possible to run rammerhead using express at something like /rh? If so, how would I go about doing it?

almost nothing works

when I try to get on wattpad or youtube or tumblr it never seems to work
wattpad glitches out, youtube says no internet connection but i have internet and tumblr says cannot post/login
so i have no clue if its just taking my info without my knowing?

'502 Bad Gateway'

constantly getting this message everytime i open the link for the demo rammerhead?? don't kno if its a bug or something

Video player shows "loading error"

Hello Mate, Thanks for sharing this wonderful proxy to the community.

I have set it up on my server for testing. Most of the websites works like charm, except when it comes to adult websites. When I tried accessing websites like, x n x x, x v i deos, x ham ster etc.. Websites opens fine, but when I try to play any videos, am getting "loading error" on the video player.

Can you please help fix the player, help me understand what would have gone wrong?

Hi, Everything Is Broken.

None of the sites are loading in on my phone, is anyone else experiencing this issue? It’s not blocked, just gives me an error message for safari loading it. Google says the webpage is not available. Im unable to use discord without rammerhead, so maybe it was taken down? Im not sure. Thanks for listening to me ramble.

Bad Gateway

Every-time i go to cloud-flare and type in the site i wanna go to i get a bad gateway screen.
I wait for to most of the times before i refresh the page but it keeps saying that the thing says its the hosts error but i have no clue what do i do ?

Website discord issue

I need a new website, Every time I log onto discord on the browser it logs me out of discord. I can’t use discord at all.

discord mic connecting issue

hey so um whenever i try and connect to a discord call it says ice connecting and when i go to settings it says that i didn’t give access to the website to use my mic. but nothing pops up when i try.

slow azz server

the mf servers refuses to connect, makes me wait for 10 minutes just to view an image. Slow ass ab cloaked webs and extremely slow servers overall

Issue

Everytime I try to use this website I look up someone and it says loading and does not pull up the website

replit token error

when I run everything on replit after installing etc it prints this:
`About to throw: Unexpected token '.'
/home/runner/rammerhead/src/util/addUrlShuffling.js:69
disableShuffling = pattern.urlAttr?.toLowerCase() === 'action';
^

SyntaxError: Unexpected token '.'
at wrapSafe (internal/modules/cjs/loader.js:915:16)
at Module._compile (internal/modules/cjs/loader.js:963:27)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
at Module.load (internal/modules/cjs/loader.js:863:32)
at Function.Module._load (internal/modules/cjs/loader.js:708:14)
at Module.require (internal/modules/cjs/loader.js:887:19)
at require (internal/modules/cjs/helpers.js:74:18)
at Object. (/home/runner/rammerhead/src/classes/RammerheadProxy.js:17:1)
at Module._compile (internal/modules/cjs/loader.js:999:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
at Module.load (internal/modules/cjs/loader.js:863:32)
at Function.Module._load (internal/modules/cjs/loader.js:708:14)
at Module.require (internal/modules/cjs/loader.js:887:19)
at require (internal/modules/cjs/helpers.js:74:18)
at Object. (/home/runner/rammerhead/src/server/index.js:4:25)
at Module._compile (internal/modules/cjs/loader.js:999:30)
exit status 7`

Analytics code on proxied pages

I would like to include google analytics code on the proxied pages. Can you please tell how we can inject it onto the proxy pages?

Running this on render

I'm trying to run this on render so I can deploy it. Rammerhead is the only proxy that can work against Iboss. But I followed the step down where it says: npm install and npm run build but every time I try and deploy it, it doesn't work. I just hope you can help me out.

504 Bsd gateway

if i type something it takes 5-10 minutes to load then it says 504 bad gateway. It's been like this since Friday 23rd of september.

QUESTION?

Can somebody just make a google doc or something with a bunch of rammerhead links because i am so done on trying to find them i spend more time trying to find them then playing football

):

it wont let me get on the instagram website.

crossDomainPort is not working

After I deployed it, I used 8443 as the cross-domain port, but it was not working and could not be used normally. I could only set it to 443, the same as the ssl port, but the rammerhead.js file reported an error
image

If it is set to port 8443, the video cannot be played,

image

image

attempted to run it on replit

npm start

> [email protected] start /home/runner/Rammerhead
> node src/server.js

About to throw: Unexpected token '.'
/home/runner/Rammerhead/src/util/addUrlShuffling.js:69
        disableShuffling = pattern.urlAttr?.toLowerCase() === 'action';
                                           ^

SyntaxError: Unexpected token '.'
    at wrapSafe (internal/modules/cjs/loader.js:915:16)
    at Module._compile (internal/modules/cjs/loader.js:963:27)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
    at Module.load (internal/modules/cjs/loader.js:863:32)
    at Function.Module._load (internal/modules/cjs/loader.js:708:14)
    at Module.require (internal/modules/cjs/loader.js:887:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.<anonymous> (/home/runner/Rammerhead/src/classes/RammerheadProxy.js:17:1)
    at Module._compile (internal/modules/cjs/loader.js:999:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
    at Module.load (internal/modules/cjs/loader.js:863:32)
    at Function.Module._load (internal/modules/cjs/loader.js:708:14)
    at Module.require (internal/modules/cjs/loader.js:887:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.<anonymous> (/home/runner/Rammerhead/src/server/index.js:4:25)
    at Module._compile (internal/modules/cjs/loader.js:999:30)
npm ERR! code ELIFECYCLE
npm ERR! errno 7
npm ERR! [email protected] start: `node src/server.js`
npm ERR! Exit status 7
npm ERR! 
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/runner/.npm/_logs/2022-03-27T18_56_36_867Z-debug.log
exit status 7

Discord Freezes my Chromebook

When I tried to go to discord.com/app or discord.gg and log in (i used qr code to log in), once it reached the main page, it freezes up my chromebook. Either I has to force restart it, or wait for chrome os to crash.

Refused to connect

every site says refused to connect (diep.io , coolmath,holy unblocker) I can hardly get anything working

Beep Boop

I am getting the problem where you press login on discord and it stays on welcome beep boop for 4 hours with no captcha thank you please get back to me

Replit Error

I tried to launch this is Replit and this is what I got
Screenshot 2022-10-31 11 56 10 AM
Do you know how to fix this

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.