{"id":13508957,"url":"https://github.com/bearice/elixir-radius","last_synced_at":"2026-02-20T00:31:57.390Z","repository":{"id":22481251,"uuid":"25820375","full_name":"bearice/elixir-radius","owner":"bearice","description":"RADIUS Protocol on Elixir","archived":false,"fork":false,"pushed_at":"2023-06-14T13:46:05.000Z","size":260,"stargazers_count":15,"open_issues_count":0,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-21T16:03:36.362Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Elixir","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/bearice.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}},"created_at":"2014-10-27T13:29:22.000Z","updated_at":"2024-06-04T15:28:06.000Z","dependencies_parsed_at":"2024-01-08T19:22:16.986Z","dependency_job_id":null,"html_url":"https://github.com/bearice/elixir-radius","commit_stats":{"total_commits":41,"total_committers":3,"mean_commits":"13.666666666666666","dds":"0.36585365853658536","last_synced_commit":"cbfb612957eec6afd3bf0c7839c2df1158fb2e0d"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/bearice/elixir-radius","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bearice%2Felixir-radius","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bearice%2Felixir-radius/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bearice%2Felixir-radius/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bearice%2Felixir-radius/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bearice","download_url":"https://codeload.github.com/bearice/elixir-radius/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bearice%2Felixir-radius/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29637410,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T22:32:43.237Z","status":"ssl_error","status_checked_at":"2026-02-19T22:32:38.330Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2024-08-01T02:01:00.984Z","updated_at":"2026-02-20T00:31:57.371Z","avatar_url":"https://github.com/bearice.png","language":"Elixir","funding_links":[],"categories":["Protocols"],"sub_categories":[],"readme":"elixir-radius\n=============\n\n[![CI](https://github.com/bearice/elixir-radius/actions/workflows/elixir.yml/badge.svg)](https://github.com/bearice/elixir-radius/actions/workflows/elixir.yml) [![Hex.pm version](https://img.shields.io/hexpm/v/elixir_radius.svg?style=flat)](https://hex.pm/packages/elixir_radius)\n\nRADIUS protocol encoding and decoding\n\nExample\n-------\n```Elixir\n#wrapper of gen_udp\n{:ok,sk} = Radius.listen 1812\n\nloop = fn(loop)-\u003e\n  #secret can be a string or a function returning a string\n  #{:ok,host,p} = Radius.recv sk,\"123\"\n  {:ok,host,p} = Radius.recv sk,fn(_host) -\u003e secret end\n\n  IO.puts \"From #{inspect host} : \\n#{inspect p, pretty: true}\"\n\n  resp = %Radius.Packet{code: \"Access-Reject\", id: p.id, secret: p.secret}\n  Radius.send_reply(sk, host, resp, p.auth)\n\n  loop.(loop)\nend\nloop.(loop)\n```\n\nDictionary configuration\n--------------------\n\n\nVendor specific dictionaries are compiled into a specific vendor module. Generic attributes and values\nare compiled into `Radius.Dict`. If you add the \"cisco\" dictionary you will get the module `Radius.Dict.VendorCisco`.\n\n```Elixir\nconfig :elixir_radius,\n  included_dictionaries: [\"rfc2865\", \"rfc2868\", \"rfc2869\", \"cisco\"]\n```\n\nNOTE: By default, this library will compile all known vendors, which is quite slow, but had maxium compatibility with old versions. If you dont need them, please use above config to select what to be compiled.\n\nYou can also add your own dictionaries by providing the paths to `:elixir_radius` in `:extra_dictionaries`\n\n```Elixir\nconfig :elixir_radius,\n  extra_dictionaries: [\"path_to_your_dictionary\"]\n```\n\nMacros\n------\n\n`Radius.Dict` exposes a set of macro's so you can construct AVPs and let the compiler confirm the\nattributes and save time during runtime.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbearice%2Felixir-radius","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbearice%2Felixir-radius","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbearice%2Felixir-radius/lists"}