I was writing a FrostImporter for Spider to automatically import keys from Frost. Frost stores its data in dbs-files, which are object-oriented embedded databases, called Perst, made by McObject.
While importing the data, Spider crashed because there were some dangling references in the dbs-files: messages.dbs stores the subject, the author and more metadata of a message, while messagesContents.dbs stores the message itself. I had several messages in messages.dbs, but no message in messagesContents.dbs. According to the subject these missing messages were all spam-messages, so I simply created empty new messages in messagesContents.dbs.
Frost-Repair reads all messages and their content and copies them to a new dbs-file. If the content of a message can't be read, the content is replaced with an empty string. This allowed me to read all relevant dbs-files of my Frost to import keys for Spider.
- Download the source code and extract it.
- Open a command prompt in the root-directory of the extracted source code.
- Run the following command:
gradlew distZip
. This will create the zip-archivebuild/distributions/Frost-Repair.zip
. - Extract the generated zip-archive.
Run Frost-Repair with bin/Frost-Repair path-to-Frost
to repair your dbs-files.
Author: Spider-Admin
Freemail: spider-admin@tlc66lu4eyhku24wwym6lfczzixnkuofsd4wrlgopp6smrbojf3a.freemail 1
Frost: Spider-Admin@Z+d9Knmjd3hQeeZU6BOWPpAAxxs
FMS: Spider-Admin
Sone: Spider-Admin 2
I do not regularly read the email associated with GitHub.
Frost-Repair by Spider-Admin@Z+d9Knmjd3hQeeZU6BOWPpAAxxs is licensed under the Apache License, Version 2.0.
The package "frost" and its content was taken from Frost. I slightly changed the code to reduce the dependencies to the other parts of Frost.
Footnotes
-
Freemail requires a running Hyphanet node ↩
-
Link requires a running Hyphanet node at http://localhost:8888/ ↩