Skip to content

Commit

Permalink
Merge branch 'dev' into 'master'
Browse files Browse the repository at this point in the history
3.1.0b5 - Blacklisted sessions, fatal crash logs, plus other stability and QoL enhancements

Closes #11, #10, #15, #12, #16, #7, #5, and #18

See merge request Speyedr/guardian-fastload-fix!5
  • Loading branch information
Speyedr authored and Speyedr committed Jan 10, 2023
2 parents 255162f + 1bc1a2b commit 3e3310f
Show file tree
Hide file tree
Showing 13 changed files with 1,393 additions and 350 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@ build
venv
/network/secret.py
/debugger.log
venv-3.8
getcwd_test.py
35 changes: 30 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ This fork uses new methods to drop packets to R*-owned resources that are likely

By simply observing network activity when playing GTA Online, it was discovered that while all packets were encrypted, the "type" of packet can still be determined from simply checking the packet's payload size. Guardian already uses PyDivert which conveniently supports filtering on individual packets, so only a few minor modifications to the filtering rules were necessary to produce this fork which supports Online 1.54 and onwards.

### [Download 3.1.0b4 (latest)](https://gitlab.com/Speyedr/guardian-fastload-fix/-/raw/master/public_builds/guardian-3.1.0b4-fastload-fix.zip)
### [Download 3.1.0b5 (latest)](https://gitlab.com/Speyedr/guardian-fastload-fix/-/raw/master/public_builds/guardian-3.1.0b5-fastload-fix.zip)

## Usage
To increase the chance of a successful session, it is recommended that you follow these instructions:
Expand All @@ -24,7 +24,28 @@ To increase the chance of a successful session, it is recommended that you follo
7. Once your friends are loading into your session (they've confirmed they want to join your session and are now in the clouds), start a **Locked Session**.
\- While a session is Locked, no one will be able to join the session, but those already connecting / connected should remain.

Guardian _may_ work in other circumstances / setups, but are also less likely to produce secured sessions.
Guardian _may_ work in other circumstances / setups, but is less likely to produce secured sessions.

## Session Types

Guardian has many different kinds of sessions, each with different behaviours intended to be used under different circumstances.

The most important requirement for securing a session with Guardian is that you are the **"session host"**. You can still use Guardian to block packets as a non-host player, but improper use of session types as a non-host will likely get you disconnected from the session.

- _Solo Session_
- The strictest firewall, intended for use when you plan to only play by yourself. No one can connect to your game session, but critical R* related services and anything SocialClub related will still be let through. If you are in a session with any other player, they will lose connection to you.

- _Whitelisted Session_
- Only IP addresses in your Custom list `Lists -> Custom -> Add` will be allowed to connect to you. If you are the host of a session, anyone not on your Custom list will likely lose connection to the session. If you are non-host and enable this type of session and another player in your game session is not on your Custom list (whether already in the session or joining some time later), you will lose connection to everyone else, as your client won't be able to communicate with that player and you do not have host privileges to keep them out of the session.

- _Blacklisted Session_
- IP addresses in your Blacklist list `Lists -> Blacklist -> Add` will not be allowed to connect to you. If a connection is routed through R* servers, that connection will also be blocked as a security measure. This mode is _not recommended_ as GTA V has custom routing if only a handful of IP addresses are blocked.

- _Auto Whitelisted Session_
- Similar to _Whitelisted Session_, but everybody in the session is temporarily added to your whitelist, which means they won't be kicked. Any automatically collected IPs will be lost once the session ends, and there is (currently) no way to save them. Any connection that is believed to be a custom route (also known as a "Rockstar Tunnel") will be flagged, and you will be asked if you want to save these IPs to the temporary whitelist or not. If you do decide to save these IPs, players attempting to connect to you may be routed through these tunnels and may bypass your intended whitelist.

- _Locked Session_
- This mode blocks all new connections, preventing new players from entering the game session. Anyone already in the game session remains, and this mode prevents people from entering the session through a "Rockstar Tunnel" while allowing anyone currently being tunnelled to remain in the game session. However, if a player leaves they will not be able to get back in (unless you stop the _Locked Session_, of course). Enabling this mode as a non-host does _not_ drop you from a session.

## Motivation

Expand All @@ -43,10 +64,10 @@ I never quite liked the idea of firewalled sessions, however modders were target

## Requirements
#### System
- Python 3.6+ 64 bit
- Windows Vista/7/8/10 or Windows Server 2008 64 bit
- Python 3.9+ 64 bit
- Windows 8/10/11 or Windows Server 2012 64 bit
- Administrator Privileges
#### Packages
#### Packages `(only if building from source)`
- See [requirements.txt](requirements.txt)
- To install these required packages, run `pip install -r requirements.txt` in your command prompt in the context of the virtual environment you will also be using to run `setup.py`.

Expand All @@ -60,6 +81,10 @@ I never quite liked the idea of firewalled sessions, however modders were target
- No reverse engineering of any R*-owned Intellectual Property was undertaken to produce this fork.
- No decryption (nor any similar attack on encryption used to secure GTA Online) was performed to investigate packets.

## Support
- [**> Open an issue**](https://gitlab.com/Speyedr/guardian-fastload-fix/-/issues/new)
- [**> Join the Discord server**](https://discord.gg/6FzKCh4j4v)

## Credits (for this fork)
#### Developers
- [**DintNL**](https://gitlab.com/DintNL): Co-dev, pointed me in the right direction, suggested I make this fork.
Expand Down
Loading

0 comments on commit 3e3310f

Please sign in to comment.