Immich-Go هي أداة مفتوحة المصدر مصممة لتسهيل تحميل مجموعات الصور الكبيرة إلى خادم Immich المستضاف ذاتيًا.
Immich-go :إخراج صورك:
استيراد صورك:
/path/to/your/files/takeout-*.zip كاسم للملف.-google-photos .لا يتم استيراد الكثير من الملفات : ما هي الخيارات؟
-upload-when-missing-JSON للحصول على نظرة ثاقبة حول الأسباب الكامنة وراء هذا البديل لـ immich-cli ، يرجى قراءة الدافع هنا.
⚠️ هذه نسخة مبكرة، ولم يتم اختبارها على نطاق واسع بعد⚠️ احتفظ بنسخة احتياطية من ملفاتك للسلامة
immich-go immich-go هي أداة سطر أوامر يجب تشغيلها من نافذة طرفية.
يستخدم برنامج immich-go واجهة برمجة تطبيقات Immich. ومن ثم فهو يحتاج إلى عنوان الخادم ومفتاح API صالح.
على أصدقاء Linux وmacOS وFreeBSD:
./immich-go -server=URL -key=KEY -general_options COMMAND -command_options... {path/to/files}مهم
يتعين على مستخدمي macOS السماح بشكل صريح بتشغيل immich-go. افتح الخصوصية والأمان > إعدادات الأمان للسماح بذلك
على أنظمة ويندوز:
.immich - go - server = URL - key = KEY - general_options COMMAND - command_options.. . {path / to / files} الخيارات المنطقية لها قيمة افتراضية موضحة أدناه. يؤدي ذكر أي خيار على السطر المشترك إلى تغيير الخيار إلى TRUE. لفرض خيار على FALSE، استخدم الصيغة التالية: -option=FALSE .
مثال: Immich-go تحقق من شهادة SSL الخاصة بالخادم. يمكنك تعطيل هذا السلوك عن طريق تشغيل خيار skip-verify-ssl . فقط قم بإضافة -skip-verify-ssl . -skip-verify-ssl يعادل -skip-verify-ssl=TRUE . لإيقاف تشغيل الميزة (وهو السلوك الافتراضي)، استخدم -skip-verify-ssl=FALSE
| المعلمة | وصف | القيمة الافتراضية |
|---|---|---|
-use-configuration=path/to/config/file | يحدد ملف التكوين المراد استخدامه. يتم تخزين عنوان URL للخادم ومفتاح API في ملف تكوين immich-go. ويمكن حذفها للأشواط القادمة. | لينكس $HOME/.config/immich-go/immich-go.jsonويندوز %AppData%immich-goimmich-go.jsonmacOS $HOME/Library/Application Support/immich-go/immich-go.json |
-server=URL | عنوان URL لخدمة Immich، على سبيل المثال http://:2283 أو https://your-domain.tld | |
-api=URL | عنوان URL لنقطة نهاية Immich api (http://container_ip:3301) | |
-device-uuid=VALUE | فرض تعريف الجهاز | $HOSTNAME |
-client-timeout=duration | ضبط المهلة لمكالمات الخادم. المدة عبارة عن رقم عشري بلاحقة وحدة، مثل "300ms" أو "1.5m" أو "45m". وحدات الوقت الصالحة هي "ms"، "s"، "m"، "h". | 5m |
-skip-verify-ssl | تخطي التحقق من SSL للاستخدام مع الشهادات الموقعة ذاتيًا | false |
-key=KEY | مفتاح تم إنشاؤه بواسطة المستخدم. الصور التي تم تحميلها ستكون مملوكة لمالك المفتاح. | |
-log-level=LEVEL | اضبط إسهاب السجل كما يلي: - ERROR : عرض الأخطاء فقط- WARNING : نفس السابق بالإضافة إلى خطأ غير محظور- INFO : رسائل المعلومات | INFO |
-log-file=/path/to/log/file | كتابة كافة الرسائل إلى ملف | لينكس $HOME/.cache/immich-go/immich-go_YYYY-MM-DD_HH-MI-SS.logWindows %LocalAppData%immich-goimmich-go_YYYY-MM-DD_HH-MI-SS.logmacOS $HOME/Library/Caches/immich-go/immich-go_YYYY-MM-DD_HH-MI-SS.log |
-log-json | قم بإخراج السجل كملف JSON محدد الأسطر | false |
-time-zone=time_zone_name | قم بتعيين المنطقة الزمنية للتواريخ دون معلومات المنطقة الزمنية | المنطقة الزمنية للنظام |
-no-ui | تعطيل واجهة المستخدم | false |
-debug-counters | تمكين إنشاء ملف CSV بجانب ملف السجل | false |
-api-trace | تمكين تتبع مكالمات API | false |
upload الأمراستخدم هذا الأمر لتحميل الصور ومقاطع الفيديو من دليل محلي أو مجلد مضغوط أو جميع الملفات المضغوطة التي أنشأها إجراء التقاط صور Google.
| المعلمة | وصف | القيمة الافتراضية |
|---|---|---|
-album="ALBUM NAME" | قم باستيراد الأصول إلى ألبوم Immich ALBUM NAME . | |
-dry-run | معاينة جميع الإجراءات كما سيتم تنفيذها. | FALSE |
-create-album-folder | قم بإنشاء ألبومات immich بعد أسماء المجلدات. | FALSE |
-use-full-path-album-name | استخدم المسار الكامل للملف لتحديد اسم الألبوم. | FALSE |
-album-name-path-separator | يحدد كيفية ضم المجلدات (الفرعية) المتعددة، إن وجدت | |
-create-stacks | كومة JPG / الخام أو رشقات نارية. | FALSE |
-stack-jpg-raw | التحكم في تراص الصور بتنسيق jpg/raw. | FALSE |
-stack-burst | السيطرة على رشقات نارية التراص. | FALSE |
-select-types=".ext,.ext,.ext..." | قائمة الامتدادات المقبولة | |
-exclude-types=".ext,.ext,.ext..." | قائمة الملحقات المستبعدة | |
-when-no-date=FILE|NOW | عندما لا يمكن تحديد تاريخ الالتقاط، استخدم تاريخ الملف أو الوقت الحالي الآن. | FILE |
-exclude-files=pattern | تجاهل الملفات بناءً على النمط. غير حساس لحالة الأحرف. كرر الخيار لكل نمط تحتاجه. | @eaDir/@__thumb/SYNOFILE_THUMB_*.*Lightroom Catalog/thumbnails/ |
ضبط الاستيراد بناءً على تواريخ محددة:
| المعلمة | وصف |
|---|---|
-date=YYYY-MM-DD | استيراد الصور الملتقطة في يوم معين. |
-date=YYYY-MM | حدد الصور الملتقطة خلال شهر معين. |
-date=YYYY | حدد الصور التي تم التقاطها خلال سنة معينة. |
استخدم -exclude-files=PATTERN لاستبعاد ملفات أو أدلة معينة من التحميل. كرر الخيار لكل نمط تحتاجه. يتم استبعاد الدلائل التالية تلقائيًا:
على سبيل المثال، يستبعد الأمر التالي أي ملفات في الدلائل تسمى النسخ الاحتياطي أو المسودة وأي ملف ينتهي اسمه بـ "نسخة)" كـ PXL_20231006_063121958 (نسخة أخرى).jpg:
immich-go -server=xxxxx -key=yyyyy upload -exclude-files=backup/ -exclude-files=draft/ -exclude=copy). * /path/to/your/filesخيارات متخصصة لإدارة صور Google:
| المعلمة | وصف | القيمة الافتراضية |
|---|---|---|
-google-photos | الاستيراد من أرشيف منظم لصور Google، وإعادة إنشاء الألبومات المقابلة. | |
-from-album="GP Album" | قم بإنشاء الألبوم في immich واستيراد أصول الألبوم. | |
-create-albums | يتحكم في إنشاء ألبومات صور Google في Imich. | TRUE |
-keep-untitled-albums | يتم استيراد الألبومات بدون عنوان إلى immich مع اسم المجلد كعنوان. | FALSE |
-use-album-folder-as-name | استخدم اسم المجلد بدلاً من عنوان الألبوم. | FALSE |
-keep-partner | يحدد تضمين أو استبعاد الصور الملتقطة بواسطة الشريك. | TRUE |
-partner-album="partner's album" | استيراد الأصول من الشريك إلى ألبوم معين. | |
-discard-archived | لا تستورد الأصول المؤرشفة. | FALSE |
-auto-archive | أرشفة الصور التي تم أرشفتها أيضًا في صور Google تلقائيًا | TRUE |
-upload-when-missing-JSON | قم بتحميل الصور غير المرتبطة بملف بيانات تعريف JSON | FALSE |
اقرأ هنا لتفهم سبب صعوبة التعامل مع خدمة أخذ الطعام من Google Photos.
حاليًا يتم الكشف عن الرشقات التي تتبع هذا المخطط:
يجب أن يتم التقاط جميع الصور خلال نفس الدقيقة. ستكون صورة الغلاف هي الصورة الأصلية للمكدس
يجب أن يتم التقاط كلتا الصورتين في نفس الدقيقة. ستكون صورة JPG هي الغلاف.
يرجى فتح قضية لتغطية المزيد من الاحتمالات.
للتوضيح، إليك أمر استيراد الصور من أرشيف التقاط صور Google الذي تم التقاطه في الفترة ما بين 1 يونيو و30 يونيو 2019، أثناء إنشاء الألبومات تلقائيًا:
./immich-go -server=http://mynas:2283 -key=zzV6k65KGLNB9mpGeri9n8Jk1VaNGHSCdoH1dY8jQ upload
-create-albums -google-photos -date=2019-06 ~ /Download/takeout- * .zip Immich-go احصل على أول البيانات المتاحة بالترتيب التالي.
photoTakenTimePXL_20220909_154515546.jpgPXL_20220909_154515546.jpg/photos/2022/11/09/IMG_1234.HEICgeoDataExifgeoData الميدانية لصور Google JSONlocationEnrichment الميداني لألبوم صور Google JSON يأخذ immich-go تاريخ الصورة من ملف JSON المرتبط.
يتجاهل الخادم التاريخ الذي يقدمه immich-go ويأخذ تاريخ MP4 حتى عندما يكون غير صحيح.
راجع رقم 322. الطابع الزمني للإنشاء من البيانات التعريفية خاطئ
يحاول Immich-go تحديد تاريخ الالتقاط باستخدام اسم الملف أو مسار الملف.
السابق:
| طريق | تاريخ التقاط الصورة |
|---|---|
| الصور/الالبوم/PXL_20220909_154515546.jpg | 2022-09-09 15:51:55 |
| الصور/الممسوحة ضوئيا/19991231.jpg | 1999-12-31 00:00:00 |
| الصور/20221109/IMG_1234.HEIC | 2022-11-19 00:00:00 |
| الصور/2022.11.09T20.30/IMG_1234.HEIC | 2022-11-19 20:30:00 |
| Photos/2022/11/09/IMG_1234.HEIC | 2022-11-19 00:00:00 |
إذا لم يكن من الممكن استخدام المسار لتحديد تاريخ الالتقاط، فاقرأ metadata للملف أو exif .
duplicate استخدم هذا الأمر لتحليل محتوى خادم immich الخاص بك للعثور على أي ملفات تشترك في نفس اسم الملف وتاريخ الالتقاط، ولكن بحجم مختلف. قبل حذف النسخ الأدنى، يقوم النظام بالحصول على كافة الألبومات التي تنتمي إليها، وإضافة النسخة الأعلى إليها.
| المعلمة | وصف | القيمة الافتراضية |
|---|---|---|
-yes | افترض نعم لجميع الأسئلة | FALSE |
-date | تحقق من أن الأصول فقط لها تاريخ التقاط في النطاق المحدد | 1850-01-04,2030-01-01 |
-ignore-tz-errors | تجاهل اختلاف المنطقة الزمنية عند البحث عن التكرارات | FALSE |
-ignore-extension | تجاهل امتدادات نوع الملف عند البحث عن التكرارات | FALSE |
immich بعد دمج أرشيف صور Google والملفات الأصليةيقوم هذا الأمر بفحص محتوى خادم immich، وإزالة الصور الأقل جودة، والحفاظ على الألبومات.
./immich-go -server=http://mynas:2283 -key=zzV6k65KGLNB9mpGeri9n8Jk1VaNGHSCdoH1dY8jQ duplicate -yesstack الأوامر تم تقديم إمكانية تكديس الصور مع الإصدار 1.83 immich . دعنا نستخدمه لتجميع الصور المتتابعة وصور jpg/الخام معًا.
| المعلمة | وصف | القيمة الافتراضية |
|---|---|---|
-yes | افترض نعم لجميع الأسئلة | FALSE |
-date=date_range | تحقق من أن الأصول فقط لها تاريخ التقاط في النطاق المحدد | 1850-01-04,2030-01-01 |
tool الأوامر يقدم هذا الأمر أدوات سطر الأوامر للتعامل مع خادم immich الخاص بك
album delete [regexp]يحذف هذا الأمر الألبومات التي تتطابق مع النمط المحدد
-yes افترض نعم على جميع الأسئلة (الافتراضي: FALSE).
./immich-go -server=http://mynas:2283 -key=zzV6k65KGLNB9mpGeri9n8Jk1VaNGHSCdoH1dY8jQ tool album delete d {4}- d {2}- d {2}يحذف هذا الأمر جميع الألبومات التي تم إنشاؤها باستخدام النمط YYYY-MM-DD
يعد تثبيت immich-go عملية مباشرة. تفضل بزيارة صفحة الإصدار الأحدث وحدد الملف الثنائي المتوافق مع نظامك:
قم بتنزيل الأرشيف المطابق لنظام التشغيل/البنية الخاصة بك على جهازك وقم بفك ضغطه.
افتح أمر windows، وانتقل إلى الدليل الذي يوجد به immich-go، واكتب الأمر immich-go مع المعلمات والأمر الإلزامي.
بالنسبة للتثبيت المستند إلى المصدر، تأكد من توفر أدوات تطوير لغة Go الضرورية (https://go.dev/doc/install). قم بتنزيل الملفات المصدر أو استنساخ المستودع.
go build -ldflags " -X 'main.version= $( git describe --tag ) ' -X 'main.date= $( date ) ' " يتم تعبئة immich-go مع nix ويتم توزيعه عبر nixpkgs. يمكنك تجربة immich-go دون تثبيته باستخدام:
nix-shell -I " nixpkgs=https://github.com/NixOS/nixpkgs/archive/nixos-unstable-small.tar.gz " -p immich-go
# Or with flakes enabled
nix run " github:nixos/nixpkgs?ref=nixos-unstable-small#immich-go " -- -help أو يمكنك إضافة immich-go إلى configuration.nix الخاص بك في قسم environment.systemPackages .
مجد لفريق Immich لمشروعهم المذهل! ؟
يستخدم هذا البرنامج مكتبات الطرف الثالث التالية:
الشكر الجزيل للقائمين على المشروع: