| Tip of the day: The antirandom module can be a useful tool to block clients with random looking nicks. |
JSON-RPC:Connthrottle
Jump to navigation
Jump to search
JSON Methods
- rpc:
set_issuer,info,add_timer,del_timer - stats:
get - log:
send,list,subscribe,unsubscribe - user:
list,get,set_nick,set_username,set_realname,set_vhost,set_mode,set_snomask,set_oper - whowas:
get - server:
list,get,rehash,connect,disconnect - channel:
list,get,set_mode,set_topic,kick - server_ban:
list,get,add,del - server_ban_exception:
list,get,add,del - spamfilter:
list,get,add,del - name_ban:
list,get,add,del - message:
send_privmsg,send_notice,send_numeric,send_standard_reply - connthrottle:
status,set,reset, - security_group:
list,get
JSON Basics
The connthrottle.* JSON RPC calls allow you to control the Connthrottle module. Such as seeing the status and enabling/disabling the protection.
Below is the API for UnrealIRCd 6.2.3+. In UnrealIRCd 6.2.2 there also was a preliminary API but in 6.2.2 connthrottle.set did not work and connthrottle.status used different fields / a different structure.
API Calls
connthrottle.status
Get Connthrottle status.
Request arguments
None
Response
Returns connthrottle settings.
Example:
{
"jsonrpc": "2.0",
"method": "connthrottle.status",
"id": 123,
"result": {
"enabled": true,
"throttling_this_minute": false,
"throttling_previous_minute": false,
"state": "monitoring",
"start_delay_remaining": 0,
"reputation_gathering": false,
"counters": {
"local_count": 0,
"global_count": 0
},
"stats_last_minute": {
"rejected_clients": 0,
"allowed_except": 0,
"allowed_unknown_users": 0
},
"config": {
"local_throttle_count": 20,
"local_throttle_period": 60,
"global_throttle_count": 30,
"global_throttle_period": 60,
"start_delay": 180,
"except": {
"identified": true,
"reputation_score": 24
}
}
}
}
Most of these fields should speak for themselves, but some additional info:
- enabled: if this is false, the entire module is disabled (THROTTLE OFF) and won't monitor nor take any action
- state can be one of
monitoring: module is actively monitoring but not blocking anyone (normal operations)throttling: module is actively throttling connections (under attack)disabled_by_oper: module is disabled (THROTTLE OFF)start_delay: server just booted up (set::connthrottle::disabled-when::start-delay), module will not monitor nor take any action.reputation_gathering: server is relatively new and does not have a good database with reputation scores yet (set::connthrottle::disabled-when::reputation-gathering), module will not monitor nor take any action.
connthrottle.set
Set Connthrottle protection.
Request arguments
Mandatory:
- enabled:
onoroff
Response
{
"jsonrpc": "2.0",
"method": "connthrottle.set",
"id": 1,
"result": {
"success": true,
"enabled": "false",
}
}
connthrottle.reset
Reset Connthrottle counters and timers.
Request arguments
None
Response
{
"jsonrpc": "2.0",
"method": "connthrottle.reset",
"id": 1,
"result": {
"success": true
}
}