{"id":25668134,"url":"https://github.com/kfischer-okarin/oblivion","last_synced_at":"2025-08-20T04:15:26.209Z","repository":{"id":56886091,"uuid":"289226270","full_name":"kfischer-okarin/oblivion","owner":"kfischer-okarin","description":"A ruby code uglifier","archived":false,"fork":false,"pushed_at":"2020-09-04T07:45:26.000Z","size":153,"stargazers_count":12,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-28T06:11:29.811Z","etag":null,"topics":["dragonruby","obfuscation","ruby","uglify"],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/kfischer-okarin.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-08-21T09:06:30.000Z","updated_at":"2021-03-11T18:30:43.000Z","dependencies_parsed_at":"2022-08-20T13:50:57.365Z","dependency_job_id":null,"html_url":"https://github.com/kfischer-okarin/oblivion","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/kfischer-okarin/oblivion","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kfischer-okarin%2Foblivion","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kfischer-okarin%2Foblivion/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kfischer-okarin%2Foblivion/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kfischer-okarin%2Foblivion/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kfischer-okarin","download_url":"https://codeload.github.com/kfischer-okarin/oblivion/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kfischer-okarin%2Foblivion/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271263135,"owners_count":24728982,"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","status":"online","status_checked_at":"2025-08-20T02:00:09.606Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["dragonruby","obfuscation","ruby","uglify"],"created_at":"2025-02-24T10:28:42.272Z","updated_at":"2025-08-20T04:15:26.171Z","avatar_url":"https://github.com/kfischer-okarin.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Oblivion\n\n[![Gem Version](https://badge.fury.io/rb/oblivion.svg)](https://badge.fury.io/rb/oblivion)\n[![ci](https://circleci.com/gh/kfischer-okarin/oblivion.svg?style=svg)](https://app.circleci.com/pipelines/github/kfischer-okarin/oblivion?branch=master)\n[![codecov](https://codecov.io/gh/kfischer-okarin/oblivion/branch/master/graph/badge.svg)](https://codecov.io/gh/kfischer-okarin/oblivion)\n\n\nOblivion minimizes and obfuscates Ruby source code by:\n* randomly but consistently renaming private methods, local variables and unexposed instance variables\n* Replacing all whitespace with semicolons\n\n## Limitations\n\nAt the moment two types of inputs are supported:\n* Single Ruby source code files without dependencies\n* [DragonRuby Game Toolkit](https://dragonruby.itch.io/dragonruby-gtk) projects\n\nThe compiled source code will be written to standard output.\n\n## Usage\n\nInstall the gem\n\n```\ngem install oblivion\n```\n\n### Uglify a Ruby file\n\n```\noblivion ruby my_million_dollar_algorithm.rb \u003e ready_for_publishing.rb\n```\n\n### Uglify a DragonRuby game project\n\n```\noblivion dragonruby ./games/light_souls \u003e ./games/light_souls/app/compiled.rb\n```\n\nThis will read your game's `app/main.rb` prepend all required files in order before compiling the source code.\n\nIn the case of the above example you could then move all your old source code out of the project and replace with a `app/main.rb` containing your compiled output.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkfischer-okarin%2Foblivion","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkfischer-okarin%2Foblivion","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkfischer-okarin%2Foblivion/lists"}