aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: c4ce5e583d48830b8b3e3b3af05a22f3a059cb5e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# sdp.go [![Go Reference](https://pkg.go.dev/badge/github.com/pektezol/sdp.go.svg)](https://pkg.go.dev/github.com/pektezol/sdp.go) [![Go Report Card](https://goreportcard.com/badge/github.com/pektezol/sdp.go)](https://goreportcard.com/report/github.com/pektezol/sdp.go) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/pektezol/sdp.go/blob/main/LICENSE)

Source Demo Parser written in Golang.
Currently supports Portal 2.

## Couldn't Do This Without Them

- [@UncraftedName](https://github.com/UncraftedName): For [UntitledParser](https://github.com/UncraftedName/UntitledParser)
- [@NeKzor](https://github.com/NeKzor): For [dem.nekz.me](https://dem.nekz.me)

## Usage

```bash
$ ./parser demo.dem

$ ./parser demos/
```

## Currently Supports

- File or folder input using the CLI.
- API calls over library import.
- Either pretty text or JSON output.
- Parsing of demo headers and each (most) message type.
- Parsing of packet classes.
- Custom injected SAR data parsing.
- Multi-threaded parsing over multiple demos.

## TODO

- In-depth packet class parsing for each class. ([#7][i7])
- Entity parsing. ([#17][i17])

[i7]: https://github.com/pektezol/sdp.go/issues/7
[i17]: https://github.com/pektezol/sdp.go/issues/17