{"id":27863278,"url":"https://github.com/begeekmyfriend/smithsnmp","last_synced_at":"2026-03-04T18:02:45.760Z","repository":{"id":29711544,"uuid":"33254511","full_name":"begeekmyfriend/smithsnmp","owner":"begeekmyfriend","description":"SNMP agent for monitoring","archived":false,"fork":false,"pushed_at":"2023-09-20T11:02:41.000Z","size":6427,"stargazers_count":31,"open_issues_count":2,"forks_count":17,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-05-04T20:48:11.439Z","etag":null,"topics":["lua","snmp","snmp-agent","snmp-devices","snmpv2-trap"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/begeekmyfriend.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":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2015-04-01T15:07:31.000Z","updated_at":"2024-04-09T08:31:49.000Z","dependencies_parsed_at":"2025-05-04T20:57:33.017Z","dependency_job_id":null,"html_url":"https://github.com/begeekmyfriend/smithsnmp","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/begeekmyfriend/smithsnmp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/begeekmyfriend%2Fsmithsnmp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/begeekmyfriend%2Fsmithsnmp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/begeekmyfriend%2Fsmithsnmp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/begeekmyfriend%2Fsmithsnmp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/begeekmyfriend","download_url":"https://codeload.github.com/begeekmyfriend/smithsnmp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/begeekmyfriend%2Fsmithsnmp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30088339,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T15:40:14.053Z","status":"ssl_error","status_checked_at":"2026-03-04T15:40:13.655Z","response_time":59,"last_error":"SSL_read: 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":["lua","snmp","snmp-agent","snmp-devices","snmpv2-trap"],"created_at":"2025-05-04T20:47:17.394Z","updated_at":"2026-03-04T18:02:45.747Z","avatar_url":"https://github.com/begeekmyfriend.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SmithSNMP -- Customize your private MIBs in Lua \n\n[![Build Status](https://travis-ci.org/begeekmyfriend/smithsnmp.svg?branch=master)](https://travis-ci.org/begeekmyfriend/smithsnmp)\n\nSmithSNMP is a fork from [SmartSNMP](https://github.com/credosemi/smartsnmp)\nwith more advanced features ahead such as SNMPv3, encryption and SNMPv2 trap.\nJust like the character in the famous science fiction movie Matrix, Agent Smith,\nwith great power and is programmed to keep the system in order.\n\nSmithSNMP is an easy-config agent supporting SNMP v1/v2c/v3 and AgentX\nprotocol. It is written in C99 and Lua5.1. It can be run on general Linux and\nBSD platforms as well as embedded systems like OpenWRT. The agent can not only\nbe compatible with command utilities but also SNMPv2 trap daemon of Net-SNMP.\n\n## License\n\nSmithSNMP is licensed under GPLv2 with \"PRIVATE MIB\" EXCEPTION, see `LICENSE` \nfile for more details.\n\n## Configuration\n\nThe biggest bonus of this agent is that private MIBs in Lua are allowed to be\ncustomized and in hot-loading in `config` and `mibs` directory.\n\n## Build\n\nAs for Ubuntu, you should install libraries such as:\n\n    # lua5.1\n    sudo apt-get install -y lua5.1 liblua5.1-0-dev\n\n    # scons\n    sudo apt-get install -y scons\n\n    # luarocks\n    sudo apt-get install -y luarocks\n\n    # clone with git\n    git clone https://github.com/begeekmyfriend/smithsnmp.git\n\nFor more build options, type:\n\n    scons --help\n\nYou will get:\n\n    ... SCons Options ...\n    Local Options:\n      --with-agentx               enable agentx feature you want to use\n      --without-trap              disable trap feature you do not want to use\n      --without-crypto            disable crypto feature you do not want to use\n      --without-md5               disable MD5 feature you do not want to use\n      --without-sha               disable SHA feature you do not want to use\n      --without-aes               disable AES feature you do not want to use\n      --evloop=[select|kqueue|epoll]\n                                  select event loop model\n      --with-cflags=CFLAGS        use CFLAGS as compile time arguments (will\n                                    ignore CFLAGS env)\n      --with-ldflags=LDFLAGS      use LDFLAGS as link time arguments to ld (will\n                                    ignore LDFLAGS env)\n      --with-libs=LIBS            use LIBS as link time arguments to ld\n      --with-liblua=DIR           use liblua in DIR\n\nYou can specify options above you need to build the project.\n\nFor luarocks build, type:\n\n    sudo luarocks build smithsnmp-scm-1.rockspec\n\n## Test\n\nThere are three test modes.\n\n### SNMP Agent Mode\n\nIn this mode the agent is running as an independent agent and process SNMP\ndatagrams from the clients.\n\nAny SNMP daemon installed in your system should be shut down before testing.\n\n    sudo /etc/init.d/snmpd stop\n\nWe start SmithSNMP as a daemon:\n\n    cd /usr/local/lib/luarocks/rocks/smithsnmp/scm-1\n    sudo ./tests/snmp_daemon.sh\n\nAnd then run the testcases:\n\n    ./tests/testcases.sh\n\n### AgentX agent mode\n\nIn this mode the agent is running as a sub-agent while Net-SNMP as the\nmaster agent from which AgentX datagrams will be received. So we need to\ndownload `NET-SNMP-5.7.3` source and build out the images under `tests`\ndirectory:\n\n    cd /usr/local/lib/luarocks/rocks/smithsnmp/scm-1\n    sudo ./tests/netsnmp_build.sh\n\nAnd then start Net-SNMP as the master agent:\n\n    sudo ./tests/netsnmpd.sh\n\nAnd then start SmithSNMP as a sub-agent:\n\n    sudo ./tests/agentx_daemon.sh\n\nAnd then run the testcases:\n\n    ./tests/testcases.sh\n\n### SNMP Trap Mode\n\nEspecially if you want to test SNMP trap feature, start `snmptrapd` on the\ndefault port 162:\n\n    cd /usr/local/lib/luarocks/rocks/smithsnmp/scm-1\n    sudo ./tests/netsnmptrapd.sh\n\nNow enable the trap feature when SmithSNMP is running as an agent on the\ndefault port 161):\n\n    snmpset -v2c -cprivate localhost .1.3.6.1.6.3.1.1.4.42.0 t 100\n\nAnd you can disable the trap feature any time as you like:\n\n    snmpset -v2c -cprivate localhost .1.3.6.1.6.3.1.1.4.42.0 t 0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbegeekmyfriend%2Fsmithsnmp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbegeekmyfriend%2Fsmithsnmp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbegeekmyfriend%2Fsmithsnmp/lists"}