-
hanyul released this
2026-10-27 17:05:23 +09:00 대용량 다운로드가 Cloudflare 경유 중 끊길 때 자동으로 복구하도록 고친 patch 릴리스입니다. 설정 변경은 필요 없습니다.
배경
94GB 공유 폴더를 실제로 받아 보며 끊김을 기록했습니다. 한 연결이 1~6분마다 끊겼고, 원인은 모두 Cloudflare 경로였습니다.
- 끊김 증상: TCP 리셋, Cloudflare의 HTTP/2 스트림 리셋(
INTERNAL_ERROR), TLS 레코드 손상(bad record mac). - 가장 나쁜 경우: 서버 쪽 요청만 끊고 받는 쪽 연결은 데이터 없이 열어 둡니다. 브라우저 다운로드가 0B/s로 멈춰 직접 "다시 시작"을 눌러야 합니다.
- 같은 회선에서도 연결마다 Cloudflare 데이터센터가 바뀝니다(HKG·NRT·LAX·PDX·SEA). 속도도 1~60MB/s로 크게 다릅니다.
- NAS 안에서는 끊김이 없었습니다: Node에 직접, DSM nginx(HTTP/2)를 거쳐 각각 450초씩 받았습니다.
변경
- 공유 페이지: Chrome·Edge에서는 "폴더째 받기"가 기본 버튼입니다. 끊기거나 멈추면 알아서 이어받습니다. ZIP은 보조 버튼입니다.
- 폴더째 받기: 30초 동안 데이터가 없으면 멈춘 연결로 보고 다시 연결합니다(이전 60초). 진행 없이 연속 10회까지 재시도합니다(이전 6회).
- 로그: 중간에 끊긴 응답을 보낸 양과 함께 기록합니다. (1.0.0 이후 반영)
검증
- ZIP 실다운로드: 94GB를 받는 동안 10번 끊겼고, 매번 끊긴 지점부터 이어받아 완료했습니다. 53개 파일 CRC 전부 정상.
- 브라우저 테스트: 한 파일에서 9번 끊어도 이어서 완료했습니다. 응답 없이 멈춘 요청은 31초 만에 다시 연결했습니다.
이미지
git.2ex.dev/hanyul/webdav:1.0.1/latest:sha256:a19e3ab8ca377886948381fb36a61b5f7f2f0fb57c6d665bf525f267e744f30d릴리스 소스:
60f3e7238a4e5aeda57b65bfce1fd5b64a732e1bDownloads 2
-
Source code (zip)
0
2026-10-27 17:05:23 +09:00 -
Source code (tar.gz)
0
2026-10-27 17:05:23 +09:00
- 끊김 증상: TCP 리셋, Cloudflare의 HTTP/2 스트림 리셋(