
توقف عن إرسال المستندات العارية. Firemark يضيف علامات مائية للصور وملفات PDF بأمر واحد. محسّن لمواجهة إزالة العلامات المائية بواسطة الذكاء الاصطناعي. مكتوب بلغة Rust.
أداة سريعة لعلامات المياه المائية للصور وملفات PDF، بصيغة ثنائية واحدة. مبنية بلغة Rust.
في كل عام، يقع ملايين الأشخاص ضحايا لسرقة الهوية التي تبدأ بتبادل مستندات بسيط. سيناريو شائع: تبحث عن شقة للإيجار. يطلب منك المالك — أو شخص يتظاهر بأنه المالك — نسخة من هويتك، قسط راتب، إشعار ضريبي. ترسلها لهم بدون علامات. يختفي «المالك»، وتُستخدم مستنداتك الآن لفتح حسابات بنكية، أو الحصول على قروض، أو تزوير هويات باسمك.
وضع علامة مائية على كل مستند ترسله هو الدفاع الأكثر فعالية. غطاء مرئي يكتب عليه "أُرسل إلى وكالة XYZ — مارس 2026 — فقط لطلب إيجار شقة" يجعل المستند عديم الفائدة لأي غرض آخر. إذا تسرب، تعرف بالضبط من أين جاء.
يجعل firemark هذا الأمر سهلاً: أمر واحد، أي صورة أو PDF، 17 نمطًا مرئيًا، أنماط فيليغران (filigrane) تشفيرية تقاوم التعديل، ومعالجة دفعة للمجلدات بأكملها.
قبل وبعد — أمر واحد، المستند الآن قابل للتتبع ويظهر عليه دليل التلاعب.
الثنائي الجاهز (لنظامي Linux و macOS، x86_64 و arm64) — يقوم بتحميل أحدث إصدار إلى ~/.local/bin:
curl -fsSL https://raw.githubusercontent.com/Vitruves/firemark/main/install.sh | sh
ملفات Windows الثنائية مرفقة مع كل إصدار.
من crates.io:
cargo install firemark
من المصدر:
git clone https://github.com/Vitruves/firemark.git
cd firemark
cargo install --path .
ينتج ثنائي واحد مُحسَّن (حوالي 5 ميغابايت).
# وضع علامة مائية على صورة واحدة
firemark photo_id.png -m "إيجار شقة — SCI Dupont — مارس 2026"
# وضع علامة مائية على ملف PDF
firemark tax_notice.pdf -m "سري" -s "لا توزع"
# وضع علامة مائية على مجلد بأكمله بشكل متكرر
firemark ./documents/ -R -m "أُرسل إلى الوكالة X" -t stamp
# معاينة بدون كتابة الملفات
firemark id_card.jpg -m "مسودة" -n
يُحفظ الإخراج بجانب المدخل كـ {name}-watermarked.{ext} افتراضيًا.
استخدم -o لتعيين مسار إخراج صريح، أو -S للاحقة مخصصة.
firemark doc.pdf -t stamp -m "سري" --border --color red
يضيف firemark أنماط فيليغران تشفيرية مستوحاة من ميزات الأمان في الأوراق النقدية. هذه الأنماط الهندسية الدقيقة يصعب جدًا إزالتها باستخدام محررات الصور.
firemark id.png -m "طلب إيجار" --filigrane moire
firemark id.png -m "طلب إيجار" --filigrane none # تعطيل
كل عرض يكون غير حتمي افتراضيًا. يطبق firemark تشويشًا عامًا بعد العرض (تباين ألفا، ضوضاء لونية دون البكسل، نقاط دقيقة على الحواف، بكسيلات شبحية متناثرة) وعشوائية لكل عارض بحيث لا يكون هناك خرجان متطابقان بالبكسل — حتى مع نفس الإعدادات. هذا يجعل من المستحيل على نماذج الرؤية بالذكاء الاصطناعي تعلم نمط يمكن التنبؤ به لطرحه.
فضلاً عن ذلك، يتم تضمين شرائط حقن استفزازية خصومية افتراضيًا لإرباك أدوات إزالة العلامات المائية بالذكاء الاصطناعي. يمكنك تعطيلها باستخدام --no-anti-ai إذا كنت لا تريد النص التحذيري المرئي:
firemark doc.png -m "سري" --no-anti-ai
-m, --main-text نص العلامة المائية الأساسي
-s, --secondary-text سطر النص الثانوي
-t, --type نمط العلامة المائية (انظر الجدول أعلاه)
-o, --output مسار ملف الإخراج
-S, --suffix لاحقة الإخراج المخصصة (الافتراضي: "watermarked")
-c, --color اللون — اسم أو #RRGGBB (الافتراضي: أزرق)
-O, --opacity الشفافية 0.0–1.0 (الافتراضي: 0.5)
-r, --rotation الزاوية بالدرجات (الافتراضي: -45)
-p, --position center, top-left, top-right, bottom-left, bottom-right, tile
-f, --font اسم الخط أو المسار إلى .ttf/.otf
-I, --image تراكب صورة كعلامة مائية
--qr-data تضمين رمز QR ببيانات مخصصة
--qr-code-position موضع رمز QR (الافتراضي: center)
--qr-code-size حجم رمز QR بالبكسل (الافتراضي: auto)
--border رسم حد حول العلامة المائية
--shadow إضافة ظل مسقط
--filigrane نمط الفيليغران الأمني (الافتراضي: guilloche)
--no-anti-ai تعطيل الحقن الخصومي (مفعل افتراضيًا)
للقائمة الكاملة لأكثر من 70 علمًا، راجع CLI.md.
--pages الصفحات التي سيتم وضع العلامة المائية عليها (مثل 1,3-5 أو "all")
--skip-pages الصفحات التي سيتم تخطيها
--behind وضع العلامة المائية خلف المحتوى
--no-flatten إبقاء الطبقات منفصلة (تُدمج افتراضيًا)
--dpi دقة العرض (الافتراضي: 150)
# معالجة جميع الصور وملفات PDF في مجلد
firemark ./inbox/ -m "داخلي" -t tile
# بشكل متكرر، 8 خيوط، لاحقة مخصصة
firemark ./docs/ -R -j 8 -m "مسودة" -S draft
# تشغيل تجريبي — سرد ما سيتم معالجته
firemark ./docs/ -R -m "مسودة" -n
يتم تخطي الملفات التي تم وضع العلامة المائية عليها سابقًا (التي تطابق اللاحقة) تلقائيًا عند إعادة التشغيل.
احفظ الخيارات في ملف TOML لتجنب تكرار الأعلام. راجع
examples/config/firemark.toml للحصول على مثال كامل مع إعدادين مسبقين: آمن للغاية (تغطية كثيفة، فيليغران كامل، تتبع عبر QR، إزالة البيانات الوصفية) وخفيف (نص قطري بسيط، بدون إضافات).
# الإعدادات الافتراضية العامة
main_text = "سري"
secondary_text = "{author} — {date}"
watermark_type = "diagonal"
color = "#1a3c6e"
opacity = 0.45
font_weight = "bold"
filigrane = "guilloche"
border = true
[preset.ultra-secure]
main_text = "سري — {author}"
watermark_type = "tile"
color = "#CC0000"
opacity = 0.6
filigrane = "full"
anti_ai = true
qr_data = "firemark://{author}/{timestamp}/{uuid}"
strip_metadata = true
[preset.light]
main_text = "نسخة"
watermark_type = "diagonal"
color = "#555555"
opacity = 0.3
filigrane = "none"
anti_ai = false
firemark doc.pdf --config firemark.toml
firemark doc.pdf --config firemark.toml --preset ultra-secure
firemark doc.pdf --config firemark.toml --preset light
firemark doc.pdf --save-preset mypreset # حفظ الأعلام الحالية
firemark --list-presets # سرد الإعدادات المسبقة المتاحة
يُدعم التحويل بين الصيغ (مثل firemark photo.webp -o out.pdf).
MIT
| العلم | النمط | الوصف |
|---|
diagonal | شبكة قطرية | نص قطري متكرر عبر الصفحة (القيمة الافتراضية) |
stamp | ختم مطاطي | ختم كبير في المنتصف بحدود مزدوجة |
stencil | استنسيل | حروف استنسل عسكرية بعرض كامل |
typewriter | آلة كاتبة | نص آلة كاتبة أحادي المسافة |
handwritten | توقيع | توقيع يشبه الخط اليدوي مع خط سفلي |
redacted | شطب | أشرطة شطب سوداء بعرض كامل |
badge | درع | شعار درع أمني |
ribbon | شريط | شريط زاوية قطري |
seal | ختم | ختم دائري على شكل كاتب عدل |
frame | إطار | حدود زخرفية عبر الصفحة |
tile | بلاط | شبكة نصية كثيفة منتظمة |
mosaic | فسيفساء | نص مبعثر عشوائيًا |
weave | تضفير | نسج قطري متداخل |
ghost | شبح | نص بارز فائق الخفاء |
watercolor | ألوان مائية | تأثير غسيل ناعم ضبابي |
noise | ضوضاء | نص مشوش مع ضوضاء بكسيلية |
halftone | نصف نغمة | نص كشبكة نقاط نصف نغمة |
| النمط | الوصف |
|---|
guilloche | نطاقات موجات جيبية (القيمة الافتراضية) |
rosette | منحنيات سبيروغراف + وردة زاوية |
crosshatch | شبكة ماسية قطرية دقيقة |
border | حدود أمنية متموجة متداخلة |
lissajous | أشكال Lissajous بارامترية |
moire | تداخل دوائر متحدة المركز |
spiral | دوامة أرخميدس |
mesh | شبكة سداسية على شكل قرص عسل |
plume | منحنيات جارية تشبه الريش منتشرة على السطح |
constellation | عقد نجمية متصلة بشبكة هندسية دقيقة |
ripple | موجات بيضاوية متداخلة من مصادر عشوائية |
full | جميع الأنماط مجتمعة |
none | تعطيل الفيليغران |
| الصيغة | إدخال | إخراج |
|---|
| PNG | نعم | نعم |
| JPEG | نعم | نعم |
| نعم | نعم | |
| WebP | نعم | نعم |
| TIFF | نعم | نعم |