{"id":18012407,"url":"https://github.com/moe-hacker/rurima","last_synced_at":"2025-03-17T16:12:18.151Z","repository":{"id":260593963,"uuid":"878336716","full_name":"Moe-hacker/rurima","owner":"Moe-hacker","description":"Run docker \u0026 LXC images without docker or LXC program, without kernel features support, even without root privileges!","archived":false,"fork":false,"pushed_at":"2025-02-05T08:11:00.000Z","size":275,"stargazers_count":65,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-02T19:53:01.012Z","etag":null,"topics":["container","container-image","docker","docker-image","linux","termux"],"latest_commit_sha":null,"homepage":"","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/Moe-hacker.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":"2024-10-25T07:49:55.000Z","updated_at":"2025-03-02T08:17:42.000Z","dependencies_parsed_at":"2024-11-01T09:17:01.263Z","dependency_job_id":"f7b14391-62a1-4325-975a-7dbd3c53ae5c","html_url":"https://github.com/Moe-hacker/rurima","commit_stats":null,"previous_names":["moe-hacker/rurima"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Moe-hacker%2Frurima","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Moe-hacker%2Frurima/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Moe-hacker%2Frurima/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Moe-hacker%2Frurima/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Moe-hacker","download_url":"https://codeload.github.com/Moe-hacker/rurima/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244066189,"owners_count":20392406,"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":["container","container-image","docker","docker-image","linux","termux"],"created_at":"2024-10-30T03:16:25.369Z","updated_at":"2025-03-17T16:12:18.144Z","avatar_url":"https://github.com/Moe-hacker.png","language":"C","readme":"[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14099730.svg)](https://doi.org/10.5281/zenodo.14099730)\n# WARNING:      \n```\n* Your warranty is void.\n* I am not responsible for anything that may happen to your device by using this program.\n* You do it at your own risk and take the responsibility upon yourself.\n* Docker is a registered trademark of Docker, Inc. This program has no relationship with it.\n* This program has no Super Cow Powers.\n```\n# About:\nSo, what is rurima?       \nThe enhanced version of ruri.          \nruri only focus on running container, but rurima can also provide the function of getting rootfs image and backup/restore.          \nAnd it will be a more powerful container manager in the fulture.            \nWith the `docker` and `lxc` subcommand of rurima, you can search \u0026 get \u0026 unpack images from dockerhub or LXC mirror easily.       \n# Not Only Ruri Container Manager:\nRurima was planned to be the ruri container manager, but as rurima has a full integration of ruri now, you can just use it as a more powerful version of ruri, although the container manager function is still WIP.               \nFor more info about ruri, see [ruri](https://github.com/Moe-hacker/ruri)      \n# Note \u0026 WIP:\nThis project does not follow OCI and can only be a `PARTIAL` replacement of docker, this project is still under development.       \n# Download:\nYou can get rurima binary (staticly linked) for arm64, armv7, armhf, riscv64, i386, loong64, s390x, ppc64le and x86_64 from the release page.     \nOr run the follwing command to get rurima to ./rurima and ./rurima-dbg(debug version):     \n```sh\nwget -q -O - https://getrurima.crack.moe | bash -s -- -s\n```   \nor:    \n```sh\nwget -q -O - https://rurima.nekofeng.com | bash -s -- -s\n```   \n# Example usage of docker subcommand:\nGet `alpine` image, use tag `edge`, save to `./test`     \n```sh\nrurima docker pull -i alpine -t edge -s ./test\n```     \nGet `whyour/qinglong` docker image.      \n```sh\nrurima docker pull -i whyour/qinglong -s ./test\n```\nGet `ubuntu` docker image.      \n```sh\nrurima docker pull -i ubuntu -s ./test\n```\nSearch for image `ubuntu`:      \n```sh\nrurima docker search -i ubuntu\n```\nSearch tag for `ubuntu`:      \n```sh\nrurima docker tag -i ubuntu\n```\nUse docker mirror `dockerpull.org`\n```sh\nrurima docker pull -m dockerpull.org -i ubuntu -s ./test\n```\nTry every mirrorlist:      \n```sh\nrurima docker pull -T -i ubuntu -s ./test\n```\nTry fallback mode:      \n```sh\nrurima docker pull -T -f -i ubuntu -s ./test\n```\n# Example usage of lxc subcommand:\nPull `alpine` version `edge`.      \n```sh\nrurima lxc pull -o alpine -v edge -s ./test\n```\nUse `mirrors.bfsu.edu.cn/lxc-images` as mirror:   \n```sh\nrurima lxc pull -m mirrors.bfsu.edu.cn/lxc-images -o alpine -v edge -s ./test\n```    \n# About suid or caps:\nRurima does not allow to set any suid/sgid (with root) or capability on it, it will check it in main() and error() if detected these unsafe settings.      \nSo, please always use sudo instead.     \n# Reporting bugs:\nPlease use the debug version(rurima-dbg) in release to get debug logs, and please tell me the command you run to cause the unexpected behavior you think!                     \n# NOTICE:\nThis program is not official tool of docker or dockerhub, you can report bugs here, but this program has no relation with docker.      \nDocker is a registered trademark of Docker, Inc.      \n# Dependent:   \nrurima needs tar, xz, gzip, file, you can find these static binary for aarch64, armv7, x86_64, i386 or riscv64 in：      \n[tar-static](https://github.com/Moe-sushi/tar-static)      \n[xz-static](https://github.com/Moe-sushi/xz-static)     \n[gzip-static](https://github.com/Moe-sushi/gzip-static)     \n[file-static](https://github.com/Moe-sushi/file-static)      \nrurima need `curl` for downloading images, you can find a third party build here (Thanks stunnel) [stunnel/static-curl](https://github.com/stunnel/static-curl).      \nrurima also need proot if you are unpacking rootfs without root privileges, you can find it by the following way:      \nFirst, you know your cpu arch, then, for example for aarch64:      \n```sh\ncurl -sL https://mirrors.tuna.tsinghua.edu.cn/alpine/edge/testing/aarch64/ | grep proot-static\n```\nYou got:      \n```\n\u003ctr\u003e\u003ctd class=\"link\"\u003e\u003ca href=\"proot-static-5.4.0-r1.apk\" title=\"proot-static-5.4.0-r1.apk\"\u003eproot-static-5.4.0-r1.apk\u003c/a\u003e\u003c/td\u003e\u003ctd class=\"size\"\u003e118.8 KiB\u003c/td\u003e\u003ctd class=\"date\"\u003e25 Oct 2024 19:10:30 +0000\u003c/td\u003e\u003c/tr\u003e\n```\nSo that you download:      \n```\nhttps://mirrors.tuna.tsinghua.edu.cn/alpine/edge/testing/aarch64/proot-static-5.4.0-r1.apk\n```\nand finally, tar -xvf *.apk to unpack it. So you got proot.static, rename it to proot and put it in your $PATH.           \n# TODO:\nManage ruri containers and configs.   \nConfig support, a bit like Dockerfile.   \n....\n# Usage:\n```\nUsage: rurima [subcommand] [options]\nSubcommands:\n  docker: DockerHub support.\n  lxc: LXC mirror support.\n  unpack: Unpack rootfs.\n  backup: Backup rootfs.\n  ruri: Built-in ruri command.\n  help: Show help message.\nOptions:\n  -h, --help: Show help message.\n```\n---------\n\n\u003cp align=\"center\"\u003e「僕らタイムフライヤー\u003c/p\u003e\n\u003cp align=\"center\"\u003e時を駆け上がるクライマー\u003c/p\u003e\n\u003cp align=\"center\"\u003e時のかくれんぼ\u003c/p\u003e\n\u003cp align=\"center\"\u003eはぐれっこはもういやなんだ」\u003c/p\u003e","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoe-hacker%2Frurima","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmoe-hacker%2Frurima","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoe-hacker%2Frurima/lists"}