답변:
예, torram 유틸리티 를 사용 하면 가능 합니다. 일부 또는 전체 다운로드 된 파일을 사용하여 torrernt의 다운로드 디렉토리를 재구성합니다. 따라서 파일이 ~ / Download / Torrents / 어딘가에 있으면 다음을 사용할 수 있습니다.
torram -c -o <the_directory_where_to_put_reconstructed_files> <yourtorrentfile.torrent> ~/Download
파일이 어디에 있는지에 관계없이 두 파일 모두 상위 디렉토리를 지정하십시오 (이 예제에서 ~ / Download / 를 사용한 이유 ). 마지막 인수로 '/' 를 사용할 수 있는지 확실하지 않은 경우 도구는 디렉토리를 재귀 적으로 스캔하고 파일 크기별로 후보를 찾고 md5 해시로 청크를 확인하고 찾은 모든 좋은 조각을 최종 파일로 병합합니다.
두 사람 이 서로 다른 시스템에서 다운로드하고있는 토렌트 파일 이 하나 있고 사람 B가 사람 A의 시스템에 다운로드 한 것을 가져 오려면 B의 파일을 A의 토렌트로 직접 복사 한 다음 토렌트를 다시 시작하는 것이 간단하고 명백합니다. 개인 A의 시스템에. 내가 사용한 모든 Bittorrent 피어 프로그램은 파일에서 파일의 위치를 파악하기 시작할 때 파일을 스캔합니다. 따라서 파일에서 다시 시작하는 것은 문제가되지 않습니다.
그러나 이것은 토렌트가 여러 파일로 구성되어 있고 개인 B에 여러 개의 완전한 파일이 있거나 A가 다운로드를 시작하지 않은 불완전한 파일이 여러 개인 경우에만 도움이됩니다.
개인 B의 이름이 같은 파일로 개인 A의 파일을 덮어 쓰면, 그 사이에 이미 다운로드 된 파일을 "결합"하지 않고, 개인 B가 해당 파일과 함께 중단 된 위치에있게됩니다.
토렌트가 매우 큰 단일 파일 인 경우 도움이되지 않으면 B가 다운로드를 중단 한 위치를 대신합니다.
그렇지 않으면 의견에서 @Alexey Markov가 제안한대로 병합 을 살펴보십시오 . 이 유틸리티를 사용하지 않았지만 원하는대로하는 것 같습니다.
파일이 동일한 토런트의 두 개의 서로 다른 파일 인 경우 두 파일을 모두 동일한 (불완전한) 다운로드 데이터로 옮길 수 있습니다 (파일 이름은 정확히 대상이어야 함). 그런 다음 다시 확인하면 Bittorrent 클라이언트는 새 파일 상황을 알려진 토렌트 체크섬과 비교합니다.
다운로드 한 작품이 같은 파일에서 온 경우 조금 나빠집니다. 잠재적 인 도구에 대한 알고리즘이 매우 간단하고 단순하기 때문에 아무도이 도구를 작성하지 않았는지 궁금합니다.
이미 말했듯이 도구의 경우 이것은 간단한 작업입니다. 이러한 도구가없는 경우 (아는 모르는 경우) 파일을 수동으로 병합하여 클라이언트가 가비지를 다운로드하지 않은 경우 (= 체크섬과 일치하지 않는 부분) 작동합니다. 이 경우 비어 있지 않은 블록 만 복사하는 도구를 사용할 수 있습니다. (블록 크기) 매개 변수를 다운로드 파일의 청크 크기로 dd if=inputfile.dat of=outputfile.dat bs=1024 conv=notrunc,sparse
조정 bs=
하면됩니다. 마지막으로 Torrent 클라이언트에서 파일을 다시 스캔하면 이전보다 많은 청크를 찾을 수 있습니다.