telize

High performance JSON IP and GeoIP REST API (IP Geolocation)
Log | Files | Refs | README | LICENSE

README.md (3232B)


      1 
      2                                t  e  l  i  z  e
      3                            _______________________
      4                      ______\                     /_______
      5                     \\     \\           ___     //      /
      6                __    \ ____  \   __    /   \   _____/\ / ____
      7            ___/  \____/  _//____/  \___\___/___\__   /__/  _//____
      8           \\__    ____  __/  __     __      ____    ____  __/  __///
      9             /      \_   |/    \_     /       \/     /_/   |/    \_
     10           \\\   ___/\___       /____/\_______/\   ___/\___       /
     11       <0(--- \__/ -h7- \______/   \       .    \__/ ---- \______/ --(0>
     12                            \      .\     /.      .
     13                             \      .\   //      /
     14                              \______\\ //______/
     15                                       Y
     16 
     17 ## Description
     18 
     19 Telize is a REST API built in C with Kore allowing to get a visitor IP
     20 address and to query location information from any IP address. It outputs
     21 JSON-encoded IP geolocation data, and supports both JSON and JSONP.
     22 
     23 Geolocation operations are performed using libmaxminddb which caches the
     24 database in RAM. Therefore, Telize has very minimal overhead and should
     25 be blazing fast.
     26 
     27 ## Requirements
     28 
     29 ### Dependencies
     30 
     31 Telize requires [Kore][1] 3.2.0+ and [libmaxminddb][2].
     32 
     33 ### GeoIP2 databases
     34 
     35 Telize requires the free [GeoLite2 databases][3] from MaxMind.
     36 
     37 The `GeoLite2 City` and `GeoLite2 ASN` databases files should be placed
     38 in `/var/db/GeoIP`.
     39 
     40 ## Building
     41 
     42 Using the kodev tool:
     43 
     44 	kodev build
     45 
     46 ## Configuration
     47 
     48 ## Running
     49 
     50 Using the kodev tool:
     51 
     52 	kodev run
     53 
     54 ## Access and Error logs
     55 
     56 The default Telize configuration does not have logging enabled, it must be
     57 configured manually.
     58 
     59 If your Telize instance produces lots of logs, [Logswan][4] might be of
     60 interest.
     61 
     62 ## Telize and proxies
     63 
     64 ## CORS Support (Cross-origin resource sharing)
     65 
     66 Telize has CORS enabled by default with the following policy:
     67 
     68 	Access-Control-Allow-Origin: *
     69 
     70 ## Usage
     71 
     72 For complete API documentation and usage examples, please check the
     73 project site.
     74 
     75 ### Get IP address in Plain text format
     76 
     77 - Example: http://127.0.0.1/ip
     78 
     79 ### Get IP address in JSON format
     80 
     81 - Example (JSON): http://127.0.0.1/jsonip
     82 - Example (JSONP): http://127.0.0.1/jsonip?callback=getip
     83 
     84 ### Get IP address location in JSON format
     85 
     86 Calling the API endpoint without any parameter will return the visitor
     87 IP address:
     88 
     89 - Example (JSON): http://127.0.0.1/location
     90 - Example (JSONP): http://127.0.0.1/location?callback=getgeoip
     91 
     92 Appending an IP address as parameter will return location information for
     93 the given address:
     94 
     95 - Example (JSON): http://127.0.0.1/location/46.19.37.108
     96 - Example (JSONP): http://127.0.0.1/location/46.19.37.108?callback=getgeoip
     97 
     98 ## License
     99 
    100 Telize is released under the BSD 2-Clause license. See `LICENSE` file
    101 for details.
    102 
    103 ## Author
    104 
    105 Telize is developed by Frederic Cambus.
    106 
    107 - Site: https://www.cambus.net
    108 
    109 ## Resources
    110 
    111 Project homepage: https://www.telize.com
    112 
    113 Latest tarball release: https://www.statdns.com/telize/telize-2.0.0.tar.gz
    114 
    115 GitHub: https://github.com/fcambus/telize
    116 
    117 [1]: https://kore.io
    118 [2]: https://github.com/maxmind/libmaxminddb
    119 [3]: https://dev.maxmind.com/geoip/geoip2/geolite2/
    120 [4]: https://www.logswan.org