{"id":24460880,"url":"https://github.com/cgzones/apt-cacher-rs","last_synced_at":"2026-03-11T19:15:16.689Z","repository":{"id":273222793,"uuid":"919035591","full_name":"cgzones/apt-cacher-rs","owner":"cgzones","description":"proxy cache for Debian package mirrors","archived":false,"fork":false,"pushed_at":"2025-05-01T05:20:56.000Z","size":166,"stargazers_count":0,"open_issues_count":4,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-06T00:07:13.093Z","etag":null,"topics":["apt","cache","debian","packages","proxy","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/cgzones.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":"2025-01-19T14:49:06.000Z","updated_at":"2025-04-27T17:43:51.000Z","dependencies_parsed_at":"2025-01-19T15:39:49.220Z","dependency_job_id":"254e6fce-242e-4e00-ab82-94972c8a58e1","html_url":"https://github.com/cgzones/apt-cacher-rs","commit_stats":null,"previous_names":["cgzones/apt-cacher-rs"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cgzones%2Fapt-cacher-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cgzones%2Fapt-cacher-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cgzones%2Fapt-cacher-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cgzones%2Fapt-cacher-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cgzones","download_url":"https://codeload.github.com/cgzones/apt-cacher-rs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252596399,"owners_count":21773844,"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":["apt","cache","debian","packages","proxy","rust"],"created_at":"2025-01-21T04:15:43.451Z","updated_at":"2026-03-02T22:23:07.865Z","avatar_url":"https://github.com/cgzones.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# apt-cacher-rs\n\n[![Version info](https://img.shields.io/crates/v/apt-cacher-rs.svg)](https://crates.io/crates/apt-cacher-rs)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE?raw=true)\n\n`apt-cacher-rs` is a simple caching proxy daemon for Debian style repositories.\nIt is inspired by and an alternative to [`apt-cacher`](https://salsa.debian.org/LeePen/apt-cacher) and [`apt-cacher-ng`](https://www.unix-ag.uni-kl.de/~bloch/acng/).\n\n## Build the Debian package\n\nBefore you can compile apt-cacher-rs or create a Debian package, the following commands must be run once:\n\n```\napt-get -y install dpkg-dev liblzma-dev\ncargo install cargo-deb\n```\n\nThen run the following command to build the Debian package in `target/debian/apt-cacher-rs.deb`:\n\n```\ncargo deb\n```\n\n## How to use\n\nInstall the Debian package via dpkg on a local network server and add the following configuration file on every client system that should utilize the proxy:\n\n*/etc/apt/apt.conf.d/30proxy*\n```\nAcquire::http::Proxy \"http://\u003cproxy_ip\u003e:3142/\";\n```\n\nIf your sources contain HTTPS repositories you like to cache as well, change their URL schema to *http://* to cache their packages.\nNote that connections from the client to the proxy are unencrypted (but all packages are by default verified by `apt(8)` after download to have a valid GPG signature).\n\n## Web interface\n\n`apt-cacher-rs` contains a minimal web interface for some statistics at *`http://\u003cproxy-ip\u003e:3142/`*, and important logs can be viewed at *`http://\u003cproxy-ip\u003e:3142/logs`*.\n\n## Cleanup\n\nPackages in the cache that are no longer referenced by any known upstream repository are pruned every 24h, unless they have been downloaded less than 3 days ago.\nThe list of known upstream repositories is gathered by inspecting proxied package list requests (i.e. by *apt update*).\nThe cleanup can also be manually triggered by sending the signal `USR1` to the `apt-cacher-rs` process.\n\n## TLS\n\nBy default [`rustls`](https://github.com/rustls/rustls) is used as TLS backend.\nTo use the system provided TLS implementation disable default cargo features and enable the cargo feature `tls_hyper`.\n\n## Security\n\nThe proxy interface should not be made public available to the internet or completely untrusted clients.\nThat could lead to Denial of Service issues, like congesting the network traffic or exhausting the filesystem's capacity.\n\n## License\n\n[MIT License](LICENSE?raw=true)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcgzones%2Fapt-cacher-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcgzones%2Fapt-cacher-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcgzones%2Fapt-cacher-rs/lists"}