Skip to main content

Sweep old call recordings on /sdcard with trash + restore.

Project description

Call Cleaner

tests

Sweep old call recordings on your Android phone (/sdcard/...) into a 30-day trash, then auto-purge. Designed for OnePlus + other Android phones running Termux. Includes a curses TUI, native scheduling via termux-job-scheduler, and Android notifications via Termux:API.

Install on a OnePlus phone (or any Android with Termux)

Prerequisites:

Then in Termux:

curl -fsSL https://raw.githubusercontent.com/trehansalil/call-cleaner/main/install.sh | bash

The installer will:

  1. Verify storage permission.
  2. Install Python, git, termux-api.
  3. Clone Call Cleaner.
  4. Auto-detect known call-recording folders (OnePlus, Samsung, Xiaomi, Google).
  5. Offer to register the daily background job.

After install:

cleaner doctor          # verify health
cleaner scan            # dry-run preview
cleaner run             # actually trash old files
cleaner trash list      # see what's in trash
cleaner trash restore <id>
cleaner tui             # curses interactive UI

See INSTALL.md for manual install steps if you prefer not to curl-pipe.

What it does

  • Scans configured folders on /sdcard for audio files older than N days.
  • Moves matching files to /sdcard/.CallCleanerTrash/ with sidecar JSON metadata (so restore is just a rename).
  • Auto-purges anything in trash for more than 30 days.
  • Fires Android notifications on completion (and on low storage).
  • Skips runs when battery is low or battery-saver is on.

Configuration

Lives at ~/.config/call-cleaner/config.toml. Edit with cleaner config edit. Example:

default_preset = "default"

[trash]
dir = "/sdcard/.CallCleanerTrash"
retention_days = 30

[paths]
calls = "/sdcard/Music/Recordings/Call Recordings"

[[preset.default.rules]]
folder = "@calls"
age_days = 90
action = "trash"

[[preset.aggressive.rules]]
folder = "@calls"
age_days = 14
action = "trash"

Power-user / Linux install (PRoot Ubuntu, generic Linux)

For developers, contributors, or users running inside a proot-distro Ubuntu rather than native Termux:

git clone https://github.com/trehansalil/call-cleaner
cd call-cleaner
python3 -m venv .venv
make dev
make test
make install      # writes /usr/local/{bin,share,lib}

Then cleaner config init && cleaner install-schedule.

License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

call_cleaner-0.2.0.tar.gz (30.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

call_cleaner-0.2.0-py3-none-any.whl (22.2 kB view details)

Uploaded Python 3

File details

Details for the file call_cleaner-0.2.0.tar.gz.

File metadata

  • Download URL: call_cleaner-0.2.0.tar.gz
  • Upload date:
  • Size: 30.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for call_cleaner-0.2.0.tar.gz
Algorithm Hash digest
SHA256 a1fd5b062566222c723e920f8c83d5dc13a21c30b70448be97cb69bf475cfb8e
MD5 4e5f83974b0bb1f0932411d0556b02c0
BLAKE2b-256 ab652e591c67d4411994f079a8675eba0975f3a24ff7985403f93b6015e36b9a

See more details on using hashes here.

Provenance

The following attestation bundles were made for call_cleaner-0.2.0.tar.gz:

Publisher: release.yml on trehansalil/call-cleaner

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file call_cleaner-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: call_cleaner-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 22.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for call_cleaner-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a607cee00af04df9dc2fbecc94a6897003a9d2ec45275b9b6ce2f3c8ee6c5592
MD5 208f263cc5d2913b84755c11b00e6759
BLAKE2b-256 323f961f0ca1c99ff0e65fca3131889c598d9b7fa22f267d0c6c26a6db36b05a

See more details on using hashes here.

Provenance

The following attestation bundles were made for call_cleaner-0.2.0-py3-none-any.whl:

Publisher: release.yml on trehansalil/call-cleaner

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page