Immich-Go adalah alat sumber terbuka yang dirancang untuk menyederhanakan pengunggahan koleksi foto berukuran besar ke server Immich yang Anda hosting sendiri.
Immich-go
:Mengambil Foto Anda:
Mengimpor Foto Anda:
/path/to/your/files/takeout-*.zip
sebagai nama file.-google-photos
.Banyak file tidak diimpor : Apa saja pilihannya?
-upload-when-missing-JSON
Untuk mengetahui alasan di balik alternatif immich-cli
ini, silakan baca motivasinya di sini.
⚠️ Ini adalah versi awal, belum diuji secara ekstensif⚠️ Simpan salinan cadangan file Anda demi keamanan
immich-go
immich-go
adalah alat baris perintah yang harus dijalankan dari jendela terminal.
Program immich-go
menggunakan Immich API. Oleh karena itu diperlukan alamat server dan kunci API yang valid.
Di Linux, teman macOS dan FreeBSD:
./immich-go -server=URL -key=KEY -general_options COMMAND -command_options... {path/to/files}
Penting
pengguna macOS harus secara eksplisit mengizinkan immich-go untuk berjalan. Buka Privasi & Keamanan > Pengaturan Keamanan untuk mengizinkan
Pada sistem Windows:
.immich - go - server = URL - key = KEY - general_options COMMAND - command_options.. . {path / to / files}
Opsi Boolean memiliki nilai default yang ditunjukkan di bawah ini. Menyebutkan opsi apa pun pada garis umum akan mengubah opsi tersebut menjadi BENAR. Untuk memaksa opsi ke FALSE, gunakan sintaks berikut: -option=FALSE
.
Contoh: Immich-go periksa sertifikat SSL server. Anda dapat menonaktifkan perilaku ini dengan mengaktifkan opsi skip-verify-ssl
. Cukup tambahkan -skip-verify-ssl
. -skip-verify-ssl
setara dengan -skip-verify-ssl=TRUE
. Untuk mematikan fitur (yang merupakan perilaku default), gunakan -skip-verify-ssl=FALSE
Parameter | Keterangan | Nilai bawaan |
---|---|---|
-use-configuration=path/to/config/file | Menentukan file konfigurasi yang akan digunakan. URL server dan kunci API disimpan ke dalam file konfigurasi immich-go. Mereka dapat dihilangkan untuk proses berikutnya. | Linux $HOME/.config/immich-go/immich-go.json Windows %AppData%immich-goimmich-go.json macOS $HOME/Library/Application Support/immich-go/immich-go.json |
-server=URL | URL layanan Immich, contoh http://:2283 atau https://domain-anda.tld | |
-api=URL | URL titik akhir api Immich (http://container_ip:3301) | |
-device-uuid=VALUE | Paksa identifikasi perangkat | $HOSTNAME |
-client-timeout=duration | Atur batas waktu untuk panggilan server. Durasi adalah angka desimal dengan akhiran satuan, seperti "300 md", "1,5 m", atau "45 m". Satuan waktu yang valid adalah "ms", "s", "m", "h". | 5m |
-skip-verify-ssl | Lewati verifikasi SSL untuk digunakan dengan sertifikat yang ditandatangani sendiri | false |
-key=KEY | Kunci yang dihasilkan oleh pengguna. Foto yang diunggah akan menjadi milik pemilik kunci. | |
-log-level=LEVEL | Sesuaikan verbositas log sebagai berikut: - ERROR : Hanya menampilkan kesalahan- WARNING : Sama seperti yang sebelumnya ditambah kesalahan non-pemblokiran- INFO : Pesan informasi | INFO |
-log-file=/path/to/log/file | Tulis semua pesan ke file | Linux $HOME/.cache/immich-go/immich-go_YYYY-MM-DD_HH-MI-SS.log Windows %LocalAppData%immich-goimmich-go_YYYY-MM-DD_HH-MI-SS.log macOS $HOME/Library/Caches/immich-go/immich-go_YYYY-MM-DD_HH-MI-SS.log |
-log-json | Keluarkan log sebagai file JSON yang dibatasi baris | false |
-time-zone=time_zone_name | Tetapkan zona waktu untuk tanggal tanpa informasi zona waktu | Zona waktu sistem |
-no-ui | Nonaktifkan antarmuka pengguna | false |
-debug-counters | Aktifkan pembuatan CSV di samping file log | false |
-api-trace | Aktifkan pelacakan panggilan API | false |
upload
perintahGunakan perintah ini untuk mengunggah foto dan video dari direktori lokal, folder zip, atau semua file zip yang dihasilkan oleh prosedur pengambilan Foto Google.
Parameter | Keterangan | Nilai bawaan |
---|---|---|
-album="ALBUM NAME" | Impor aset ke album Immich ALBUM NAME . | |
-dry-run | Pratinjau semua tindakan sebagaimana akan dilakukan. | FALSE |
-create-album-folder | Hasilkan album immich setelah nama folder. | FALSE |
-use-full-path-album-name | Gunakan jalur lengkap ke file untuk menentukan nama album. | FALSE |
-album-name-path-separator | Menentukan bagaimana beberapa (sub) folder, jika ada, akan digabungkan | |
-create-stacks | Tumpuk jpg/mentah atau pecah. | FALSE |
-stack-jpg-raw | Kontrol penumpukan foto jpg/mentah. | FALSE |
-stack-burst | Kontrol ledakan yang menumpuk. | FALSE |
-select-types=".ext,.ext,.ext..." | Daftar ekstensi yang diterima. | |
-exclude-types=".ext,.ext,.ext..." | Daftar ekstensi yang dikecualikan. | |
-when-no-date=FILE|NOW | Bila tanggal pengambilan tidak dapat ditentukan, gunakan tanggal FILE atau waktu sekarang SEKARANG. | FILE |
-exclude-files=pattern | Abaikan file berdasarkan suatu pola. Tidak peka huruf besar-kecil. Ulangi opsi untuk setiap pola yang Anda perlukan. | @eaDir/ @__thumb/ SYNOFILE_THUMB_*.* Lightroom Catalog/ thumbnails/ |
Sempurnakan impor berdasarkan tanggal tertentu:
Parameter | Keterangan |
---|---|
-date=YYYY-MM-DD | mengimpor foto yang diambil pada hari tertentu. |
-date=YYYY-MM | pilih foto yang diambil selama bulan tertentu. |
-date=YYYY | pilih foto yang diambil pada tahun tertentu. |
Gunakan -exclude-files=PATTERN
untuk mengecualikan file atau direktori tertentu dari unggahan. Ulangi opsi untuk setiap pola yang Anda perlukan. Direktori berikut dikecualikan secara otomatis:
Contoh, perintah berikut mengecualikan file apa pun di direktori yang disebut cadangan atau draf dan file apa pun dengan nama yang diakhiri dengan "salinan)" sebagai PXL_20231006_063121958 (salinan lain).jpg:
immich-go -server=xxxxx -key=yyyyy upload -exclude-files=backup/ -exclude-files=draft/ -exclude=copy). * /path/to/your/files
Opsi khusus untuk pengelolaan Google Foto:
Parameter | Keterangan | Nilai bawaan |
---|---|---|
-google-photos | impor dari arsip terstruktur Google Foto, membuat ulang album yang sesuai. | |
-from-album="GP Album" | Buat album di immich dan impor aset album. | |
-create-albums | Mengontrol pembuatan album Google Foto di Immich. | TRUE |
-keep-untitled-albums | Album tanpa judul diimpor ke immich dengan nama folder sebagai judul. | FALSE |
-use-album-folder-as-name | Gunakan nama folder, bukan judul album. | FALSE |
-keep-partner | Menentukan penyertaan atau pengecualian foto yang diambil mitra. | TRUE |
-partner-album="partner's album" | mengimpor aset dari mitra ke album tertentu. | |
-discard-archived | jangan impor aset yang diarsipkan. | FALSE |
-auto-archive | Arsipkan foto secara otomatis yang juga diarsipkan di Google Foto | TRUE |
-upload-when-missing-JSON | Unggah foto yang tidak terkait dengan file metadata JSON | FALSE |
Baca di sini untuk memahami mengapa penghapusan Google Foto tidak mudah ditangani.
Saat ini semburan yang mengikuti skema ini terdeteksi:
Semua gambar harus diambil pada menit yang sama. Gambar COVER akan menjadi gambar induk tumpukan
Kedua gambar harus diambil pada menit yang sama. Gambar JPG akan menjadi sampulnya.
Silakan buka terbitan untuk mencakup lebih banyak kemungkinan.
Sebagai ilustrasi, berikut adalah perintah untuk mengimpor foto dari arsip bawa pulang Google Foto yang diambil antara tanggal 1 Juni dan 30 Juni 2019, sambil membuat album secara otomatis:
./immich-go -server=http://mynas:2283 -key=zzV6k65KGLNB9mpGeri9n8Jk1VaNGHSCdoH1dY8jQ upload
-create-albums -google-photos -date=2019-06 ~ /Download/takeout- * .zip
Immich-go dapatkan data pertama yang tersedia dalam urutan berikut.
photoTakenTime
PXL_20220909_154515546.jpg
PXL_20220909_154515546.jpg
/photos/2022/11/09/IMG_1234.HEIC
geoDataExif
geoData
bidang JSON Google FotolocationEnrichment
bidang JSON album Google Foto immich-go
mengambil tanggal foto dari file JSON terkait.
Server mengabaikan tanggal yang diberikan oleh immich-go dan mengambil tanggal MP4 meskipun tanggalnya salah.
Lihat #322 Stempel waktu pembuatan dari metadata salah
Immich-go mencoba menentukan tanggal pengambilan dengan nama file, atau jalur file.
Mantan:
Jalur | Tanggal pengambilan foto |
---|---|
foto/album/PXL_20220909_154515546.jpg | 09-09-2022 15:51:55 |
foto/scan/19991231.jpg | 31-12-1999 00:00:00 |
foto/20221109/IMG_1234.HEIC | 19-11-2022 00:00:00 |
foto/2022.11.09T20.30/IMG_1234.HEIC | 19-11-2022 20:30:00 |
foto/2022/11/09/IMG_1234.HEIC | 19-11-2022 00:00:00 |
Jika jalur tidak dapat digunakan untuk menentukan tanggal pengambilan, segera baca metadata
file atau exif
.
duplicate
perintah Gunakan perintah ini untuk menganalisis konten server immich
Anda untuk menemukan file apa pun yang memiliki nama file yang sama, tanggal pengambilan, tetapi memiliki ukuran berbeda. Sebelum menghapus salinan inferior, sistem mendapatkan semua album miliknya, dan menambahkan salinan superior ke dalamnya.
Parameter | Keterangan | Nilai bawaan |
---|---|---|
-yes | Asumsikan Ya untuk semua pertanyaan | FALSE |
-date | Periksa hanya aset yang memiliki tanggal pengambilan dalam rentang tertentu | 1850-01-04,2030-01-01 |
-ignore-tz-errors | Abaikan perbedaan zona waktu saat mencari duplikat | FALSE |
-ignore-extension | Abaikan ekstensi tipe file saat mencari duplikat | FALSE |
immich
setelah menggabungkan arsip Google Foto dan file asliPerintah ini memeriksa konten server imich, menghapus gambar berkualitas rendah, dan menyimpan album.
./immich-go -server=http://mynas:2283 -key=zzV6k65KGLNB9mpGeri9n8Jk1VaNGHSCdoH1dY8jQ duplicate -yes
stack
perintah Kemungkinan untuk menumpuk gambar telah diperkenalkan dengan immich
versi 1.83. Mari gunakan untuk mengelompokkan gambar burst dan jpg/mentah bersama-sama.
Parameter | Keterangan | Nilai bawaan |
---|---|---|
-yes | Asumsikan Ya untuk semua pertanyaan | FALSE |
-date=date_range | Periksa hanya aset yang memiliki tanggal pengambilan dalam rentang tertentu | 1850-01-04,2030-01-01 |
tool
perintah Perintah ini memperkenalkan alat baris perintah untuk memanipulasi server immich
Anda
album delete [regexp]
Perintah ini menghapus album yang cocok dengan pola yang diberikan
-yes
Asumsikan Ya untuk semua pertanyaan (default: FALSE).
./immich-go -server=http://mynas:2283 -key=zzV6k65KGLNB9mpGeri9n8Jk1VaNGHSCdoH1dY8jQ tool album delete d {4}- d {2}- d {2}
Perintah ini menghapus semua album yang dibuat dengan pola de YYYY-MM-DD
Menginstal immich-go
adalah proses yang mudah. Kunjungi halaman rilis terbaru dan pilih file biner yang kompatibel dengan sistem Anda:
Unduh arsip yang sesuai dengan OS/Arsitektur Anda di mesin Anda dan dekompresi.
Buka jendela perintah, buka direktori tempat immich-go berada, dan ketik perintah immich-go
dengan parameter dan perintah wajib.
Untuk instalasi berbasis sumber, pastikan Anda memiliki alat pengembangan bahasa Go yang diperlukan (https://go.dev/doc/install). Unduh file sumber atau kloning repositori.
go build -ldflags " -X 'main.version= $( git describe --tag ) ' -X 'main.date= $( date ) ' "
immich-go
dikemas dengan nix dan didistribusikan melalui nixpkgs. Anda dapat mencoba immich-go
tanpa menginstalnya dengan:
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
Atau Anda dapat menambahkan immich-go
ke configuration.nix
Anda di bagian environment.systemPackages
.
Kudos kepada tim Immich atas proyek menakjubkan mereka! ?
Program ini menggunakan perpustakaan pihak ketiga berikut:
Terima kasih banyak kepada kontributor proyek: