Create working anonymous project copies.
For double blinded conferences you often want to provide support material, that allows replication
of your claims, but does not expose your identity.
Projects like Anonymous 4 Open Science clear a project from a
provided list of identifiers, but produce no actual git copies that could be afterwards cloned and
executed.
This little tool is a standalone, offline script to support full replication. It likewise
substitutes a list of provided keywords, but you can select the substitute, and you obtain the
resulting sources, not just a browsable website reflecting the content.
Likewise, this anonymizer treats file and directory names, and applies the same subsititions. This way you can esure your code is still executable, even after substitution, e.g. if you anonymize package names.
- Create a file
substitutions.txt
, next to theanonymize.sh
script - Provide binary
keyword substitute
tuples, alphanumeric and separated by a single whitespace.
Words may begin with a.
character. Example:
`Maximilian anonymousresearcher`
`mcgill someuniversity`
`.ca .country`
...
Note: These are NOT regex substition rules.
- Call the anonymizer, provide exatly one argument: the location of your folder to anonymize.
Example:
./anonymize ~/Code/MySuperSecretProject
- Your original sources are not mofied. The script creates a replacement folder, with
prefix
Anonymized...
- The anonymizer removes all traces of any dot files (.git, .DS_Store, ...), to prevent identification via metadata details, e.g. git commits.
- The anonymizer seraches for all provided keywords, Case Sensitive and replaces all
occurrences by the specified subsititue. Note that all occurrences will be substituted, so if your key is short, you may accidentally replace substrings of other words.
Substitution considers:- File content
- File/Directory names
- The anonymizer searches once more for all provided keywords, Case Insensitive and prints a warning for each remaining occurrence.
- Overly short key strings may substitute more than you want, as the replacement also triggers on substring. E.g. of you provide a rule
a x
then alla
s in your text are replaced. - Umlauts in substitution rules are not supported.
- Developer: Maximilian Schiedermeier
- Github: m5c