~ruther/NosTale-Anonymizer

d8fdeb7455a0a2431d7c704c5ac0154dd3c9be3e — Rutherther 2 years ago 83b07fa
chore: add README.md
1 files changed, 60 insertions(+), 0 deletions(-)

A README.md
A README.md => README.md +60 -0
@@ 0,0 1,60 @@
# NosTale-Anonymizer
A tool for NosTale packet files that filters specified packets and replaces ids, names to make the result anonymous.

Currently only files are supported. I am planning to make this work with [NosSmooth.Local](https://github.com/Rutherther/NosSmooth.Local).

## What packets are supported
Anonymizer uses [NosSmooth.Packets](https://github.com/Rutherther/NosSmooth), so all packets NosSmooth supports may be moved.

There are two filters for filtering by header and filtering text messages (;, :, /). There are some default headers that are removed,
because these packets allow for identification and are not yet supported.

In case you think there is a packet that may identify anyone that is not handled, 

By default, the packets that may be anonymized, are:
- at
- bs
- c_info
- c_list
- c_mode
- cond
- drop
- eq
- get
- gidx
- in
- mv
- ncif
- n_run
- out
- pairy
- pinit
- pst
- raid
- raidf
- rboss
- rdlstf
- rdlst
- revive
- say
- st
- su
- titinfo
- twk
- u_pet
- u_p
- u_s

The only things anonymized in these are ids and names.
Anonymizing other things such as level, hero level, class, weapon, inventory items will be supported in the future.

## Anonymization process
Anonymization happens in `IAnonymizer`, there is a default implementation `DefaultAnonymizer` that may be replaced. The default anonymizer
just generates random numbers and names of length 10. It could be better to use a list of names and choose from that to make the names
more user friendly.

## Future features

- Add support for [NosSmooth.Local](https://github.com/Rutherther/NosSmooth.Local). Make a deanonymizer. Anonymize the packets upon receiving and deanonymize them upon sending. 
- Add support for all packets that may identify the user.
- Add support for anonymizing other things apart from id, names.

Do not follow this link