daeuniverse / daeuniverse/dae

[Feature Request] Enhance routing steam games

Open
#863 1 comment 3 reactions 0 assignees View on GitHub
topic/feature
Dominant language
Go
Stars
6.2k
Forks
404
Avg merge
57m
Merged PRs (30d)
2

Description

### Greetings

Thanks for the good work for this project. This is a not-that-necessary feature. But it will be nice if we can have it.

### Feature Request

When I launch a steam game, the process name is like:

```
Z:\home\hiroo\.local\share\Steam\steamapps\common\P3R\P3R\Binaries\Win64\P3R.exe
```

And the dae logs show that it takes the process name as `Z:\home\hiroo\.l`. (I trimmed some information in the logs.)

```
Jul 15 19:24:41 my-instance dae[1278904]: level=info msg="" dialer="" dscp=0 ip="" mac="" network=udp4 outbound=proxy pid=1502686 pname="Z:\home\hiroo\.l" policy=min_moving_avg sniffed=
```

I need to write `pname("Z:\home\hiroo\.l") -> direct` to route the game process correctly, if I don't want it to be routed to proxy outbound, which is kind of unfriendly.

It will be helpful to support routing by comm, i.e. `P3R.exe` instead of the first several chars of cmdline.

```
# cat /proc/1502686/comm
P3R.exe
cat /proc/1502686/cmdline
Z:\home\hiroo\.local\share\Steam\steamapps\common\P3R\P3R\Binaries\Win64\P3R.exe
```

### Use Cases

It will help a lot for configuring routing separately for P2P games and other games.

For example, when playing Master Duel, I prefer to use proxy. And when playing Monster Hunter, I need to use direct outbound to connect with my friends.

### Potential Benefits

Not a critical or important feature. However, it will be easier to configure routing for different games, and furthermore different wine processes.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing how dae obtains the process name shown as pname in its logs, comparing the existing cmdline handling with /proc//comm. Confirm the routing policy matching path, then verify that a rule matching P3R.exe can select direct while other game names remain independently configurable.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, linux
Domain
networking, operating-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.