├── .gitignore ├── public ├── test_ip.txt ├── jquery-ui-1.12.1 │ ├── images │ │ ├── ui-icons_666666_256x240.png │ │ ├── ui-icons_777777_256x240.png │ │ ├── ui-icons_aaaaaa_256x240.png │ │ ├── ui-icons_c98000_256x240.png │ │ ├── ui-icons_cccccc_256x240.png │ │ ├── ui-icons_cd0a0a_256x240.png │ │ ├── ui-icons_f29a00_256x240.png │ │ ├── ui-bg_glass_95_fef1ec_1x400.png │ │ ├── ui-bg_inset-soft_15_121212_1x100.png │ │ ├── ui-bg_gloss-wave_16_121212_500x100.png │ │ ├── ui-bg_highlight-hard_15_888888_1x100.png │ │ ├── ui-bg_highlight-hard_55_555555_1x100.png │ │ ├── ui-bg_highlight-soft_35_adadad_1x100.png │ │ └── ui-bg_highlight-soft_60_dddddd_1x100.png │ ├── LICENSE.txt │ ├── package.json │ ├── jquery-ui.theme.min.css │ ├── jquery-ui.structure.min.css │ ├── jquery-ui.theme.css │ ├── jquery-ui.structure.css │ ├── jquery-ui.min.css │ └── index.html ├── index.html ├── map.html ├── d3 │ └── topojson.js └── ips.txt ├── knexfile.js.example ├── migrations ├── 20170709222923_identifiers.js ├── 20170809224358_locations.js └── 20170709222933_ip_ranges.js ├── legacy-scripts ├── parsy.py ├── mapdraw.py └── ip_lookup.py ├── package.json ├── README.md ├── app.js └── setup.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .DS_Store 3 | auth.* 4 | knexfile.js 5 | csv -------------------------------------------------------------------------------- /public/test_ip.txt: -------------------------------------------------------------------------------- 1 | 101.128.192.30 2 | 101.68.108.117 3 | 100.110.68 4 | 100.45.asdf.50 -------------------------------------------------------------------------------- /public/jquery-ui-1.12.1/images/ui-icons_666666_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarinMakers/botmap/HEAD/public/jquery-ui-1.12.1/images/ui-icons_666666_256x240.png -------------------------------------------------------------------------------- /public/jquery-ui-1.12.1/images/ui-icons_777777_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarinMakers/botmap/HEAD/public/jquery-ui-1.12.1/images/ui-icons_777777_256x240.png -------------------------------------------------------------------------------- /public/jquery-ui-1.12.1/images/ui-icons_aaaaaa_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarinMakers/botmap/HEAD/public/jquery-ui-1.12.1/images/ui-icons_aaaaaa_256x240.png -------------------------------------------------------------------------------- /public/jquery-ui-1.12.1/images/ui-icons_c98000_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarinMakers/botmap/HEAD/public/jquery-ui-1.12.1/images/ui-icons_c98000_256x240.png -------------------------------------------------------------------------------- /public/jquery-ui-1.12.1/images/ui-icons_cccccc_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarinMakers/botmap/HEAD/public/jquery-ui-1.12.1/images/ui-icons_cccccc_256x240.png -------------------------------------------------------------------------------- /public/jquery-ui-1.12.1/images/ui-icons_cd0a0a_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarinMakers/botmap/HEAD/public/jquery-ui-1.12.1/images/ui-icons_cd0a0a_256x240.png -------------------------------------------------------------------------------- /public/jquery-ui-1.12.1/images/ui-icons_f29a00_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarinMakers/botmap/HEAD/public/jquery-ui-1.12.1/images/ui-icons_f29a00_256x240.png -------------------------------------------------------------------------------- /public/jquery-ui-1.12.1/images/ui-bg_glass_95_fef1ec_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarinMakers/botmap/HEAD/public/jquery-ui-1.12.1/images/ui-bg_glass_95_fef1ec_1x400.png -------------------------------------------------------------------------------- /public/jquery-ui-1.12.1/images/ui-bg_inset-soft_15_121212_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarinMakers/botmap/HEAD/public/jquery-ui-1.12.1/images/ui-bg_inset-soft_15_121212_1x100.png -------------------------------------------------------------------------------- /public/jquery-ui-1.12.1/images/ui-bg_gloss-wave_16_121212_500x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarinMakers/botmap/HEAD/public/jquery-ui-1.12.1/images/ui-bg_gloss-wave_16_121212_500x100.png -------------------------------------------------------------------------------- /public/jquery-ui-1.12.1/images/ui-bg_highlight-hard_15_888888_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarinMakers/botmap/HEAD/public/jquery-ui-1.12.1/images/ui-bg_highlight-hard_15_888888_1x100.png -------------------------------------------------------------------------------- /public/jquery-ui-1.12.1/images/ui-bg_highlight-hard_55_555555_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarinMakers/botmap/HEAD/public/jquery-ui-1.12.1/images/ui-bg_highlight-hard_55_555555_1x100.png -------------------------------------------------------------------------------- /public/jquery-ui-1.12.1/images/ui-bg_highlight-soft_35_adadad_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarinMakers/botmap/HEAD/public/jquery-ui-1.12.1/images/ui-bg_highlight-soft_35_adadad_1x100.png -------------------------------------------------------------------------------- /public/jquery-ui-1.12.1/images/ui-bg_highlight-soft_60_dddddd_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MarinMakers/botmap/HEAD/public/jquery-ui-1.12.1/images/ui-bg_highlight-soft_60_dddddd_1x100.png -------------------------------------------------------------------------------- /knexfile.js.example: -------------------------------------------------------------------------------- 1 | // Update with your config settings. 2 | 3 | module.exports = { 4 | client: 'postgresql', 5 | connection: { 6 | host: 'localhost', 7 | database: 'botmap', 8 | user: 'botmap_user', 9 | password: '' 10 | } 11 | }; 12 | -------------------------------------------------------------------------------- /migrations/20170709222923_identifiers.js: -------------------------------------------------------------------------------- 1 | 2 | exports.up = function(knex, Promise) { 3 | return knex.schema.createTable("identifiers", function(table) { 4 | table.increments("id").primary(); 5 | table.string("user_id"); 6 | table.integer("loc_id"); 7 | //table.foreign("loc_id").references("id").inTable("locations"); 8 | }) 9 | }; 10 | 11 | exports.down = function(knex, Promise) { 12 | return knex.schema.dropTable("identifiers") 13 | //.dropTable("locations"); 14 | }; 15 | -------------------------------------------------------------------------------- /migrations/20170809224358_locations.js: -------------------------------------------------------------------------------- 1 | exports.up = function(knex, Promise) { 2 | return knex.schema.createTable("locations", function(table) { 3 | //table.increments("id"); 4 | table.string("geoname_id").index(); 5 | table.string("locale_code"); 6 | table.string("continent_code"); 7 | table.string("continent_name"); 8 | table.string("country_iso_code"); 9 | table.string("country_name"); 10 | }) 11 | }; 12 | 13 | exports.down = function(knex, Promise) { 14 | return knex.schema.dropTable("locations"); 15 | }; 16 | -------------------------------------------------------------------------------- /legacy-scripts/parsy.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | # CSV => JSON 3 | # Welcome to the hodgiest podgiest parse 4 | import json 5 | 6 | if __name__ == "__main__": 7 | sourcefile = open("ip_coordinates.csv","r") 8 | outfile = open("ip_coordinates.json","w") 9 | outfile.truncate() 10 | string = "[" 11 | for i, data in enumerate(sourcefile): 12 | [lat,lng,city,ip] = data.split(',') 13 | ip = "".join(ip.split("\n")) 14 | string+= '{"latitude":'+lat+',"longitude":'+lng+',"city":"'+city+'","ip":"'+ip+'"},\n' 15 | string=string[:-2]+"]" 16 | outfile.write(string) 17 | -------------------------------------------------------------------------------- /migrations/20170709222933_ip_ranges.js: -------------------------------------------------------------------------------- 1 | 2 | exports.up = function(knex, Promise) { 3 | return knex.schema.createTable("ip_ranges", function(table) { 4 | table.increments("id").primary(); 5 | table.string("network"); 6 | table.integer("start_ip_int"); 7 | table.integer("end_ip_int"); 8 | table.string("geoname_id"); 9 | table.string("registered_country_geoname_id"); 10 | table.string("represented_country_geoname_id"); 11 | table.boolean("is_anonymous_proxy"); 12 | table.boolean("is_satellite_provider"); 13 | table.string("postal_code"); 14 | table.float("latitude"); 15 | table.float("longitude"); 16 | table.integer("accuracy_radius"); 17 | }) 18 | }; 19 | 20 | exports.down = function(knex, Promise) { 21 | return knex.schema.dropTable("ip_ranges"); 22 | }; 23 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "botmap", 3 | "version": "1.0.0", 4 | "description": "Hacker map", 5 | "main": "jquery-3.2.1.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "git+https://github.com/MarinMakers/botmap.git" 12 | }, 13 | "author": "", 14 | "license": "ISC", 15 | "bugs": { 16 | "url": "https://github.com/MarinMakers/botmap/issues" 17 | }, 18 | "homepage": "https://github.com/MarinMakers/botmap#readme", 19 | "dependencies": { 20 | "body-parser": "^1.17.2", 21 | "express": "^4.15.3", 22 | "knex": "^0.13.0", 23 | "line-by-line": "^0.1.5", 24 | "method-override": "^2.3.9", 25 | "pg": "^6.4.0", 26 | "uuid": "^3.1.0" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 |Botmap is an application that will allow you to view multiple IP addressess on a map. It is recommended that you use a CSV of IP addresses separated by a consistant character, such as spaces, commas, or newlines.
38 | 43 |147 | 150 |
151 | 152 |Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
167 |408 | Tooltips can be attached to any element. When you hover 409 | the element with your mouse, the title attribute is displayed in a little box next to the element, just like a native tooltip. 410 |
411 | 412 | 413 | 414 |