You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
보안: tidoly 터널의 https 로 들어온 요청이 Host 헤더를 집 안 주소로 바꾸면 "집 안에서 온 요청" 으로 판정되어, 밖에서 이 서버의 비밀번호 로그인 · 첫 계정 만들기 · 폴더 훑기 · VPN 설정이 열리던 것을 고쳤습니다. 이제 https 로 온 요청은 Host 와 상관없이 언제나 밖에서 온 것으로 봅니다.
새로 생긴 것
진척률 — 기존 사진 폴더를 훑을 때 파일 수를 먼저 세어 "3,913 / 14,298장 (27%)" 처럼 보여 줍니다. 상태 화면의 "뒤에서 하는 일" 에 남은 작업 수와 지금 하는 일, 작업마다 완료 / 전체와 막대가 붙고, 끝날 때까지 저절로 바뀝니다. 정리가 남아 있는 동안에는 관리 화면 맨 위에도 남은 작업 수와 "진행 보기" 가 뜹니다.
리눅스도 관리 화면의 업데이트 단추로 새 버전으로 바뀝니다. 설치 스크립트가 업데이트만 하는 서비스(tidoly-stow-update)를 함께 깔고, 단추를 누르면 그 서비스가 처음 설치와 같은 스크립트를 돌립니다 — sudo 비밀번호를 묻지 않고, 체크섬이 맞지 않으면 바꾸지 않고 실패로 알립니다. 이미 깐 리눅스는 설치 명령을 한 번 더 실행하면 그다음부터 단추로 됩니다.
아이폰 사진(HEIC)도 확대하면 원본 해상도로 바뀝니다. 브라우저가 HEIC 를 그리지 못해 미리보기(긴 변 1440)까지만 선명하던 것을, 처음 확대할 때 원본 크기 JPEG 를 만들어 바꿉니다. 만드는 동안은 미리보기로 확대되고, 한 번 만든 것은 다시 씁니다. 사진을 많이 넣는 중에도 다른 처리보다 먼저 만듭니다. 원본 받기를 막은 공유 링크로는 내보내지 않습니다.
화면 캡처 자동 앨범 — 스크린샷을 "화면 캡처" 앨범에 따로 모읍니다(처음부터 켜짐, 관리 → 자동 앨범에서 끕니다). 이름이 화면 캡처인 그림과, 이름이 평범해도 폰 화면 모양인 PNG(아이폰 캡처)를 모읍니다. 앨범에서 뺀 것은 다시 넣지 않습니다.
리눅스 서버에서 관리자 비밀번호를 잊었을 때 sudo tidoly-stow password 한 줄로 터미널에서 새 비밀번호를 넣습니다. 설정 파일 위치는 서비스 설정에서 찾으므로 몰라도 됩니다. 서버를 끄지 않아도 됩니다. 이 명령은 설치 스크립트를 다시 실행하면 생깁니다.
사진이 많을 때
사진을 많이 넣는 동안 사진 화면이 느려지던 것을 고쳤습니다. HEIC · 동영상의 작은 그림을 만드는 ffmpeg 가 CPU 를 모두 차지하고 있었습니다 — 이제 하나가 CPU 1개만, 낮은 우선순위로 씁니다.
사진이 많은 달(1만 장 넘게)의 사진 화면이 수십 초씩 걸리거나 뜨지 않던 것을 고쳤습니다. 라이브 포토의 짝을 찾는 쿼리가 색인을 쓰지 못해 사진마다 모든 사진을 읽고 있었습니다 — 1만 1천 장의 달이 6초 → 0.04초(같은 DB 사본, 같은 장비).
사진이 많은 서버를 켤 때마다 1분쯤 디스크와 CPU 가 바쁘고 화면이 느렸던 것을 고쳤습니다. 짝이 없는 짧은 영상마다 라이브 포토의 사진을 찾느라 사진 목록 전체를 읽고 있었습니다(3만 장에서 켤 때마다 13GB) — 이제 색인으로 찾습니다. 작은 그림을 만들 수 없는 GIF · WebP 가 켤 때마다 다시 처리되어 열린 화면에 "바뀐 사진" 소식을 보내던 것도 멈췄습니다.
기존 사진 폴더에 이미 라이브러리에 있는 사진(다른 폴더 · 폰에서 온 것과 같은 사진)이 많으면, 프로그램을 켤 때마다 그 파일들을 처음부터 끝까지 다시 읽어 하드가 몇 분씩 바빴고 그동안 화면이 느렸던 것을 고쳤습니다. 이제 한 번 읽은 중복 파일은 크기와 시각이 그대로면 다시 읽지 않습니다. 원래 사진을 지우면 그다음 훑을 때 이 파일을 대신 넣습니다.
사진을 많이 읽는 동안 같은 하드에 큰 복사가 겹치면 "database is locked" 로 작업이 멈칫하고, 끝난 작업이 "하는 중" 으로 남아 다시 켤 때까지 진척률이 100% 가 되지 않던 것을 고쳤습니다. 끝냄 기록은 될 때까지 다시 시도하고, 쓰기를 기다리는 시간을 10초에서 1분으로 늘렸습니다. 열어 둔 사진 화면도 이제 바뀐 사진의 달만, 몇 초에 한 번까지만 다시 받습니다 — 전에는 정리하는 내내 화면의 모든 달을 1–3초마다 다시 읽었습니다.
고친 것
tidoly 터널의 이번 주 새 자리가 다 찼을 때, 관리 화면이 "tidoly 가 이 서버의 열쇠를 받지 않습니다" 라고 잘못 알리던 것을 고쳤습니다. 이제 "대기 N번째 · 다음 자리는 … 에 열립니다 · 차례가 오면 저절로 연결되고 메일로 알려 드립니다" 로 보이고, 순번은 30초마다 다시 확인합니다. 기다리는 동안에도 주소 · 인증서 · tidoly 로그인은 그대로 됩니다.
작은 그림을 만들지 못한 파일(망가진 JPEG, ffmpeg 가 못 여는 HEIC)이 프로그램을 켤 때마다 다시 시도되어, 상태 화면의 실패 수가 켤 때마다 늘던 것을 고쳤습니다. 이제 한 번 포기한 파일은 다시 넣지 않고, 이미 여러 번 쌓인 실패는 파일마다 하나로 줄입니다.
사진 화면에서 저장 위치를 하나만 고른 때처럼 좁힌 화면을 열어 둔 채 다른 위치의 사진을 읽는 동안, 화면이 2초마다 통째로 새로고침되던 것을 고쳤습니다. 이제 새 달이 이 화면에 정말 생겼을 때만 다시 그립니다.
쿠폰 앨범도 다른 앨범처럼 찍은 날짜별로 보입니다. 전에는 유효기간 순서였는데, 그림에서 읽은 유효기간이 정확하지 않아 순서가 어긋났습니다.
기존 사진 폴더를 훑는 동안 관리 화면이 2초마다 통째로 새로고침되어, 폴더를 고르는 창이 닫히고 다른 폴더를 등록할 수 없던 것을 고쳤습니다. 이제 폴더 줄만 다시 받고, 창이 열려 있는 동안에는 기다립니다.
GIF · WebP 그림이 이름이나 폴더에 날짜가 있어도(DCIM/201812__, Screenshot_2018…) 파일을 복사한 날에 놓이던 것을 고쳤습니다. 이미 넣은 그림은 다음에 켤 때 다시 읽습니다.
원본 받기를 막은 공유 링크에서, 작은 그림이 아직 만들어지기 전에는 그 자리에 원본 파일이 나가던 것을 고쳤습니다. 이제 작은 그림이 만들어질 때까지 빈 그림을 보냅니다.
공유 링크로 연 화면이 왼쪽에 빈 메뉴 자리를 남겨, 사진 한 장 화면이 반만 검게 보이던 것을 고쳤습니다.
링크를 만든 뒤 뜨는 창에서 "주소 복사" 가 클립보드를 비우던 것과, 닫기(X) 단추가 제목 아래로 내려가던 것을 고쳤습니다.
같은 얼굴을 여러 번 붙인 합성 사진 · 스티커 사진이 인물을 여럿 만들던 것을 고쳤습니다. 한 사진 안에서 아주 닮은 얼굴은 하나만 남깁니다(실제 다른 사람 · 닮은 가족은 그대로 둘). 이미 그렇게 읽힌 사진은 켤 때 다시 봅니다.
찍은 날짜가 없는 사진(스크린샷, 메신저에서 저장한 그림)이 파일을 복사한 날에 놓이던 것을 고쳤습니다. 이제 파일 이름(Screenshot_20231215-…, KakaoTalk_20230501_…)이나, 기존 사진 폴더의 폴더 이름(아이폰을 PC 로 옮긴 DCIM/201805__, 2018-05, 2018/05)의 날짜로 놓습니다. 폴더를 훑을 때부터 이 날짜를 써서, 정보를 다 읽기 전에도 사진이 대략 맞는 달에 놓입니다. 이미 넣은 사진은 다음에 켤 때 다시 읽습니다.