
एक सरल, आधुनिक और सुरक्षित एन्क्रिप्शन टूल (और Go लाइब्रेरी) जिसमें छोटी स्पष्ट कुंजियाँ, कोई कॉन्फ़िग विकल्प नहीं, और UNIX-शैली की संयोजनीयता है।
age एक सरल, आधुनिक और सुरक्षित फ़ाइल एन्क्रिप्शन टूल, प्रारूप और Go लाइब्रेरी है।
इसमें छोटी स्पष्ट कुंजियाँ, पोस्ट-क्वांटम समर्थन, कोई कॉन्फ़िगरेशन विकल्प नहीं, और UNIX-शैली की संयोजनीयता (composability) शामिल है।
$ age-keygen -o key.txt
Public key: age1ql3z7hjy54pw3hyww5ayyfg7zqgvc7w3j2elw8zmrj2kg5sfn9aqmcac8p
$ tar cvz ~/data | age -r age1ql3z7hjy54pw3hyww5ayyfg7zqgvc7w3j2elw8zmrj2kg5sfn9aqmcac8p > data.tar.gz.age
$ age --decrypt -i key.txt data.tar.gz.age > data.tar.gz
📜 प्रारूप विनिर्देशन age-encryption.org/v1 पर उपलब्ध है। age को @benjojo और @FiloSottile द्वारा डिज़ाइन किया गया था।
🦀 एक वैकल्पिक अंतर-संचालनीय (interoperable) Rust कार्यान्वयन github.com/str4d/rage पर उपलब्ध है।
🌍 Typage एक TypeScript कार्यान्वयन है। यह ब्राउज़र, Node.js, Deno और Bun में काम करता है।
🔑 YubiKeys जैसे हार्डवेयर PIV टोकन age-plugin-yubikey प्लगइन के माध्यम से समर्थित हैं।
✨ अधिक प्लगइन्स, कार्यान्वयन, टूल और एकीकरण के लिए, awesome age सूची देखें।
💬 लेखक इसे [aɡe̞] कठोर g के साथ उच्चारित करते हैं, जैसे GIF, और यह हमेशा लोअरकेस में लिखा जाता है।
| Homebrew (macOS या Linux) |
brew install age
|
| MacPorts |
port install age
|
| Windows |
winget install --id FiloSottile.age
|
| Alpine Linux v3.15+ |
apk add age
|
| Arch Linux |
pacman -S age
|
| Debian 12+ (Bookworm) |
apt install age
|
| Debian 11 (Bullseye) |
apt install age/bullseye-backports
(enable backports age v1.0.0+ के लिए)
|
| Fedora 33+ |
dnf install age
|
| Gentoo Linux |
emerge app-crypt/age
|
| Guix System |
guix package -i age
|
| NixOS / Nix |
nix-env -i age
|
| openSUSE Tumbleweed |
zypper install age
|
| Ubuntu 22.04+ |
apt install age
|
| Void Linux |
xbps-install age
|
| FreeBSD |
pkg install age (security/age)
|
| OpenBSD 6.7+ |
pkg_add age (security/age)
|
| Chocolatey (Windows) |
choco install age.portable
|
| Scoop (Windows) |
scoop bucket add extras && scoop install age
|
Windows, Linux, macOS और FreeBSD पर आप पहले से निर्मित (pre-built) बाइनरी का उपयोग कर सकते हैं।
यदि आप पहले से निर्मित बाइनरी डाउनलोड करते हैं, तो आप उनके Sigsum प्रमाण की जाँच कर सकते हैं।
यदि आपके सिस्टम में Go का समर्थित संस्करण है, तो आप स्रोत से निर्माण कर सकते हैं।
go install filippo.io/age/cmd/...@latest
नए पैकेजर्स से सहायता का स्वागत है।
पूर्ण दस्तावेज़ीकरण के लिए, age(1) man पेज पढ़ें।
Usage:
age [--encrypt] (-r RECIPIENT | -R PATH)... [--armor] [-o OUTPUT] [INPUT]
age [--encrypt] --passphrase [--armor] [-o OUTPUT] [INPUT]
age --decrypt [-i PATH]... [-o OUTPUT] [INPUT]
Options:
-e, --encrypt इनपुट को आउटपुट में एन्क्रिप्ट करें। यदि छोड़ा जाए तो डिफ़ॉल्ट।
-d, --decrypt इनपुट को आउटपुट में डिक्रिप्ट करें।
-o, --output OUTPUT परिणाम को PATH OUTPUT पर फ़ाइल में लिखें।
-a, --armor PEM एन्कोडेड प्रारूप में एन्क्रिप्ट करें।
-p, --passphrase पासफ़्रेज़ के साथ एन्क्रिप्ट करें।
-r, --recipient RECIPIENT निर्दिष्ट RECIPIENT को एन्क्रिप्ट करें। दोहराया जा सकता है।
-R, --recipients-file PATH PATH पर सूचीबद्ध प्राप्तकर्ताओं को एन्क्रिप्ट करें। दोहराया जा सकता है।
-i, --identity PATH PATH पर पहचान फ़ाइल का उपयोग करें। दोहराया जा सकता है।
--version संस्करण प्रिंट करें।
INPUT डिफ़ॉल्ट रूप से मानक इनपुट है, और OUTPUT डिफ़ॉल्ट रूप से मानक आउटपुट है।
यदि OUTPUT मौजूद है, तो इसे अधिलेखित (overwrite) कर दिया जाएगा।
RECIPIENT age-keygen द्वारा उत्पन्न age सार्वजनिक कुंजी ("age1...")
या SSH सार्वजनिक कुंजी ("ssh-ed25519 AAAA...", "ssh-rsa AAAA...") हो सकता है।
प्राप्तकर्ता फ़ाइलों में एक या अधिक प्राप्तकर्ता होते हैं, प्रति पंक्ति एक। खाली पंक्तियाँ
और "#" से शुरू होने वाली पंक्तियाँ टिप्पणियों के रूप में अनदेखी की जाती हैं। "-" का उपयोग
मानक इनपुट से प्राप्तकर्ताओं को पढ़ने के लिए किया जा सकता है।
पहचान फ़ाइलों में एक या अधिक गुप्त कुंजियाँ ("AGE-SECRET-KEY-1...") होती हैं,
प्रति पंक्ति एक, या एक SSH कुंजी। खाली पंक्तियाँ और "#" से शुरू होने वाली पंक्तियाँ
टिप्पणियों के रूप में अनदेखी की जाती हैं। पासफ़्रेज़-एन्क्रिप्टेड age फ़ाइलों का उपयोग
पहचान फ़ाइलों के रूप में किया जा सकता है। कई कुंजी फ़ाइलें प्रदान की जा सकती हैं, और कोई भी अप्रयुक्त
अनदेखी की जाएगी। "-" का उपयोग मानक इनपुट से पहचान पढ़ने के लिए किया जा सकता है।
जब --encrypt स्पष्ट रूप से निर्दिष्ट किया जाता है, तो -i का उपयोग सामान्य प्राप्तकर्ताओं के
बजाय या उनके अतिरिक्त, एक पहचान फ़ाइल में सममित रूप से एन्क्रिप्ट करने के लिए भी किया जा सकता है।
फ़ाइलों को -r/--recipient दोहराकर एकाधिक प्राप्तकर्ताओं को एन्क्रिप्ट किया जा सकता है। प्रत्येक प्राप्तकर्ता फ़ाइल को डिक्रिप्ट करने में सक्षम होगा।