{"id":20188671,"url":"https://github.com/der3318/3questions-text","last_synced_at":"2026-05-30T20:31:32.310Z","repository":{"id":92549021,"uuid":"387168141","full_name":"der3318/3questions-text","owner":"der3318","description":"Java App - Protect Texts With Question Answer Pairs","archived":false,"fork":false,"pushed_at":"2021-09-19T16:08:04.000Z","size":2623,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-10T07:59:28.902Z","etag":null,"topics":["encryption","protobuf","prototype","shamir-algorithm"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/der3318.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-18T12:15:54.000Z","updated_at":"2021-09-19T16:15:38.000Z","dependencies_parsed_at":"2023-03-07T02:15:52.941Z","dependency_job_id":null,"html_url":"https://github.com/der3318/3questions-text","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/der3318/3questions-text","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/der3318%2F3questions-text","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/der3318%2F3questions-text/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/der3318%2F3questions-text/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/der3318%2F3questions-text/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/der3318","download_url":"https://codeload.github.com/der3318/3questions-text/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/der3318%2F3questions-text/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33709269,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-30T02:00:06.278Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["encryption","protobuf","prototype","shamir-algorithm"],"created_at":"2024-11-14T03:30:10.864Z","updated_at":"2026-05-30T20:31:32.282Z","avatar_url":"https://github.com/der3318.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"## 🔒 3 Questions Text\n\n![ver](https://img.shields.io/badge/version-1.0-blue.svg)\n![gradle](https://img.shields.io/badge/gradle-4.10.1-green.svg)\n![java](https://img.shields.io/badge/java-JDK/JRE%208-brightgreen.svg)\n![portable](https://img.shields.io/badge/portable-windows%20x64-yellow.svg)\n![license](https://img.shields.io/badge/license-apache%20%28inherited%29-blueviolet.svg)\n\nAn encryptor based on [Shamir's secret sharing algo](https://en.wikipedia.org/wiki/Shamir%27s_Secret_Sharing) to protect your personal texts. By setting up 3 question-answer pairs, you will be able to see the plain text if and only if correctly providing any 2 of them.\n\n\u003cimg src=\"/imgs/demo.gif?raw=true\"\u003e\n\n\n### 🧱 References\n\n| Name | Version | Note |\n| :- | :-: | :- |\n| [com.codahale:shamir](https://github.com/codahale/shamir) | 6.2.10 | implementation of Shamir algorithm |\n| [com.google.protobuf:protobuf-java](https://github.com/protocolbuffers/protobuf) | 3.17.3 | file serialization |\n| [com.github.johnrengelman:shadow](https://github.com/johnrengelman/shadow) | 2.0.1 | fatjar packaging tool |\n| [www.iconfinder.com](https://www.iconfinder.com/icons/299091/lock_open_icon) | - | app icon (\u003cimg src=\"/icon.png?raw=true\" width=\"16px\"\u003e) |\n\n\n### 💭 How It Works\n\n| Encrypt |\n| :-: |\n| \u003cimg src=\"/imgs/encrypt.png?raw=true\"\u003e |\n\n| Decrypt |\n| :-: |\n| \u003cimg src=\"/imgs/decrypt.png?raw=true\"\u003e |\n\n\n### 📗 How To Use\n\nUsing Portable Version (Windows 10/11 AMD64)\n\n| Step | Description |\n| :-: | :- |\n| #1 | download and unzip [3qtxt-portable-1.0-x64.zip](https://github.com/der3318/3questions-text/releases/download/v1.0/3qtxt-portable-1.0-x64.zip) |\n| #2 | double-click `launch.bat` to use the app |\n\nUsing JRE 8+\n\n| Step | Description |\n| :-: | :- |\n| #1 | download [3qtxt-1.0-all.jar](https://github.com/der3318/3questions-text/releases/download/v1.0/3qtxt-1.0-all.jar) |\n| #2 | (optional) download [icon.png](https://github.com/der3318/3questions-text/releases/download/v1.0/icon.png) |\n| #3 | run `java -Duser.language=en -Dfile.encoding=UTF8 -jar 3qtxt-1.0-all.jar` in CLI |\n\n\n### 📘 Build and Redistribution\n\n| Step | Description |\n| :-: | :- |\n| #1 | clone the repository |\n| #2 | run `gradew shadowJar` to compile and build the fatjar from `src/` |\n| #3 | find the built binary: `build/libs/3qtxt-1.0-all.jar` |\n\n\n### 📕 Update Protobuf Config \u0026 Template\n\n| Step | Description |\n| :-: | :- |\n| #1 | clone the repository |\n| #2 | setup protocol buffer compiler (or use `protobuf/protoc.exe`) |\n| #3 | modify `protobuf/ThreeQuestionsTxtFileMsg.proto` to meet your requirement |\n| #4 | run `protoc.exe --java_out=.\\ ThreeQuestionsTxtFileMsg.proto` to generate java code |\n| #5 | override `src/main/java/ThreeQuestionsTxtFileProtos.java` with the generated one |\n| #6 | update the version of `protobuf-java` in `build.gradle` to algin with the protocol buffer compiler you use |\n| #7 | rebuild the whole project under `src/` |\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fder3318%2F3questions-text","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fder3318%2F3questions-text","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fder3318%2F3questions-text/lists"}