{"id":15643056,"url":"https://github.com/mamantoha/zipstream","last_synced_at":"2025-09-04T18:43:10.071Z","repository":{"id":49042035,"uuid":"188480985","full_name":"mamantoha/zipstream","owner":"mamantoha","description":"A command line tool that allows you to easily share files and directories over the network","archived":false,"fork":false,"pushed_at":"2025-08-14T14:55:17.000Z","size":2746,"stargazers_count":59,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-08-14T16:23:19.361Z","etag":null,"topics":["cli","crystal","gzip","hacktoberfest","http-server","snapcraft","tar","zip"],"latest_commit_sha":null,"homepage":"","language":"Crystal","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/mamantoha.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2019-05-24T20:04:05.000Z","updated_at":"2025-08-14T14:51:27.000Z","dependencies_parsed_at":"2024-01-15T10:05:57.600Z","dependency_job_id":"ab3cb67a-e26a-4038-8478-aaf65e53ac44","html_url":"https://github.com/mamantoha/zipstream","commit_stats":{"total_commits":288,"total_committers":4,"mean_commits":72.0,"dds":0.02777777777777779,"last_synced_commit":"bcb64bb2137f36dde5689962d39c616809e39919"},"previous_names":[],"tags_count":99,"template":false,"template_full_name":null,"purl":"pkg:github/mamantoha/zipstream","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mamantoha%2Fzipstream","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mamantoha%2Fzipstream/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mamantoha%2Fzipstream/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mamantoha%2Fzipstream/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mamantoha","download_url":"https://codeload.github.com/mamantoha/zipstream/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mamantoha%2Fzipstream/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273656417,"owners_count":25145001,"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-09-04T02:00:08.968Z","response_time":61,"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":["cli","crystal","gzip","hacktoberfest","http-server","snapcraft","tar","zip"],"created_at":"2024-10-03T11:58:45.057Z","updated_at":"2025-09-04T18:43:10.061Z","avatar_url":"https://github.com/mamantoha.png","language":"Crystal","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"assets/favicon.png\" width=\"128\" height=\"128\" /\u003e\n\u003ch1\u003ezipstream\u003c/h1\u003e\n\u003ch3\u003e\nA command line tool that allows you to easily share files and directories over the network\n\u003c/h3\u003e\n\n[![Built with Crystal](https://img.shields.io/badge/built%20with-crystal-000000.svg?style=?style=plastic\u0026logo=appveyor)](https://crystal-lang.org/)\n![Crystal CI](https://github.com/mamantoha/zipstream/workflows/Crystal%20CI/badge.svg)\n[![GitHub release](https://img.shields.io/github/release/mamantoha/zipstream.svg)](https://github.com/mamantoha/zipstream/releases)\n[![Commits Since Last Release](https://img.shields.io/github/commits-since/mamantoha/zipstream/latest.svg)](https://github.com/mamantoha/zipstream/pulse)\n[![zipstream](https://snapcraft.io//zipstream/badge.svg)](https://snapcraft.io/zipstream)\n![Homebrew](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/mamantoha/homebrew-zipstream/main/badge.json)\n[![zipstream](https://snapcraft.io//zipstream/trending.svg?name=0)](https://snapcraft.io/zipstream)\n\u003c/div\u003e\n\n## Installation\n\nPrecompiled executables are available for Linux, macOS and Windows from [Releases](https://github.com/mamantoha/zipstream/releases) page.\n\n### Installation (via Snap Store)\n\n[![Get it from the Snap Store](https://snapcraft.io/static/images/badges/en/snap-store-black.svg)](https://snapcraft.io/zipstream)\n\n#### Snap-specific information\n\nDue to the snap's confined nature, the application can only access files in the user's home directory.\nTo access files under `/media` or `/mnt` directories you have to manually connect the snap\nto the `removable-media` interface by running the following command in a terminal\n\n`sudo snap connect zipstream:removable-media`\n\n### Installation (via Homebrew)\n\nYou can install `zipstream` using [Homebrew](https://brew.sh/):\n\n```sh\nbrew install mamantoha/zipstream/zipstream\n```\n\nIf you haven’t tapped the formula yet:\n\n```sh\nbrew tap mamantoha/zipstream\nbrew install zipstream\n```\n\nTo upgrade:\n\n```sh\nbrew upgrade zipstream\n```\n\nTo uninstall:\n\n```sh\nbrew uninstall zipstream\n```\n\n### Build from source\n\nClone the repository:\n\n`git clone https://github.com/mamantoha/zipstream.git`\n\nSwitch to repo-directory\n\n`cd zipstream`\n\nBuild:\n\n`shards build`\n\nCopy `./bin/zipstream` to executable path.\n\nEnjoy!\n\n## Usage\n\nHelp message:\n\n```console\nNAME\n    zipstream - is a command line tool that allows you to easily share files and directories over the network\n\nVERSION\n    0.23.18\n\nSYNOPSIS\n    zipstream PATH [options]\n\nIf PATH is not specified it point to current directory\n\nOPTIONS\n    -h, --help                       give this help list\n    -l, --log                        logging of requests/responses\n    -w, --web                        run WEB Server with the directory listing\n    -H HOST, --host=HOST             the host (default: `0.0.0.0`)\n    -p PORT, --port=PORT             the port (default: `8090`)\n    -f FORMAT, --format=FORMAT       the format of output archive, zip, tar or tgz. Only for CLI mode. (default: `zip`)\n    -o FILENAME, --output=FILENAME   the output file name without extension. Only for CLI mode. (default: `download`)\n    -e PATH, --endpoint=PATH         the URL path to the resource. Only for CLI mode. (default: ``)\n    -j, --junk-parent                stream the content of an archive without including the parent directory\n    -h, --hidden                     match hidden files and folders\n    --no-symlinks                    do not follow symlinks\n    --user=user                      the username user for file retrieval\n    --password=password              the password password for file retrieval\n    --no-banner                      hide the ASCII art banner\n    --qr                             print QR-Code to access shared resource\n    -V, --version                    print program version\n```\n\nSharing a directory as tar archive:\n\n```console\n$ zipstream -H 192.168.31.180 -f tar /Users --user=admin --password=passwd -o users -e dl --qr\n     _           _\n    (_)         | |\n _____ _ __  ___| |_ _ __ ___  __ _ _ __ ___\n|_  / | '_ \\/ __| __| '__/ _ \\/ _` | '_ ` _ \\\n / /| | |_) \\__ \\ |_| | |  __/ (_| | | | | | |\n/___|_| .__/|___/\\__|_|  \\___|\\__,_|_| |_| |_|\n      | |\n      |_|\n\nServing `/Users` as `users.tar`\n\nTo download the file please use one of the commands below:\n\nwget --content-disposition --user admin --password passwd http://192.168.31.180:8090/dl\ncurl -OJ --user admin:passwd http://192.168.31.180:8090/dl\n\nOr place all files into current folder:\n\nwget -O- --user admin --password passwd http://192.168.31.180:8090/dl | tar -xvf -\ncurl --user admin:passwd http://192.168.31.180:8090/dl | tar -xvf -\n\nOr just open in your browser: `http://admin:passwd@192.168.31.180:8090/dl`\nOr scan the QR code to access to download the file on your phone\n▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\n█ ▄▄▄▄▄ █▄ ▄ ▄ ▄▄▀█▄▀▀ █ ▄ ▄█▀█ ▄▄▄▄▄ █\n█ █   █ █▄▀▄ ▄▀█ ▀▀▀▀▄█▄▄▄▀ █ █ █   █ █\n█ █▄▄▄█ █▄▀▀▀  █▄▄█▀▀█ ▀▀▄█ █ █ █▄▄▄█ █\n█▄▄▄▄▄▄▄█ ▀ █ █▄▀▄▀▄█ █▄▀ █▄▀ █▄▄▄▄▄▄▄█\n█▀█▀██▄▄█▀▀▀ ▄█ █▀▄▄▄ ▀█▄▄▄ ▀█▀▄█ █ ▀▄█\n███▀▀█▀▄█▀ ▀▄▀▄█▄█  ▄▄▄▀▄ █▀  █ ██▄█▀ █\n███▀▀█ ▄█▄ █ ▀ █ ██ ▀▄ ▄ ▄██▀█ ▄███▀▄██\n█▀▄ ▄▄▄▄▄▄▀ ▄█   ▄▄ █▄ █▀██  █▀ ▄▀ ▀  █\n█ ▄▀█ ▀▄ ▄█▀ ▀███▀▄▀█████▄█▄▀  ▄▀▄▀ ███\n█ █ █ ▄▄▀███ ███▄ ▀▀  █ █▄▄  ██▄▄▄▄██▄█\n█▀▀ █▄▀▄ █▄   ▀▀ ██▀▀▀ ▀▀█ ▀ ▀▀▄  █ ▀██\n█▄▀▄ ▄▀▄▀ ▄▀████▀ ▄ ▀▀▄▀  █▄  ▀▀▀█▄▄█ █\n█▀▀▄▀▀▄▄▀ ██▄▄▄▀  ▀▄█▀▄█▄▀▄▄▀▄ ▄██▄▀ ██\n█ █▀ ▄▄▄▀▄ ▄▀ ▄█ ███ ██ █▀█ ▄▀████▄ ▀ █\n█▄██▄▄█▄▄ ▀█ █▄█ ▀██▄██ ▀▀▄▄▄ ▄▄▄ ▀▄█▄█\n█ ▄▄▄▄▄ █▀▄▀▄ ▄█▄▀   ▄▀▄▄▀▄▄█ █▄█  ▄▀ █\n█ █   █ ███▄▀▄▀▄▄█▀█▄▄▀██▄ █▄ ▄  ▄█▄▄██\n█ █▄▄▄█ ██▄█▀  ▀▄ █▀ ▄▀█ ▄▄▄  █▀█▀ ▄█ █\n█▄▄▄▄▄▄▄██▄▄███▄▄█▄█▄█▄▄███▄█▄███████▄█\n\n```\n\nRun an ad hoc http static server in specified directory, available at \u003chttp://localhost:8090\u003e:\n\n```console\nzipstream /media/disk/crystal --web\n```\n\n![Image of browser](assets/zipstream_web.png)\n\n## Contributing\n\n1. Fork it (\u003chttps://github.com/mamantoha/zipstream/fork\u003e)\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create a new Pull Request\n\n## Contributors\n\n- [Anton Maminov](https://github.com/mamantoha) - creator and maintainer\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmamantoha%2Fzipstream","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmamantoha%2Fzipstream","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmamantoha%2Fzipstream/lists"}