{"id":15684423,"url":"https://github.com/syucream/ts_mruby","last_synced_at":"2025-05-07T16:05:14.295Z","repository":{"id":16493746,"uuid":"19246434","full_name":"syucream/ts_mruby","owner":"syucream","description":"Enchant Apache Traffic Server with mruby power.","archived":false,"fork":false,"pushed_at":"2016-12-29T17:53:05.000Z","size":197,"stargazers_count":10,"open_issues_count":15,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-07T16:04:16.935Z","etag":null,"topics":["mruby"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/syucream.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}},"created_at":"2014-04-28T16:56:01.000Z","updated_at":"2023-08-30T05:19:40.000Z","dependencies_parsed_at":"2022-08-25T15:41:56.937Z","dependency_job_id":null,"html_url":"https://github.com/syucream/ts_mruby","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syucream%2Fts_mruby","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syucream%2Fts_mruby/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syucream%2Fts_mruby/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syucream%2Fts_mruby/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/syucream","download_url":"https://codeload.github.com/syucream/ts_mruby/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252912993,"owners_count":21824065,"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":["mruby"],"created_at":"2024-10-03T17:16:29.030Z","updated_at":"2025-05-07T16:05:14.241Z","avatar_url":"https://github.com/syucream.png","language":"C++","readme":"ts_mruby\n========\n\n[![Build Status](https://travis-ci.org/syucream/ts_mruby.svg?branch=ci)](https://travis-ci.org/syucream/ts_mruby)\n[![Coverage Status](https://coveralls.io/repos/github/syucream/ts_mruby/badge.svg?branch=master)](https://coveralls.io/github/syucream/ts_mruby?branch=master)\n\nEnchant Apache Traffic Server with mruby power.\n\nwhat's ts_mruby?\n================\n\n**ts_mruby is an Apache Traffic Server plugin that provides more flexible and extensible server configuration.** You can write the configuration by mruby, and use mrbgems modules. ... And maybe the plugin support common syntax as part of the mod_mruby and ngx_mruby.\n\nSee [Wiki](https://github.com/syucream/ts_mruby/wiki) for more documents.\n\nRequirements\n============\n\n* C++11\n\n* Apache Traffic Server \u003e= 4.2.x with atscppapi\n\n  * To enable atscppapi, you should give the below option when you execute ./configure\n\n```\n./configure --enable-cppapi\n```\n\n* mruby\n\nExamples\n========\n\nFor example, you can write an ip filtering logic by using mruby like DSL:\n\n```ruby\nwhitelist = [\n  \"127.0.0.1\"\n]\n\n# deny if client IP is listed in whitelist\nconn = ATS::Connection.new\nunless whitelist.include?(conn.remote_ip)\n  ATS::echo \"Your access is not allowed ...\"\n  ATS::return ATS::HTTP_FORBIDDEN\nend\n```\n\nQuickstart\n==========\n\nusing Docker\n-------------\n\n* Example docker image has already published to Docker Hub. The image contains a test script(simply responds by ATS::echo), so you can test ts_mruby quickly:\n\n```\n$ docker pull syucream/ts_mruby\n$ docker run -it syucream/ts_mruby /bin/bash\nroot@ad7a82be8a65:/opt# trafficserver start\nroot@ad7a82be8a65:/opt# curl http://localhost:8080/\nts_mruby test\n```\n\nusing Homebrew\n---------------\n\n* If you're a Mac OS X user, you can use Homebrew to install ts_mruby:\n\n```\n$ brew install https://raw.githubusercontent.com/syucream/ts_mruby/master/Formula/trafficserver-atscppapi.rb\n$ brew install --HEAD https://raw.githubusercontent.com/syucream/ts_mruby/master/Formula/ts_mruby.rb\n```\n\n\nAcknowledgement\n===============\nSome components for mruby in this repository and sample scripts refer to [mod_mruby](https://github.com/matsumoto-r/mod_mruby) and [ngx_mruby](https://github.com/matsumoto-r/ngx_mruby)'s one under the MIT License.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyucream%2Fts_mruby","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsyucream%2Fts_mruby","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyucream%2Fts_mruby/lists"}