· 6 years ago · Dec 21, 2019, 03:54 PM
1/* *
2 codedby : ibnusyawall
3 name ; cekIp
4 require :: nodejs & npm
5 install :
6 $ wget url lookip.js
7 $ npm i --save readline needle keypress
8 $ node lookip.js
9* */
10
11const readline = require('readline')
12const needle = require('needle')
13const keypress = require('keypress')
14
15keypress(process.stdin)
16
17
18process.stdin.on('keypress', (ch, key) => {
19 console.log('\n [√] Get APi : https://ipgeolocation.io/signup.html')
20 if (key && key.ctrl && key.name == 'h') {
21 process.stdin.exit()
22 }
23})
24process.stdin.setRawMode(true)
25process.stdin.resume();
26
27
28const ask = readline.createInterface({
29 input : process.stdin,
30 output: process.stdout
31})
32
33class CekAPI {
34 _main_() {
35 console.log("\n [ ? help ? press : 'ctrl+h' ? ] \n")
36 ask.question(' [?] your api key : ', (key) => {
37 needle.get(`https://api.ipgeolocation.io/ipgeo?apiKey=${key}`, (err, resp, body) => {
38 if (body['message'] == 'Provided API key is not valid.') {
39 console.log('\n [!] Your api invalid, !')
40 process.exit(1)
41 } else {
42 console.log(`\n [ success logedin : ${body['ip']} ]`)
43 api.push(key);
44 ask.question('\n [?] ip yang akan di cek : ', (i_p) => {
45 needle.get(`https://api.ipgeolocation.io/ipgeo?apiKey=${key}&ip=${i_p}&lang=en`, (err, resp, body) => {
46 console.log(`\n [$] ip : ${body['ip']}`)
47 console.log(` [$] Country : ${body['country_name']}`)
48 console.log(` [$] Provider : ${body['isp']}`)
49 console.log(` [$] Benua : ${body['continent_name']}`)
50 console.log(` [$] Provinsi : ${body['state_prov']}`)
51 console.log(` [$] District : ${body['district']}`)
52 console.log(` [$] Kode Pos : ${body['zipcode']}`)
53 console.log(` [$] Latitude : ${body['latitude']}`)
54 console.log(` [$] Longitude: ${body['longitude']}`)
55 console.log(` [$] Date : ${body['time_zone']['current_time']}`)
56 console.log(` [$] Maps Url : https://www.google.com/maps/@${body['latitude']},${body['longitude']}`)
57 })
58 })
59 }
60 })
61 })
62 }
63}; const cek = new CekAPI(); cek._main_(); process.stdout;