{"id":31750139,"url":"https://github.com/guilt/gep","last_synced_at":"2025-10-09T15:26:42.313Z","repository":{"id":299945854,"uuid":"1004657893","full_name":"guilt/GEP","owner":"guilt","description":"Great Extractor and Packer for DOS","archived":false,"fork":false,"pushed_at":"2025-07-06T00:46:24.000Z","size":28,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-24T12:41:02.445Z","etag":null,"topics":["chatgpt","dos","grok","installer","tools","vibe-coding"],"latest_commit_sha":null,"homepage":"https://karthikkumar.org","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/guilt.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.MD","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-19T01:32:03.000Z","updated_at":"2025-07-06T00:46:27.000Z","dependencies_parsed_at":"2025-06-19T04:33:29.547Z","dependency_job_id":"07a9d323-1196-4fe7-b213-b699e6e258a7","html_url":"https://github.com/guilt/GEP","commit_stats":null,"previous_names":["guilt/gep"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/guilt/GEP","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guilt%2FGEP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guilt%2FGEP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guilt%2FGEP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guilt%2FGEP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/guilt","download_url":"https://codeload.github.com/guilt/GEP/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guilt%2FGEP/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001655,"owners_count":26083147,"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","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["chatgpt","dos","grok","installer","tools","vibe-coding"],"created_at":"2025-10-09T15:26:40.805Z","updated_at":"2025-10-09T15:26:42.304Z","avatar_url":"https://github.com/guilt.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GEP (Great Extractor Packer)\n\nGEP is a modernized revival of the 2001 [EP](https://github.com/guilt/EP) (Extractor Packer) project, a portable tool for packing and extracting files, directories, commands, and banners. It creates self-contained packages (`GEPPACK.EXE`) or external manifests (`SAMPLE.MF`) with a retro Turbo Vision UI, running on DOS, Windows, Linux, macOS and maybe *BSD.\n\n## Features\n- **Portable**: Works on DOS, Windows, Linux, macOS and maybe *BSD.\n- **Modular**: Shared `Manifest` class for packing/extraction.\n- **Interactive**: Turbo Vision UI for adding/extracting entries.\n- **Non-Interactive**: Pack via `SAMPLE.DAT` input.\n- **Permissions**: Unix `chmod` support (e.g., `0644`).\n- **Sound**: PC speaker beeps (DOS), ASCII bell (others).\n- **Validation**: Checks manifest syntax and offsets.\n\n## Files\n- **Source**: `EXTR.CPP`, `PACKER.CPP`, `MANIFST.H`, `COMMON.H`\n- **Build Scripts**: `BUILD.BAT` (DOS), `CMakeLists.txt` (Others)\n- **Test Files**: `SAMPLE.DAT`, `TEST.TXT`\n\n## Building\n\n### DOS (Borland C++)\n\n1. Install Borland C++ 4.5 or higher.\n2. Copy files to a directory (e.g., `C:\\GEP`).\n3. Ensure Turbo Vision Includes/Libs and Compiler are in Path. See and edit `BUILD.BAT`\n4. Run:\n   ```\n   BUILD.BAT\n   ```\n5. Get `EXTR.EXE` size (e.g., 23234 bytes via `DIR EXTR.EXE`).\n6. Recompile for embedded manifest:\n   ```\n   BUILD.BAT -DFILE_SIZE=23234\n   ```\n\n### Windows/Linux/macOS/*BSD\n\n1. Install CMake, gcc/clang, Turbo Vision (`libtvision`), and `ncurses5w`.\n2. Create build directory:\n   ```\n   mkdir build \u0026\u0026 cd build\n   ```\n3. Run CMake:\n   ```\n   cmake ..\n   ```\n4. Build:\n   ```\n   make\n   ```\n5. Get `extractor` size (e.g., `ls -l extractor` or `dir extractor.exe`).\n6. Recompile for embedded manifest:\n   ```\n   cmake -DFILE_SIZE=23234 ..\n   make\n   ```\n\n## Usage\n\n### Packer\n\n- **Interactive**:\n  ```\n  ./packer\n  ```\n  Use Turbo Vision UI to add files (`Alt-F`), directories (`Alt-D`), groups (`Alt-G`), commands (`Alt-C`), banners (`Alt-B`), and save (`Alt-S`) to `GEPPACK.EXE` and `SAMPLE.MF`.\n- **Non-Interactive**:\n  ```\n  ./packer SAMPLE.DAT\n  ```\n  Packs entries from `SAMPLE.DAT` into `GEPPACK.EXE` and `SAMPLE.MF`.\n\n### Extractor\n\n- **Embedded**:\n  ```\n  ./extr\n  ```\n  Extracts package with embedded manifest.\n\n- **External**:\n  ```\n  ./extr SAMPLE.MF\n  ```\n  Extracts using external manifest.\n\n## SAMPLE.DAT Example\n\n```plaintext\n1 Group 1 - Basic Text Files\n3 TEST.TXT [Basic Text File] none|0644 \u003cTEST.TXT\u003e\n2 DATA.DIR [Data Directory]\n```\n\nPlace `TEST.TXT` (e.g., “do-re-mi!”) in the same directory as `SAMPLE.DAT`. Run `./packer SAMPLE.DAT` to create `GEPPACK.EXE` and `SAMPLE.MF`.\n\n## Testing\n1. Create `TEST.TXT` with “do-re-mi!”.\n2. Run `./packer SAMPLE.DAT` to generate `GEPPACK.EXE` and `SAMPLE.MF`.\n3. Run `./GEPPACK` or `./extractor SAMPLE.MF` to extract.\n4. Verify `TEST.TXT` (permissions `0644` on Unix-like systems) and `DATA.DIR` are created.\n\n## Notes\n\n- Ensure `TEST.TXT` and other files in the same directory as `SAMPLE.DAT`.\n\n## License\n\nSee [LICENSE](LICENSE.md).\n\n\n## Feedback\n\n* Authors: [Grok 3.0](https://www.grok.com), [ChatGPT 4.1](https://openai.com/) and Debugger: [Karthik Kumar Viswanathan](https://karthikkumar.org)\n* Web   : http://karthikkumar.org\n* Email : me@karthikkumar.org","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguilt%2Fgep","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fguilt%2Fgep","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguilt%2Fgep/lists"}