delian / mihalya Goto Github PK
View Code? Open in Web Editor NEWThis project forked from bivol/mihalya
Encrypted data search tool based on Javascript
License: Other
This project forked from bivol/mihalya
Encrypted data search tool based on Javascript
License: Other
Test Mihalya online here: http://mihalya.github.com/Mihalya/ 1. What is Mihalya? Mihalya is a system designed to produce, search and browse encrypted data hosted on unsecured servers or even at home. Mihalya is using encrypted raw text files. There is no scripting, no RDBMS engine behind, the simpliest web server is enough to put online your searchable encrypted data. 2. Prepare your data Text data is stored in raw text files utf8 encoded. Records are separated by this line: =======================DATA ENDS============================ Example Data structure id: 1 date: 29.11.2011 refid: BL001 origin: Bulgaria Sofia classification: PUBLIC destination: tags: Encryption Search Balkanleaks Wikileaks subject: Encrypted Data Search Engine body: Wondering how this system works? Click on the slides. =======================DATA ENDS============================ id: 2 date: 29.11.2011 refid: BL002 origin: Bulgaria Sofia classification: PUBLIC destination: tags: Audio examples subject: Audio attachment example body: Click on the audio file in the Media box to listen =======================DATA ENDS============================ 3. Attachments Mihalya supports images, audio and pdf attachments. Attachments associated with each record are placed in a directory named after the refid field. In the previous examples place the attachments in the BL001 and BL002 directories. You can use the following extensions: JPG, PNG, MP3, OGG and PDF. 4. Encoding the data You need a working perl installation with the Crypt::OpenSSL::AES module installed via CPAN Change to the mihalya main dir. Place your data and attachment files in a directory, let's name it source: The directory structure should look like this: mihalya.pl (perl script file) index.html (html file) mihalya (dir) source (dir) - data.txt (text data file) - data2.txt (text data file) ... - refid1 (dir) -- attachment1.jpg (pic attachment) -- attachment1.mp3 (sound attachment) -- attachment3.pdf (pdf attachment) - refid2 (dir) -- attachment2.jpg (pic attachment) -- attachment2.mp3 (sound attachment) -- attachment2.pdf (pdf attachment) ... Type this in the prompt: # perl mihalya.pl "user" "pass" source output If everything goes well the encrypted data will be encoded in output. 5. Browsing the data from the web To browse from the web just move the output directory on a web server and point the browser to it. That's it. Enjoy! 6. Browsing the data locally You can also browse the data locally from the HD or from an USB drive. In this case only a recent version of Firefox will work properly. Open Firefox and type about:config in the address field. Promise to be carefull and pass the alert. Search for fileuri in the filter. Doble click on security.fileuri.strict_origin_policy to switch the setting from true to false. Restart the browser and load the index file from the disk. Don't forget to switch back security.fileuri.strict_origin_policy to true when you're done. Avoid browsing the web while you are working on the local copy of Mihalya. You can also use a dedicated portable version of Firefox. The portable FF copy will start from a USB drive and the security switch is done only once, cause you'll use the portable FF only for browsing the encrypted data and not for visiting the web. Windows users are happy with the Portableapps edition of FF - portable. http://portableapps.com/apps/internet/firefox_portable There is no recent portable FF for MacOSX and Linux, but the TorBrowserBundle version will do the job. https://www.torproject.org/projects/torbrowser.html.en However you need to go through an additional step. After the security switch in about:config go to the Extensions and desactivate the Tor Button. Restart the browser and load the index file from the disk. Enjoy! Credits: Mihalya project is supported by http://www.balkanleaks.eu and http://www.bivol.bg
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.