@@ 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.