Patchery is a utility for creating and applying small binary patches to individual files. The following services are currently provided:
- Search - search for a patch by typing in part of the name
- Scan - search for a patch by scanning a file
- Submit - submit a patch to the database (must be logged in)
- Apply - apply a patch to a given file - accessible through search or scan
Patchery uses the HTML5 file API to provide client-side read-only access to local files. This means that files are not uploaded or stored in the database. Only filenames, filesizes, SHA-3 hashes and original/patched byte patterns are stored, so if a file is private it is still fairly safe to submit a patch for it.
When applying a patch, no direct modification of files is performed. A copy of the file is created in client-side memory and the web browser is made to "download" the copy. This safely allows additional verification of the changes before using a patched file.
As anyone is able to submit patches, there is always a chance that an antisocial person has created a malicious patch which, for example, might modify an executable file in a way that could compromise your system. For that reason it is always good to be cautious when using supplied patches. A level of comfort is provided by the approval system - unverified patches have a warning shown and do not show up in searches, while an approved patch displays a green tick.
There are still some limitations which may disappear in later versions:
- No SSL/TLS yet
- Patches may not change a file's size
- Filesize is limited to 20MB, due to some browsers having errors with larger sizes
- Files with an excessive number of differences (more than 20) will be blocked
- At the moment only one file per patch can be submitted, but this is just due to an incomplete interface and not a functional limitation