Skip to main content

No project description provided

Project description

sqredirect

Redirection and filtering Source Engine game traffic in a bundle with sqproxy

How it Works?

sqredirect attach eBPF filter(s) to network interface and manipulate with traffic targeting to game ports

eBPF is more efficient way to check/accept/drop packets in Linux

More in Wikipedia

Requirements

  • Linux
  • Kernel version >= 4.4, check your by command: uname -r
  • python2 or python3

Installation

TODO: Split into Ubuntu/Debian/Others like in bcc-tools README

Step 1: Install bcc-tools

Step 2: Install sqredirect

python -m pip install sqredirect

https://pypi.org/project/sqredirect/

Usage

Automatically

Only by SQProxy

Non-root running

bcc-tools can't be used w/o root, see https://github.com/iovisor/bcc/issues/1166

But you can use this snippet to restrict usage only to specified user/group:

TL;DR: move python redirect.py $@ to command and add permissions in /etc/sudoers


  1. Copy content of this folder to /usr/src/sqredirect

  2. Create file in /usr/local/bin/sqredirect with content:

    #!/bin/bash
    
    cd /usr/src/sqredirect
    exec python2 /usr/src/sqredirect/redirect.py $@
    
  3. chmod +x /usr/local/bin/sqredirect

  4. Create group network and add user to group

    addgroup network
    usermod -aG network <user-which-should-it-run>
    
  5. Allow run sqredirect command w/o root privileges

    echo "%network ALL=(root) NOPASSWD: /usr/local/bin/sqredirect" > /etc/sudoers.d/network
    

More about sudoers: https://www.digitalocean.com/community/tutorials/how-to-edit-the-sudoers-file

Troubleshooting

Problem: I can't reach my server through network

Solution: Rollback any changes at network level, run in console (if you have access):

tc qdisc del dev eth0 root

replace eth0 with your interface name

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sqredirect-1.2.1.tar.gz (19.7 kB view details)

Uploaded Source

Built Distribution

sqredirect-1.2.1-py3-none-any.whl (20.1 kB view details)

Uploaded Python 3

File details

Details for the file sqredirect-1.2.1.tar.gz.

File metadata

  • Download URL: sqredirect-1.2.1.tar.gz
  • Upload date:
  • Size: 19.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.8.6 Darwin/20.4.0

File hashes

Hashes for sqredirect-1.2.1.tar.gz
Algorithm Hash digest
SHA256 19472df9ea6d177526cfa58ff4bdc2121876f500e853a388336d7994acde1078
MD5 f3fe84ac0d5cbc1e39d57f3b3ab3841b
BLAKE2b-256 6e3dead105894b1c2e9ff3db5e95e7307ae425e47ae3265f7405835263380ffd

See more details on using hashes here.

File details

Details for the file sqredirect-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: sqredirect-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 20.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.8.6 Darwin/20.4.0

File hashes

Hashes for sqredirect-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1da7808d53842686d7f8632ddea383c1191369ae4180197d8e5aba65e347bff7
MD5 7d5f0831588582f030b71313ff501e82
BLAKE2b-256 2b125e9b15e5a542666e8eaaba281dd43a700dbd553a4fa9e260b7e5d3f25336

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page