{"id":17236874,"url":"https://github.com/redodo/shipper","last_synced_at":"2025-03-26T01:42:49.643Z","repository":{"id":88413927,"uuid":"89134325","full_name":"redodo/shipper","owner":"redodo","description":"Hide encrypted data in files.","archived":false,"fork":false,"pushed_at":"2019-10-22T14:43:03.000Z","size":551,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-30T23:16:04.537Z","etag":null,"topics":["audio","data","images","python","steganography"],"latest_commit_sha":null,"homepage":"","language":"Python","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/redodo.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}},"created_at":"2017-04-23T10:37:24.000Z","updated_at":"2020-06-18T01:22:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"ba86723a-0d33-4024-aa97-cc61d6e69723","html_url":"https://github.com/redodo/shipper","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redodo%2Fshipper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redodo%2Fshipper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redodo%2Fshipper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redodo%2Fshipper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/redodo","download_url":"https://codeload.github.com/redodo/shipper/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245573841,"owners_count":20637670,"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":["audio","data","images","python","steganography"],"created_at":"2024-10-15T05:37:08.470Z","updated_at":"2025-03-26T01:42:49.623Z","avatar_url":"https://github.com/redodo.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Shipper](./example.png)\n\n# Shipper\n\n*Ship cargo in containers.*\n\nInstallation:\n\n```bash\npip install -e git+https://github.com/redodo/shipper.git\n```\n\nExample usage:\n\n```bash\n$ echo \"Hello World\" | shipper load example.png \u003e shipment.png\n$ shipper unload shipment.png\nHello World\n```\n\nOr in Python code:\n\n```python\nimport shipper\n\nshipment = shipper.shipment('example.png')\nshipment.load(b'cargo')\nshipment.ship('shipment.png')\n```\n\n## Securing The Cargo\n\nThe cargo that is loaded in the container can be secured using the `--lock`\nparameter in the CLI. You will be prompted a password.\n\n    shipper load --cargo data.txt example.png --lock \u003e shipment.png\n\nUnloading secured cargo can be done by passing the `--unlock` parameter:\n\n    shipper unload shipment.png --unlock\n\n## The Shipment Process\n\nThe process of preparing a shipment is defined as follows:\n\n1. The cargo is palletized to allow for easy placement in the container\n2. The shipping bill is generated and also palletized (don't ask why)\n3. The pallets are loaded into the available pallet spots of the container\n4. The container is optionally shipped to its destination\n\nUnloading the shipment is the reverse of that process:\n\n1. Search for the palletized shipping bill (this is actually pretty tedious)\n2. Unload the pallets from the container\n3. Put the cargo back together\n\nWhile the standard implementation of this package only delivers support for two\ntypes of containers; lossless image containers and WAVE audio file containers,\nit is jolly straight forward to create implementations for other types of\ncontainers.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredodo%2Fshipper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fredodo%2Fshipper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredodo%2Fshipper/lists"}