Skip to content

Commit

Permalink
'#2374: Transmission (BitTorrent client) ".resume" files parser.
Browse files Browse the repository at this point in the history
  • Loading branch information
wladimirleite committed Nov 30, 2024
1 parent cc119ae commit 66cf208
Show file tree
Hide file tree
Showing 16 changed files with 321 additions and 2 deletions.
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 @@ -385,6 +385,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 @@ -385,6 +385,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 @@ -385,6 +385,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 @@ -385,6 +385,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 @@ -385,6 +385,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 @@ -385,6 +385,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

0 comments on commit 66cf208

Please sign in to comment.