mckaygerhard
ad6e49f63f
* set the improved version of ip check, using apikey, if the apikey is not set or empty, it will use simple geoip * the command `govip` will check ip in all ways, if error, i will suggest to try `geoip` command * for geoip comman, no matter if mod its present or not.. it will detect geoip mod and provide command and log for * registered geoip privilegie if geoip mod is not present * registered governing privilegie * license of code and license headers * improve README documentation
108 lines
3.4 KiB
Markdown
108 lines
3.4 KiB
Markdown
minetest mod governing
|
|
======================
|
|
|
|
ADMIN mod, light version of various mods and extra tool for manage server
|
|
|
|
Information
|
|
-----------
|
|
|
|
@mckaygerhard PICCORO's improvement administration combo and commands for minetest
|
|
|
|
## Technical info
|
|
-----------------
|
|
|
|
This mod attempts to be an improvement administration combo, but minimized
|
|
as a light version of some other tools like geoip, names-per-ip, antigrif, antihack,
|
|
etc etc etc
|
|
|
|
Repository : https://git.minetest.io/minenux/minetest-mod-governing
|
|
|
|
#### Configurations
|
|
|
|
| config param | value | req | default | example |
|
|
| --------------------- | ---------- | --- | -------- | -------------------------------- |
|
|
| secure.http_mods | governing | yes | none set | geoip,governing |
|
|
| secure.trusted_mods | governing | yes | none set | auth_rx,governing |
|
|
| governing.checkapikey | `<string>` | yes | none set | 177cd4797a4949c4b1114d2e4ab9af11 |
|
|
|
|
The `governing.checkapikey` string is requested by registering a free (or paid)
|
|
account at https://vpnapi.io/ and **if not configured, will be used a simple geoip request**.
|
|
|
|
1. its powered by [VPNapi.io IP VPN & Proxy Detection API](https://vpnapi.io/api-documentation)
|
|
2. but if apykey is not set, its powered by [IP Location Finder by KeyCDN](https://tools.keycdn.com/geo)
|
|
|
|
#### Commands
|
|
|
|
| command & format | permission | description function | observations |
|
|
| --------------------- | --------- | ----------------------- | ----------------------- |
|
|
| `/killme` | interact | kill yourselft | no matter if killme mod is present or not |
|
|
| `/govip <playername>` | governing | complete ip player info | Will require keyapi configuration set |
|
|
| `/geoip <playername>` | geoip | simple ip player info | no matter if geoip mod is present or not |
|
|
|
|
|
|
#### privs
|
|
|
|
* `geoip` can make a geoip query, no matter if geoip mod is present or missing
|
|
* `governing` can run administration command like ip check
|
|
|
|
#### Api
|
|
|
|
```lua
|
|
-- lookup command
|
|
governing.checkip("213.152.186.35", function(result)
|
|
-- see "Check ip information data"
|
|
end)
|
|
|
|
-- overrideable callback on player join
|
|
governing.joinplayer_callback = function(playername, result)
|
|
-- see "Check ip information result data"
|
|
end
|
|
```
|
|
|
|
Check IP information on data:
|
|
|
|
```json
|
|
{
|
|
"ip": "8.8.8.8",
|
|
"security": {
|
|
"vpn": false,
|
|
"proxy": false,
|
|
"tor": false,
|
|
"relay": false,
|
|
},
|
|
"location": {
|
|
"city": "",
|
|
"region": "",
|
|
"country": "United States",
|
|
"continent": "North America",
|
|
"region_code": "",
|
|
"country_code": "US",
|
|
"continent_code": "NA",
|
|
"latitude": "37.7510",
|
|
"longitude": "-97.8220",
|
|
"time_zone": "America/Chicago",
|
|
"locale_code": "en",
|
|
"metro_code": "",
|
|
"is_in_european_union": false
|
|
},
|
|
"network": {
|
|
"network": "8.8.8.0/24",
|
|
"autonomous_system_number": "AS15169",
|
|
"autonomous_system_organization": "GOOGLE"
|
|
}
|
|
}
|
|
```
|
|
|
|
## LICENSE
|
|
|
|
Copyright (C) 2023 mckaygerhard <mckaygerhard@gmail.com> CC-BY-SA-NC 4.0
|
|
|
|
Copyright (C) 2023 mckayshirou <mckayshirou@gmail.com> CC-BY-SA-NC 4.0
|
|
|
|
It applies CC-BY-SA-NC 4.0 unless you ask to request permission
|
|
with special conditions. The ipcheck idea, the mod inclusion,
|
|
can be distributed if the URL of repo are not altered when promotes.
|
|
|
|
URL : https://git.minetest.io/minenux and http://minetest.org
|
|
|