{"id":13844142,"url":"https://github.com/ideal/mirror","last_synced_at":"2025-04-05T10:10:39.874Z","repository":{"id":8962915,"uuid":"10703027","full_name":"ideal/mirror","owner":"ideal","description":"Task scheduler for open source mirror site (initially for https://mirror.bjtu.edu.cn)","archived":false,"fork":false,"pushed_at":"2024-08-22T06:17:40.000Z","size":792,"stargazers_count":207,"open_issues_count":5,"forks_count":51,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-03-29T09:12:55.136Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ideal.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog","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":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-06-15T06:35:58.000Z","updated_at":"2024-11-15T01:51:05.000Z","dependencies_parsed_at":"2024-11-21T16:37:05.205Z","dependency_job_id":"f00a405b-8a4f-4c2c-b442-0da3d4673eaf","html_url":"https://github.com/ideal/mirror","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ideal%2Fmirror","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ideal%2Fmirror/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ideal%2Fmirror/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ideal%2Fmirror/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ideal","download_url":"https://codeload.github.com/ideal/mirror/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247318745,"owners_count":20919484,"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":[],"created_at":"2024-08-04T17:02:35.745Z","updated_at":"2025-04-05T10:10:39.842Z","avatar_url":"https://github.com/ideal.png","language":"Python","funding_links":[],"categories":["Python (1887)","Python"],"sub_categories":[],"readme":"# Mirror\n\n[![Build Status]][Github Actions] [![Python version]][PyPI] [![Release version]][Release url] [![PyPi version]][PyPI] [![AUR version]][AUR]\n\n`Mirror` is an open source python application for mirror site (e.g. [mirror.bjtu.edu.cn](https://mirror.bjtu.edu.cn)) to sync files from upstreams (it uses [rsync](http://rsync.samba.org/) internally), it actually works like a [cron](http://en.wikipedia.org/wiki/Cron), but still has some differences. It has been served for mirror.bjtu.edu.cn with more than 40 rsync [tasks](https://mirror.bjtu.edu.cn).\n\nYou are welcome to send comments, patches and any others to [github](https://github.com/ideal/mirror/issues) or to [@idealities](http://twitter.com/idealities).\n\nHomepage: https://mirror.bjtu.edu.cn\n\nAuthors\n=======\n\n* Shang Yuanchun\n* Bob Gao\n* Chestnut\n\nFor contributors and past developers see: \n    AUTHORS\n\nInstallation Instructions\n=========================\n\n## Install from PyPI\n\nYou can install `mirror` by running pip:\n\n```bash\n$ sudo pip install mirror\n```\n\n## Install from source\n\nOr if you want to build and install from source:\n\n```bash\n$ python setup.py build\n$ sudo python setup.py install\n```\n\n## Config and running\n\nAfter that, you are going to set up environment, you are encouraged to add a specific user to run `mirrord`, here we suppose the username is `mirror` and its home directory is `/home/mirror`.\n\nMake necessary directories:\n\n```bash\n$ sudo chown mirror:mirror /var/log/mirrord /var/log/rsync\n$ sudo mkdir /etc/mirror\n$ sudo cp config/mirror.ini /etc/mirror/\n```\n\nNow you can edit mirror.ini to fit your needs and run:\n```bash\n$ mirrord\n```\nand that's done. Also you can use `man mirrord` or `mirrord -h` to read the documents.\n\nIf `mirrord` is running, you can run:\n```bash\n$ mirrord -t\n```\nto show the current task queue.\n\n\u003cimg src=\"http://ideal.github.io/mirror/images/tasks.png\" alt=\"screenshot\" /\u003e\n\nContact/Support\n===============\n\nEmail: idealities@gmail.com\n\nFeatures\n========\n\n * It's simple and easy to add a mirror\n * You can set a priorty for each mirror, from 1 to 10, 1 is highest\n * And scheduler will schedule a task depending on current conditions\n * You can also set a timeout for each mirror\n * Support for two stage syncing (for ubuntu, debian)\n * You can also use it as another cron...\n\n[Build Status Old]: https://img.shields.io/travis/ideal/mirror/master.svg?logo=travis-ci\n[Build Status]:     https://img.shields.io/github/workflow/status/ideal/mirror/Mirror%20test?logo=github\n[Github Actions]:   https://github.com/ideal/mirror/actions\n[Travis CI]:        https://travis-ci.org/ideal/mirror\n[Release version]:  https://img.shields.io/github/release/ideal/mirror.svg?logo=github\n[Release url]:      https://github.com/ideal/mirror/releases/latest\n[Python version]:   https://img.shields.io/pypi/pyversions/mirror.svg?logo=python\n[PyPI version]:    https://img.shields.io/pypi/v/mirror.svg?logo=python\n[PyPI]:            https://pypi.python.org/pypi/mirror\n[AUR version]:     https://img.shields.io/aur/version/mirror.svg?logo=arch-linux\n[AUR]:             https://aur.archlinux.org/packages/mirror\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fideal%2Fmirror","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fideal%2Fmirror","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fideal%2Fmirror/lists"}