Skip to content

Wes0617/SecuroSurf

Repository files navigation

SecuroSurf

A GTA Online PC Firewall


Jump to: 🔹 Downloads 🔹 Quick Guide 🔹 FAQs 🔹 Credits & Thanks 🔹 Wiki


🔹 Is this a mod menu?

No it's not! SecuroSurf is a firewall software whose only duty is blocking traffic from IPs you don't know, which is well within your rights, especially considering how insecure this game is. SecuroSurf does not decrypt the game's traffic, and it doesn't interact with the game in any way. It does not contain any reverse-engineered code, nor any code that would violate the game developer's EULA. Furthermore, no decompilation or decryption was necessary to create the program. If all this doesn't convince you how trivial this program is, consider that the whole thing can be created by anyone with just Windows Firewall (except it would be very cumbersome to use). However, the usual warning applies because I am not a lawyer… I just want to play in peace: use this at your own risk.


🔹 Should I trust this?

You should never trust random code from the internet! However, in this case the code is open source and free for anyone to review. Furthermore, the binaries are built via GitHub, whose parent company is Microsoft, which should give you the peace of mind of running safe code.


🔹 Is this effective?

As of today (v1.60) it is, but only if used correctly! That is, all the people you are playing with must use it. Otherwise, hackers can still connect through the people that aren't protected by the firewall. How this works (tunneling) is illustrated by the diagram below; if the Assistant and Lester are running the firewall, but Rickie is not, hackers can connect to Rickie, Lester and the Assistant through Rickie:

Will the firewall continue to work in future? It most probably will, because changing the game's network architecture now, at the end of its life, would be a huge waste of money. GTA Online will continue to be a P2P game, unfortunately.


Quick Guide

SecuroSurf is easy to use! The most important functionality is just one click away.


🔹 Download and run the app

SecuroSurf is a portable application that requires zero configuration for most users. All you need to do is to download the latest release (only win10/x64 is currently supported), unzip it somewhere, and then run SecuroSurf.exe as Administrator (Right-click on the executable and press Run as administrator). If you use a VPN for GTA, make sure SecuroSurf connects through it as well.


🔹 Using the basic functionality of the firewall

The Normal mode will allow GTA Online traffic without interfering. This is the default at the startup.

The Solo mode, unsurprisingly, will immediately block all the traffic and take you to a protected empty lobby.

The Lan mode, instead, will allow only people from your own Local Area Network to connect to your lobbies. This is useful if you want to play with just your family members, or roommates, etc. Remember that this is only effective if also the other players are using SecuroSurf with this exact mode enabled.


🔹 Using Dynamic sessions (best for most users)

This mode is the best for most players, because it works right out of the box with no configuration necessary. Simply create a Solo lobby, then switch to Normal. Wait a few seconds, and invite your friends (while they are on Normal as well). Once everybody has joined, everybody should enable the Dynamic mode. This will ensure that only the people currently in the session will be allowed to stay in the session. In other words, no one else can join after enabling the Dynamic mode. Note: this mode is currently not available, but it will be when the version 2.0 of the app is released.


🔹 Crew sessions (for advanced users and groups)

Crews are totally customizable session configurations. They are the safest mode, given that with them, the firewall can be kept active all the time, thus offering more protection than the Dynamic session mode, which instead requires the firewall to be turned off occasionally for your friends to join. Crew sessions are meant for established groups of people that are looking for a more definitive, stronger solution against frequent attacks from modders. You can find an example of a crew definition here, and here the full documentation.

[Local Crews] A crew can be defined with a simple JSON file. Then, each member of the crew should have an identical copy of this file and use it to run the firewall. For example, you can use Google Drive to distribute the file to all your crew members. The file should be placed in the "configs" folder, and be named session.crew.name.json, where "name" can be replaced with any name consisting in ASCII letters, numbers, and spaces (e.g. session.crew.My Amazing Crew.json).

[Remote Crews] Sharing configuration files with your friends can be annoying, so it is possible to host the crew definitions on the web, and have SecuroSurf fetch them automatically. If your crew provided you with an URL to use with SecuroSurf, you must create a session.crews-remote.json file containing a JSON object whose keys are the crew names, and the values are the respective URLs you've been given. See an example here. The format used for the remote configurations is the same as the local crews, except the data is obfuscated. If you are the leader of a crew, have a look at the source code to learn how to implement this, or ask for help in the discussions section.


FAQs

Frequently Asked Questions.


🔹 How to update?

This project follows SemVer versioning. Meaning that, for example, if you own the firewall version 2.x you can use your configuration files on any other 2.x, but not 3.x.. However, you should try to keep your configuration files updated, rather than blindly copying them from one directory to another. Important to know also, is that the presets that ship with the firewall (Normal, Solo, Lan, Dynamic) are not meant to be user-configurable, so you should always replace them with the respective newer versions.


🔹 Why can't I connect sometimes?

It is completely normal to get "Unable to connect to game session" or "Player is no longer in session" sometimes, even if everything looks fine. These errors happen when you could not complete the connection within the allowed traffic limits, probably because other people or strangers were trying to connect at the same time. Should this happen, don't press Continue; open your friends list, and try again by clicking Join Game:


Credits & Thanks

This program is inspired by Guardian, and Guardian by Speyedr. Many thanks to them, as they provided the initial input and info necessary to start this project. In particular to Speyedr, which figured out the first proof of concept. Also, thanks to my friend Robert B. for helping me out with Python, and many thanks to the guinea pigs (B. and B.) that helped to test this application.