{"id":13482155,"url":"https://github.com/sa7mon/miniprint","last_synced_at":"2025-08-11T23:07:58.966Z","repository":{"id":55399369,"uuid":"172264649","full_name":"sa7mon/miniprint","owner":"sa7mon","description":"A medium interaction printer honeypot 🍯","archived":false,"fork":false,"pushed_at":"2023-07-09T13:01:23.000Z","size":122,"stargazers_count":202,"open_issues_count":17,"forks_count":19,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-07-29T01:39:02.084Z","etag":null,"topics":["honeypot","infosec"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sa7mon.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}},"created_at":"2019-02-23T21:13:04.000Z","updated_at":"2024-12-12T11:39:09.000Z","dependencies_parsed_at":"2024-01-03T04:02:44.529Z","dependency_job_id":null,"html_url":"https://github.com/sa7mon/miniprint","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sa7mon/miniprint","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sa7mon%2Fminiprint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sa7mon%2Fminiprint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sa7mon%2Fminiprint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sa7mon%2Fminiprint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sa7mon","download_url":"https://codeload.github.com/sa7mon/miniprint/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sa7mon%2Fminiprint/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269970120,"owners_count":24505466,"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-08-11T02:00:10.019Z","response_time":75,"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":["honeypot","infosec"],"created_at":"2024-07-31T17:00:59.504Z","updated_at":"2025-08-11T23:07:58.938Z","avatar_url":"https://github.com/sa7mon.png","language":"Python","readme":"# miniprint\n\n[![Build Status](https://travis-ci.com/sa7mon/miniprint.svg?token=KqpCvMUSb1yeyAUKGDAx\u0026branch=master)](https://travis-ci.com/sa7mon/miniprint)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/6d424ff40c7d494e88b9bfe11c117e1f)](https://www.codacy.com?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=sa7mon/miniprint\u0026amp;utm_campaign=Badge_Grade)\n[![License](https://img.shields.io/github/license/sa7mon/miniprint.svg)](https://github.com/sa7mon/miniprint/blob/master/LICENSE.md)\n\n\u003cimg align=\"right\" width=\"212\" height=\"288\" src=\"https://user-images.githubusercontent.com/3712226/54886937-78f7b180-4e5b-11e9-8ccc-18716f2b5a3b.png\"\u003e\n\nA medium interaction printer honeypot\n\n## About \n\nminiprint acts like a standard networked printer that has been accidentally exposed to the public internet. \n\nIt speaks the Printer Job Language (PJL) over the raw network \"protocol\"\n\n## Features\n* A fully-featured virtual filesystem in which attackers can read and write files and directories - nothing gets written to the host\n* Any PostScript or plaintext print jobs sent to the printer will be saved to the `uploads/` directory\n* Extensive (probably too much) logging\n* Shodan Honeycore: 0\n\n## Installation\n1. `virtualenv venv \u0026\u0026 source ./venv/bin/activate` (optional)\n1. `pip3 install -r requirements.txt`\n1. `python3 ./server.py`\n\n## Usage\n```\nusage: miniprint [-b,--bind HOST] [-l,--log-file FILE] [-t,--time-out TIME] [-h]\n\nminiprint - a medium interaction printer honeypot\n       by Dan Salmon: @BLTjetpack, github.com/sa7mon \n\noptional arguments:\n  -b, --bind \u003chost\u003e       Bind the server to \u003chost\u003e (default: localhost)\n  -l, --log-file \u003cfile\u003e   Save all logs to \u003cfile\u003e (default: ./miniprint.log)\n  -t, --timeout \u003ctime\u003e    Wait up to \u003ctime\u003e seconds for commands before disconnecting client (default: 120)\n\n  -h, --help  show this help message and exit\n```\nTo interactively attack `miniprint` on localhost, you can use [PRET](https://github.com/RUB-NDS/PRET) with the following command: `python ./pret.py localhost pjl`\n\nLogs are generated in format: `time - loglevel - method - operation - message` and are saved to `miniprint.log` by default.\n\n## Requirements\n  * Python \u003e= 3.5\n\n## Printer Protocol Support\n| Protocol | Port | Support |\n|:--------:|:----:|:-------:|\n|    Raw   | 9100 |   Yes   |\n|    Web   |  80  |    No   |\n|    IPP   |  631 |    No   |\n|    LPD   |  515 |    No   |\n\n## Printer Control Language Support\n| **Language** | **Support** |\n|:------------:|:-----------:|\n|      PJL     |      [Yes](https://github.com/sa7mon/miniprint/wiki/PJL-Command-Support)    |\n|      PML     |      No     |\n\n## Page Description Language Support\n| **Language** | **Support** |\n|:------------:|:-----------:|\n|      PDF     |      Yes    |\n|      XPS     |      No     |\n|  PostScript  |      No     |\n|   Plaintext  |      Yes    |\n|      PCL     |      No     |\n\n## Known Issues\n  * PostScript files printed that don't contain `%%EOF` at the end will cause the printer to wait indefinitely for the end of the job.\n\n## Thanks\n  * frbexiga at BinaryEdge\n  * Jens Müller for the [hacking-printers.net](https://hacking-printers.net/wiki/) wiki\n","funding_links":[],"categories":["Honeypots","\u003ca id=\"a53d22b9c5d09dc894413453f4755658\"\u003e\u003c/a\u003e未分类"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsa7mon%2Fminiprint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsa7mon%2Fminiprint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsa7mon%2Fminiprint/lists"}