প্রকল্প সম্পর্কে
# PGPony Desktop
**macOS, Linux এবং Windows**-এর জন্য OpenPGP — [PGPony](https://pgpony.app) পরিবারের ডেস্কটপ সদস্য।
বার্তা এবং ফাইল এনক্রিপ্ট, ডিক্রিপ্ট, সাইন এবং যাচাই করুন, আপনার কীরিং পরিচালনা করুন এবং USB-এর মাধ্যমে হার্ডওয়্যার সিকিউরিটি কী ব্যবহার করুন—সবকিছু ডিভাইসে। ফোনের মতো: কোনো অ্যাকাউন্ট নেই, বিজ্ঞাপন নেই, অ্যানালিটিক্স নেই, ট্র্যাকিং নেই।
## পুনর্লিখন নয়
এই অ্যাপটি PGPony Android অ্যাপের **হুবহু** OpenPGP ইঞ্জিন কম্পাইল করে — প্যাকেট হ্যান্ডলিং, v4 + v6 (RFC 9580) কী, পোস্ট-কোয়ান্টাম কম্পোজিট স্তর (উভয় ওয়্যার ফরম্যাট), OpenPGP স্মার্ট-কার্ড প্রোটোকল স্ট্যাক, MIME — [`vendor/`](vendor/) এর অধীনে PGPonyAndroid রিপোজিটরি থেকে শব্দে শব্দে ভেন্ডর করা, একই Bouncy Castle সংস্করণে। একটি পরীক্ষিত বাস্তবায়ন মানে প্রতিটি ডিভাইসে নিশ্চিত ইন্টারঅপ, এবং অনেক কম কোড যা বিচ্যুত হতে পারে। শুধুমাত্র [`src/`](src/) এর অধীনে `com.pgpony.desktop` ডেস্কটপ-নির্দিষ্ট (Compose UI, CLI, ফাইল-ব্যাকড স্টোর), plus [`vendor/README.md`](vendor/README.md)-এ তালিকাভুক্ত তিনটি ছোট শিম।
## বিল্ড ও রান
JDK 17 বা নতুন প্রয়োজন।
```sh
./gradlew run # GUI চালু করুন
./gradlew run --args="selftest" # এই JVM-এ ইঞ্জিন চলে কিনা যাচাই করুন (কীজেন + রাউন্ড-ট্রিপ)
./gradlew run --args="list-keys" # pgpony CLI — অ্যাপের কীরিং শেয়ার করে
./gradlew test # ইউনিট স্যুট
```
একই বাইনারি GUI এবং `pgpony` CLI উভয়ই: একটি খালি লঞ্চ (বা ফাইল আর্গুমেন্ট) অ্যাপ খোলে; একটি ক্রিয়া (`encrypt`, `decrypt`, `sign`, `verify`, `import`, `export`, `list-keys`, `gen-key`, `card-info`) কমান্ড লাইন চালায়। `pgpony <verb>` কোনো অপশন ছাড়া তার ব্যবহার প্রিন্ট করে।
**Windows-এ** কমান্ড লাইনটি একটি দ্বিতীয় এক্সিকিউটেবল, `pgpony-cli.exe`, GUI-এর পাশে ইনস্টল করা। Windows-এর একটি কনসোল-সাবসিস্টেম বাইনারি দরকার যাতে টার্মিনালে লেখা যায়, এবং এটিকে `pgpony.exe` বলা যাবে না কারণ ফাইলসিস্টেম কেস-ইনসেনসিটিভ এবং এটি ইতিমধ্যে `PGPony.exe`।
## নেটিভ ইনস্টলার
```sh
./gradlew packageDmg # macOS → build/compose/binaries/main/dmg/
./gradlew packageDeb # Linux → build/compose/binaries/main/deb/
./gradlew packageMsi # Windows → build/compose/binaries/main/msi/ (WiX 3.x প্রয়োজন)
```
jpackage শুধুমাত্র যে OS-এ চলে তার জন্য ইনস্টলার তৈরি করে। Java রানটাইম বান্ডল করা আছে — ব্যবহারকারীদের আলাদা JDK প্রয়োজন নেই। প্রকাশিত ইনস্টলার সাইন করা, এবং macOS বিল্ড নোটারাইজড; সম্পূর্ণ পদ্ধতি [`RELEASING.md`](RELEASING.md)-এ আছে।
## অবস্থা
**1.0.0 — প্রকাশিত।** সাইন করা এবং নোটারাইজড `.dmg` (macOS, arm64), `.deb` (Linux, amd64) এবং `.msi` (Windows, x64), প্রতিটির সাথে একটি ডিটাচড PGP স্বাক্ষর এবং একটি সাইন করা `SHA256SUMS`। ডাউনলোড এবং চেকসাম: [pgpony.app/desktop](https://pgpony.app/desktop)।
নিচের সবকিছু সম্পূর্ণ এবং টেস্ট স্যুট দ্বারা আচ্ছাদিত:
| | |
| --- | --- |
| **কীরিং** | Android অ্যাপের `PGPDatabase` স্কিমা বান্ডল SQLite-এ। কীজেন উভয় PQC কম্পোজিট সহ, সাবকি ক্ষমতা, ট্রাস্ট/নোট/মেয়াদ/প্রত্যাহার, ইমপোর্ট-এ-মার্জ, অনুসন্ধান এবং সাজানো। |
| **ক্রিপ্টো সারফেস** | টেক্সট এবং ফাইল জুড়ে এনক্রিপ্ট, ডিক্রিপ্ট, সাইন এবং যাচাই, স্ট্রিমিং API-তে, ড্র্যাগ-এন্ড-ড্রপ, ডিটাচড স্বাক্ষর এবং কখনও-ওভাররাইট-না আউটপুট সহ। PGP/MIME উভয় দিক, `.eml` কম্পোজ, অ্যাটাচমেন্ট সহ স্ট্রাকচার্ড ডিক্রিপ্ট। |
| **পোস্ট-কোয়ান্টাম** | ML-KEM কম্পোজিট উভয় IETF (v6) এবং GnuPG/LibrePGP ওয়্যার ফরম্যাটে, gpg এবং sq-এর বিরুদ্ধে ক্রস-চেক করা। |
| **ব্যাকআপ** | `.pgpony` এক্সপোর্ট এবং রিস্টোর ফোর্সড-রি-এন্ট্রি রিকভারি কোড সহ, পাঁচ-ফলাফল মার্জ রিপোর্ট, OpenKeychain রিস্টোর। |
| **কীসার্ভার** | WKD → ডিরেক্টরি → Hagrid লুকআপ সোর্স অ্যাট্রিবিউশন সহ, প্রতি-সার্ভার VKS/HKP পাবলিশ, পাঁচ-ধাপ রিফ্রেশ পাইপলাইন, অর্ডারড ডিরেক্টরি ম্যানেজমেন্ট, অনিয়ন মিরর সহ Tor/SOCKS। |
| **হার্ডওয়্যার কী** | USB PC/SC-এর উপর ভেন্ডরড OpenPGP কার্ড স্ট্যাক — পড়া/পেয়ারিং, কার্ড-অন-কীজেন, PW1/PW3 লাইফসাইকেল, ডিক্রিপ্ট, সাইন এবং সাইন-এন্ড-এনক্রিপ্ট, TTL সহ PIN ক্যাশ। |
| **পাসওয়ার্ড স্টোর** | `java.nio`-এর উপর রিড-অনলি `pass` — `.gpg-id` নিকটতম-প্রথম, ডিক্রিপ্ট না করেই ব্রাউজ এবং অনুসন্ধান, অটো-ক্লিয়ারিং ক্লিপবোর্ড, লাইভ RFC 6238 TOTP। |
| **ডেস্কটপ ইন্টিগ্রেশন** | Android-এর `IntentHandler`-এর প্রতিফলনকারী ওপেন-এ-ফাইল রাউটিং, সিঙ্গেল-ইনস্ট্যান্স ফরওয়ার্ডিং, নেটিভ মেনু বার, সিস্টেম ট্রে, মেয়াদোত্তীর্ণ রিমাইন্ডার, QR রেন্ডার এবং ইমপোর্ট, OS ফাইল অ্যাসোসিয়েশন। |
| **CLI** | `pgpony` অ্যাপের কীরিং শেয়ার করে: encrypt/decrypt/sign/verify/import/export/list-keys/gen-key, stdin·stdout স্ট্রিমিং, env/fd/প্রম্পটের মাধ্যমে পাসফ্রেজ, স্থিতিশীল এক্সিট কোড। |
| **স্থানীয়করণ** | ছয়টি ভাষা — en/de/es/fr/ja/pt-BR — দুটি স্ট্রিং স্তরের উপর, রিস্টার্ট ছাড়াই স্যুইচযোগ্য। |
পর্যায়-ভিত্তিক রেকর্ড, কোড থেকে স্পষ্ট নয় এমন সিদ্ধান্তের যুক্তি সহ, [`docs/phases/`](docs/phases/)-এ আছে। রেকর্ডের পরিকল্পনা হল PGPonyAndroid রিপোজিটরিতে `PLANNING_DESKTOP_1_0_0.md`। রিলিজ [`RELEASING.md`](RELEASING.md) অনুযায়ী কাটা হয়।
ম্যানুয়াল যাচাইয়ের জন্য অপেক্ষমাণ: তিনটি OS জুড়ে YubiKey 5 / Token2 ম্যাট্রিক্স, ব্যাকআপ ক্রস-রিস্টোর ত্রিভুজ (ফোন ↔ ডেস্কটপ ↔ iOS), এবং Linux ও Windows-এ ক্লিন-মেশিন ইনস্টল।
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.