Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Transmission (Torrent Client) resume files #2393

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion iped-app/resources/config/conf/CategoriesConfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@
{"name": "Ares Galaxy", "mimes": ["application/x-ares-galaxy","application/x-ares-galaxy-entry"]},
{"name": "E-Mule", "mimes": ["application/x-emule", "application/x-emule-part-met", "application/x-emule-searches", "application/x-emule-preferences-ini", "application/x-emule-preferences-dat", "application/x-emule-known-met-entry", "application/x-emule-part-met-entry"]},
{"name": "Shareaza", "mimes": ["application/x-shareaza-searches-dat", "application/x-shareaza-library-dat", "application/x-shareaza-library-dat-entry", "application/x-shareaza-download"]},
{"name": "Torrent", "mimes": ["application/x-bittorrent-resume-dat", "application/x-bittorrent-resume-dat-entry", "application/x-bittorrent-settings-dat", "application/x-bittorrent"]},
{"name": "Torrent", "mimes": ["application/x-bittorrent-resume-dat", "application/x-bittorrent-resume-dat-entry", "application/x-bittorrent-settings-dat", "application/x-bittorrent", "application/x-transmission-resume"]},
{"name": "Other Peer-to-peer", "mimes": ["application/x-p2p"]}
]},
{"name": "Browser Artifacts", "categories":[
Expand Down
7 changes: 7 additions & 0 deletions iped-app/resources/config/conf/CustomSignatures.xml
Original file line number Diff line number Diff line change
Expand Up @@ -471,6 +471,13 @@
<glob pattern="*.torrent"/>
</mime-type>

<mime-type type="application/x-transmission-resume">
<sub-class-of type="application/x-p2p"/>
<magic priority="50">
<match value="d13:activity-date" type="string" offset="0"/>
</magic>
</mime-type>

<mime-type type="message/outlook-pst">
<magic priority="70">
<match value="!--PST Email Message Indexer Preview--" type="string" offset="7"/>
Expand Down
2 changes: 1 addition & 1 deletion iped-app/resources/config/conf/MakePreviewConfig.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ supportedMimes = application/x-whatsapp-db; application/x-whatsapp-db-f; applica
supportedMimes = application/x-prefetch; text/x-vcard; application/x-emule-preferences-dat; application/vnd.android.package-archive; application/x-bittorrent-settings-dat

# List of mimetypes which parsers insert links to other case items into preview
supportedMimesWithLinks = application/x-emule; application/x-emule-part-met; application/x-ares-galaxy; application/x-shareaza-library-dat; application/x-shareaza-download; application/x-bittorrent-resume-dat; application/x-bittorrent-resume-dat-entry; application/x-bittorrent
supportedMimesWithLinks = application/x-emule; application/x-emule-part-met; application/x-ares-galaxy; application/x-shareaza-library-dat; application/x-shareaza-download; application/x-bittorrent-resume-dat; application/x-bittorrent-resume-dat-entry; application/x-bittorrent; application/x-transmission-resume
1 change: 1 addition & 0 deletions iped-app/resources/config/conf/ParserConfig.xml
Original file line number Diff line number Diff line change
Expand Up @@ -354,6 +354,7 @@
<parser class="iped.parsers.bittorrent.BitTorrentResumeDatEntryParser"></parser>
<parser class="iped.parsers.bittorrent.BitTorrentGenericDatParser"></parser>
<parser class="iped.parsers.bittorrent.TorrentFileParser"></parser>
<parser class="iped.parsers.bittorrent.TransmissionResumeParser"></parser>
<parser class="iped.parsers.lnk.LNKShortcutParser"></parser>
<parser class="iped.parsers.misc.GenericOLEParser"></parser>
<parser class="iped.parsers.misc.OFXParser"></parser>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -337,6 +337,7 @@
<parser class="iped.parsers.bittorrent.BitTorrentResumeDatParser"></parser>
<parser class="iped.parsers.bittorrent.BitTorrentResumeDatEntryParser"></parser>
<parser class="iped.parsers.bittorrent.TorrentFileParser"></parser>
<parser class="iped.parsers.bittorrent.TransmissionResumeParser"></parser>
<parser class="iped.parsers.lnk.LNKShortcutParser"></parser>
<parser class="iped.parsers.misc.OFXParser"></parser>
<parser class="iped.parsers.misc.OFCParser"></parser>
Expand Down
13 changes: 13 additions & 0 deletions iped-app/resources/localization/iped-parsers-messages.properties
Original file line number Diff line number Diff line change
Expand Up @@ -390,6 +390,19 @@ TorrentFileDatParser.PathInCase=Path of Item Found in the Case
TorrentFileDatParser.Yes=Yes
TorrentFileDatParser.ConfirmedPieces=Confirmed pieces
TorrentFileDatParser.AtOffset=at offset
TransmissionResumeParser.DateFormat=MM/dd/yyyy HH:mm:ss
TransmissionResumeParser.Name=Name
TransmissionResumeParser.Destination=Destination Directory
TransmissionResumeParser.IncompleteDir=Incomplete Directory
TransmissionResumeParser.Downloaded=Downloaded (bytes)
TransmissionResumeParser.Uploaded=Uploaded (bytes)
TransmissionResumeParser.AddedDate=Added Date
TransmissionResumeParser.LastActivityDate=Last Activity Date
TransmissionResumeParser.DoneDate=Completed Date
TransmissionResumeParser.InfoHash=InfoHash
TransmissionResumeParser.FilesFoundInCase=Files Found in the Case
TransmissionResumeParser.TorrentFoundInCase=Torrent Found in the Case
TransmissionResumeParser.Yes=Yes
TelegramContact.ContactID=Contact ID:
TelegramContact.FirstName=First Name:
TelegramContact.LastName=Last Name:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -390,6 +390,19 @@ TorrentFileDatParser.PathInCase=Path of Item Found in the Case[TBT]
TorrentFileDatParser.Yes=Yes[TBT]
TorrentFileDatParser.ConfirmedPieces=Confirmed pieces[TBT]
TorrentFileDatParser.AtOffset=at offset[TBT]
TransmissionResumeParser.DateFormat=dd/MM/yyyy HH:mm:ss
TransmissionResumeParser.Name=Name[TBT]
TransmissionResumeParser.Destination=Destination Directory[TBT]
TransmissionResumeParser.IncompleteDir=Incomplete Directory[TBT]
TransmissionResumeParser.Downloaded=Downloaded (bytes)[TBT]
TransmissionResumeParser.Uploaded=Uploaded (bytes)[TBT]
TransmissionResumeParser.AddedDate=Added Date[TBT]
TransmissionResumeParser.LastActivityDate=Last Activity Date[TBT]
TransmissionResumeParser.DoneDate=Completed Date[TBT]
TransmissionResumeParser.InfoHash=InfoHash[TBT]
TransmissionResumeParser.FilesFoundInCase=Files Found in the Case[TBT]
TransmissionResumeParser.TorrentFoundInCase=Torrent Found in the Case[TBT]
TransmissionResumeParser.Yes=Ja
TelegramContact.ContactID=Kontakt ID:
TelegramContact.FirstName=Vorname:
TelegramContact.LastName=Nachname:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -390,6 +390,19 @@ TorrentFileDatParser.PathInCase=Path of Item Found in the Case[TBT]
TorrentFileDatParser.Yes=Yes[TBT]
TorrentFileDatParser.ConfirmedPieces=Confirmed pieces[TBT]
TorrentFileDatParser.AtOffset=at offset[TBT]
TransmissionResumeParser.DateFormat=dd/MM/yyyy HH:mm:ss
TransmissionResumeParser.Name=Name[TBT]
TransmissionResumeParser.Destination=Destination Directory[TBT]
TransmissionResumeParser.IncompleteDir=Incomplete Directory[TBT]
TransmissionResumeParser.Downloaded=Downloaded (bytes)[TBT]
TransmissionResumeParser.Uploaded=Uploaded (bytes)[TBT]
TransmissionResumeParser.AddedDate=Added Date[TBT]
TransmissionResumeParser.LastActivityDate=Last Activity Date[TBT]
TransmissionResumeParser.DoneDate=Completed Date[TBT]
TransmissionResumeParser.InfoHash=InfoHash[TBT]
TransmissionResumeParser.FilesFoundInCase=Files Found in the Case[TBT]
TransmissionResumeParser.TorrentFoundInCase=Torrent Found in the Case[TBT]
TransmissionResumeParser.Yes=Si
TelegramContact.ContactID=Contact ID:
TelegramContact.FirstName=Nombre de la persona:
TelegramContact.LastName=Segundo Nombre:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -390,6 +390,19 @@ TorrentFileDatParser.PathInCase=Emplacement de l'élément trouvé dans le cas
TorrentFileDatParser.Yes=Oui
TorrentFileDatParser.ConfirmedPieces=Pièces confirmées
TorrentFileDatParser.AtOffset=à l'offset
TransmissionResumeParser.DateFormat=dd/MM/yyyy HH:mm:ss
TransmissionResumeParser.Name=Name[TBT]
TransmissionResumeParser.Destination=Destination Directory[TBT]
TransmissionResumeParser.IncompleteDir=Incomplete Directory[TBT]
TransmissionResumeParser.Downloaded=Downloaded (bytes)[TBT]
TransmissionResumeParser.Uploaded=Uploaded (bytes)[TBT]
TransmissionResumeParser.AddedDate=Added Date[TBT]
TransmissionResumeParser.LastActivityDate=Last Activity Date[TBT]
TransmissionResumeParser.DoneDate=Completed Date[TBT]
TransmissionResumeParser.InfoHash=InfoHash[TBT]
TransmissionResumeParser.FilesFoundInCase=Files Found in the Case[TBT]
TransmissionResumeParser.TorrentFoundInCase=Torrent Found in the Case[TBT]
TransmissionResumeParser.Yes=Oui
TelegramContact.ContactID=Identifiant du contact :
TelegramContact.FirstName=Prénom :
TelegramContact.LastName=Nom :
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -390,6 +390,19 @@ TorrentFileDatParser.PathInCase=Path of Item Found in the Case[TBT]
TorrentFileDatParser.Yes=Yes[TBT]
TorrentFileDatParser.ConfirmedPieces=Confirmed pieces[TBT]
TorrentFileDatParser.AtOffset=at offset[TBT]
TransmissionResumeParser.DateFormat=dd/MM/yyyy HH:mm:ss
TransmissionResumeParser.Name=Name[TBT]
TransmissionResumeParser.Destination=Destination Directory[TBT]
TransmissionResumeParser.IncompleteDir=Incomplete Directory[TBT]
TransmissionResumeParser.Downloaded=Downloaded (bytes)[TBT]
TransmissionResumeParser.Uploaded=Uploaded (bytes)[TBT]
TransmissionResumeParser.AddedDate=Added Date[TBT]
TransmissionResumeParser.LastActivityDate=Last Activity Date[TBT]
TransmissionResumeParser.DoneDate=Completed Date[TBT]
TransmissionResumeParser.InfoHash=InfoHash[TBT]
TransmissionResumeParser.FilesFoundInCase=Files Found in the Case[TBT]
TransmissionResumeParser.TorrentFoundInCase=Torrent Found in the Case[TBT]
TransmissionResumeParser.Yes=Sì
TelegramContact.ContactID=ID Contatto:
TelegramContact.FirstName=Nome:
TelegramContact.LastName=Cognome:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -390,6 +390,19 @@ TorrentFileDatParser.PathInCase=Caminho do Item Localizado no Caso
TorrentFileDatParser.Yes=Sim
TorrentFileDatParser.ConfirmedPieces=Partes confirmadas
TorrentFileDatParser.AtOffset=a partir do offset
TransmissionResumeParser.DateFormat=dd/MM/yyyy HH:mm:ss
TransmissionResumeParser.Name=Nome
TransmissionResumeParser.Destination=Diretório Destino
TransmissionResumeParser.IncompleteDir=Diretório Incompleto
TransmissionResumeParser.Downloaded=Baixados (bytes)
TransmissionResumeParser.Uploaded=Enviados (bytes)
TransmissionResumeParser.AddedDate=Data Adicionado
TransmissionResumeParser.LastActivityDate=Data da Última Atividade
TransmissionResumeParser.DoneDate=Data Completo
TransmissionResumeParser.InfoHash=InfoHash
TransmissionResumeParser.FilesFoundInCase=Arquivos Localizados no Caso
TransmissionResumeParser.TorrentFoundInCase=Torrent Localizado no Caso
TransmissionResumeParser.Yes=Sim
TelegramContact.ContactID=ID do Contato:
TelegramContact.FirstName=Nome:
TelegramContact.LastName=Sobrenome:
Expand Down
4 changes: 4 additions & 0 deletions iped-app/src/main/java/iped/app/ui/IconManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,10 @@ private static Map<String, QualityIcon> initMimeToIconMap(int size) {
mimeIconMap.put("application/x-bittorrent-settings-dat", icon);
mimeIconMap.put("application/x-bittorrent", icon);
}
icon = availableIconsMap.get("transmission");
if (icon != null) {
mimeIconMap.put("application/x-transmission-resume", icon);
}

icon = availableIconsMap.get("registry");
if (icon != null) {
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import iped.parsers.bittorrent.BitTorrentResumeDatEntryParser;
import iped.parsers.bittorrent.BitTorrentResumeDatParser;
import iped.parsers.bittorrent.TorrentFileParser;
import iped.parsers.bittorrent.TransmissionResumeParser;
import iped.parsers.browsers.chrome.CacheIndexParser;
import iped.parsers.discord.DiscordParser;
import iped.parsers.emule.KnownMetParser;
Expand Down Expand Up @@ -83,6 +84,7 @@ private static Map<MediaType, Integer> installTypesToPostProcess() {
mediaTypes.put(MediaType.parse(TorrentFileParser.TORRENT_FILE_MIME_TYPE), 2);
mediaTypes.put(MediaType.parse(BitTorrentResumeDatParser.RESUME_DAT_MIME_TYPE), 3);
mediaTypes.put(MediaType.parse(BitTorrentResumeDatEntryParser.RESUME_DAT_ENTRY_MIME_TYPE), 3);
mediaTypes.put(MediaType.parse(TransmissionResumeParser.TRANSMISSION_RESUME_MIME_TYPE), 3);

mediaTypes.put(WhatsAppParser.WA_DB, 2);
mediaTypes.put(WhatsAppParser.MSG_STORE, 3);
Expand Down
3 changes: 3 additions & 0 deletions iped-engine/src/main/java/iped/engine/task/P2PBookmarker.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
import iped.parsers.ares.AresParser;
import iped.parsers.bittorrent.BitTorrentResumeDatEntryParser;
import iped.parsers.bittorrent.BitTorrentResumeDatParser;
import iped.parsers.bittorrent.TransmissionResumeParser;
import iped.parsers.emule.KnownMetParser;
import iped.parsers.emule.PartMetParser;
import iped.parsers.gdrive.GDriveCloudGraphParser;
Expand Down Expand Up @@ -108,6 +109,8 @@ public void createBookmarksForSharedFiles(File caseDir) {
new P2PProgram(torrentHashes, "Torrent", new Color(0, 160, 60)));
p2pPrograms.put(BitTorrentResumeDatEntryParser.RESUME_DAT_ENTRY_MIME_TYPE,
new P2PProgram(torrentHashes, "Torrent", new Color(0, 160, 60)));
p2pPrograms.put(TransmissionResumeParser.TRANSMISSION_RESUME_MIME_TYPE,
new P2PProgram(torrentHashes, "Transmission", new Color(0, 180, 0)));

P2PProgram progGDrive = new P2PProgram(HashTask.HASH.MD5.toString(), "GoogleDrive");
p2pPrograms.put(GDriveCloudGraphParser.GDRIVE_CLOUD_GRAPH_REG.toString(), progGDrive);
Expand Down
Loading
Loading