{"id":13894331,"url":"https://github.com/ike9000e/p7z-usr","last_synced_at":"2025-07-17T09:31:58.930Z","repository":{"id":41335439,"uuid":"82580248","full_name":"ike9000e/p7z-usr","owner":"ike9000e","description":"Stop war; stop Putin -- Plugin for Double Commander that adds 7-Zip compatible archives. Formats: 7z, Udf, VHD, SquashFS, NTFS, Rpm, Chm and more. Based on 7-Zip and P7ZIP projects.","archived":false,"fork":false,"pushed_at":"2019-02-24T04:59:58.000Z","size":7790,"stargazers_count":27,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-08-07T18:29:43.867Z","etag":null,"topics":["7-zip","7z","arj","chm","dcmd","iso","lha","linux","p7z-usr","p7zip","udf","vdi","vhd","vmdk","wcx-plugin"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ike9000e.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"License.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-02-20T16:46:13.000Z","updated_at":"2024-06-02T00:06:55.000Z","dependencies_parsed_at":"2022-08-31T20:00:53.277Z","dependency_job_id":null,"html_url":"https://github.com/ike9000e/p7z-usr","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ike9000e%2Fp7z-usr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ike9000e%2Fp7z-usr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ike9000e%2Fp7z-usr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ike9000e%2Fp7z-usr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ike9000e","download_url":"https://codeload.github.com/ike9000e/p7z-usr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226248265,"owners_count":17595158,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["7-zip","7z","arj","chm","dcmd","iso","lha","linux","p7z-usr","p7zip","udf","vdi","vhd","vmdk","wcx-plugin"],"created_at":"2024-08-06T18:01:29.789Z","updated_at":"2024-11-24T23:30:30.248Z","avatar_url":"https://github.com/ike9000e.png","language":"C++","funding_links":[],"categories":["C++"],"sub_categories":[],"readme":"# p7z-usr\n\n-------------------------------------------------------\n    P7Z Usr - Packer Plugin for DCMD on Linux\n-------------------------------------------------------\n\n\tPlugin for Double Commander (DCMD) that provides 7-Zip file archiver features.\n\tOpen source, intended for Linux platforms.\n\tIts nain module is P7ZIP, a port of 7-Zip for POSIX systems.\n\n\nLibrary Information\n-------------------------\n\tInternally, P7Z Usr relies on a library file \"7z.so\".\n\t\n\tThis is another shared library that is loaded dynamically\n\tand must be found durning this plugin initialization process.\n\n\tLocating \"7z.so\" library file:\n\t1. File in the same dir \"p7z_usr.wcx\" is in.\n\t2. Enviroment variable P7ZUSRWCX_7Z_SO_FILE containing full path,\n\t   Ex: \"$\u003e export P7ZUSRWCX_7Z_SO_FILE=/path/to/7z.so\"\n\t\n\tRecomended is #1, that is, keep compatible \"7z.so\" file in the same \n\tdirectory \"p7z_usr.wcx\" is in.\n\t\n\nBuild Instructions\n-------------------------------\n\t1. Unpack main P7Z Usr package file (\"p7z_usr_xxxxx.zip\") into selected directory.\n\t2. Download P7ZIP version 15.09. Website: http://p7zip.sourceforge.net/\n\t3. Unpack P7ZIP into \"./p7zip/compatible_version\", subdirectory of P7Z Usr.\n\t   (Actually only ./CPP and ./C subdirectories are required for build process).\n\t4. Locate the \"makefile\" file in \"./projects/01_shared_lib\" subdir.\n\t5. Use this command to compile and build: \"make release\".\n\t   (Note: the 'debug' build target is just a placeholder and currently has no use).\n\t6. On successful build, shared library file \"p7z_usr.wcx\" will be\n\t   creared in \"./projects/01_shared_lib/bin/Release\".\n\n\nInstallation\n--------------------\n\tNo special steps required, instructions below just follow standard \n\tsteps as if to install any other WCX plugin in DCMD.\n\n\tTypically, creeate following new subdir under DCMD root directory:\n\t\t\t\"./plugins/wcx/p7z_usr\"\n\t\n\tCopy following files into it:\n\t\t\n\t\t* main plugin file: \"p7z_usr.wcx\".\n\t\t* configuration file: \"p7z_usr.ini\" (optional).\n\t\t* main P7ZIP library file, \"7z.so\" (or symlink to the file).\n\n\tMake sure \"7z.so\" library can be located by P7z Usr library,\n\tin case if using symlink instead of regular file.\n\n\tDefault location for \"7z.so\" is the same directory \"p7z_usr.wcx\" is in, \n\tin this case:\n\t\t\"./plugins/wcx/p7z_usr/7z.so\"\n\n\tIn DCMD go to Options then Plugins. In Packer Plugin tab click \n\tthe \"Add\" button and select the \"p7z_usr.wcx\" file.\n\tIn the \"Tweak\" dialog box, add the file extensions of file types for this plugin \n\tto open, see handlers list below. \n\t\n\tNotes:\n\t* this is a read-only plugin, omitting types supported by other, archive dedicated,\n\t  plugins is recommended.\n\t* list of file types supported is long, direct editing of DCMD configuration file\n\t  may be a better approach.\n\n\nFormats and suffix list sample\n-----------------------------------------\n\tBelow is a dump of formats from \"7z.so\" version 15.09.\n\tActual list is written to the console STDOUT on plugin initialization with debug mode on.\n\tMore descriptive list can be found in an official 7-Zip documentation.\n\n\t\t7z:       [7z; ]\n\t\tAPM:      [apm; ]\n\t\tAr:       [ar a deb lib; ]\n\t\tArj:      [arj; ]\n\t\tbzip2:    [bz2 bzip2 tbz2 tbz; * * .tar .tar]\n\t\tCab:      [cab; ]\n\t\tChm:      [chm chi chq chw; ]\n\t\tHxs:      [hxs hxi hxr hxq hxw lit; ]\n\t\tCompound: [msi msp doc xls ppt; ]\n\t\tCpio:     [cpio; ]\n\t\tCramFS:   [cramfs; ]\n\t\tDmg:      [dmg; ]\n\t\tELF:      [elf; ]\n\t\tExt:      [ext ext2 ext3 ext4 img; ]\n\t\tFAT:      [fat img; ]\n\t\tFLV:      [flv; ]\n\t\tgzip:     [gz gzip tgz tpz; * * .tar .tar]\n\t\tGPT:      [gpt mbr; ]\n\t\tHFS:      [hfs hfsx; ]\n\t\tIHex:     [ihex; ]\n\t\tIso:      [iso img; ]\n\t\tLzh:      [lzh lha; ]\n\t\tlzma:     [lzma; ]\n\t\tlzma86:   [lzma86; ]\n\t\tMachO:    [macho; ]\n\t\tMBR:      [mbr; ]\n\t\tMsLZ:     [mslz; ]\n\t\tMub:      [mub; ]\n\t\tNsis:     [nsis; ]\n\t\tNTFS:     [ntfs img; ]\n\t\tPE:       [exe dll sys; ]\n\t\tTE:       [te; ]\n\t\tPpmd:     [pmd; ]\n\t\tQCOW:     [qcow qcow2 qcow2c; ]\n\t\tRar:      [rar r00; ]\n\t\tRar5:     [rar r00; ]\n\t\tRpm:      [rpm; ]\n\t\tSplit:    [001; ]\n\t\tSquashFS: [squashfs; ]\n\t\tSWFc:     [swf; ~.swf]\n\t\tSWF:      [swf; ]\n\t\ttar:      [tar ova; ]\n\t\tUdf:      [udf iso img; ]\n\t\tUEFIc:    [scap; ]\n\t\tUEFIf:    [uefif; ]\n\t\tVDI:      [vdi; ]\n\t\tVHD:      [vhd; ]\n\t\tVMDK:     [vmdk; ]\n\t\twim:      [wim swm esd; ]\n\t\tXar:      [xar pkg; ]\n\t\txz:       [xz txz; * .tar]\n\t\tZ:        [z taz; * .tar]\n\t\tzip:      [zip zipx jar xpi odt ods docx xlsx epub; ]\n\n\n\nFeatures and Limitations\n---------------------------------\n\t[+] can browse or extract all archives 7-zip library can open.\n\t[+] configuration via INI file (documentation provided inside it).\n\t[+] should be forward compatible with P7ZIP libraries versions \u003e= 15.09\n\t[-] read only\n\t[-] multi volume archives not supported\n\t[-] no file attributes\n\t[-] no Rar5 (can only see files are in the archive)\n\n\nFAQ\n-----------------------\n\n\tQ: What is \"7z.so\"?\n\tA: This is a Linux executable shared library, build by compiling P7ZIP project.\n\n\tQ: Where to get \"7z.so\"?\n\tA: \n\t\tCompile P7ZIP yourself or download from your linux distribution.\n\t\tUbuntu has a binary package named \"p7zip-full\" that contains \"7z.so\".\n\t\tNote: Generally it is not a good idea to make P7Z Usr use this lib from\n\t\tan untested package.\n\n\tQ: How to build \"7z.so\"?\n\tA:\n\t\tSee BUILD section in the README file of the P7ZIP.\n\t\tYou can try the \"make 7z\" command, and if successfull, \"7z.so\"\n\t\twill be created in \"./bin\" subdirectory.\n\n\tQ: What is a Handler?\n\tA: \n\t\tIt is an internal 7z module that handles particular archive type.\n\t\tFor example: Iso handler, Chm handler, 7z, zip, ...\n\n\tQ: How to fix Access Voilation Errors on archives that should be handled?\n\tA:\n\t\tSome handlers inside some \"7z.so\" libs can cause theese.\n\t\tP7z Usr tries all handlers it finds in the library.\n\t\tTurning off problematic internal handlers using INI \n\t\tconfiguration may fix these problems.\n\n\tQ: How to diagnose which handlers aren't working properly?\n\tA:\n\t\tSet P7ZUSRWCX_DEBUG enviroment variable to turn on debug messages:\n\t\t\t$\u003e export P7ZUSRWCX_DEBUG=1\n\t\tThis causes various debug messages to be printed to the console STDOUT.\n\t\tUse Ctrl+PgDn, the \"Try open archive\" in DCMD, and\n\t\tfind which (if any) handler tried comes as last in the incomplete list.\n\n\tQ: Why opening certain MSI archive file using Ctrl+PgDn yields\n\t   contents of some CAB archive embeded inside it, rather\n\t   than contents of MSI file itself?\n\tA:\n\t\tOpening files using Ctrl+PgDn is a method\n\t\tthat tries handlers in predefined order, that does not take file \n\t\textension into account.\n\t\tThe algorithm looks at the begining of the archive file, from adderss 0 up to \n\t\tvalue specified by 'uCYHTFScanSize', and employs first handler that it finds\n\t\tsuitable. Because list of handlers is orgainzed in an arbitrary order,\n\t\tit may happen that 'Cab' handler is tried before 'Compound' handler.\n\t\tFinally, if CAB file in question is embeded within first 8000002 bytes of the \n\t\tarchive file, the whole archive file gets \"prematurely\" opened as 'Cab' archive.\n\t\t\n\t\tIn short:\n\t\t* in handlers priority list 'Cab' handler appears before 'Compound' (MSI) handler.\n\t\t* CAB file is embeded within first 8000002 bytes of the MSI file.\n\n\t\tSolution 1:\n\t\tEdit handlers priority list and put 'Compound' before 'Cab'.\n\t\t\n\t\tSolution 2:\n\t\tDo not use Ctrl+PgDn on the MSI archive file in question.\n\t\tMake sure file extension \"msi\" is added in the plugin configuration, \n\t\tthe 'Tweak' button in the DCMD Options in the Plugins section.\n\t\tOpen MSI archive regural way, using Double-click or Enter key.\n\n\t\tReferences:\n\t\t* 'uCYHTFScanSize' default value is 8000002.\n\t\t* handlers priority list can be changed using 'szCYHTFHandlersPriority'.\n\nLinks\n-------------------\n\thttps://github.com/ikk00/p7z-usr\n\thttp://doublecmd.sourceforge.net/\n\thttp://doublecmd.sourceforge.net/forum/\n\thttp://p7zip.sourceforge.net/\n\thttp://www.7-zip.org/\n\thttp://ikk.byethost9.com/\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fike9000e%2Fp7z-usr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fike9000e%2Fp7z-usr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fike9000e%2Fp7z-usr/lists"}