diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..4c1b518 --- /dev/null +++ b/LICENSE @@ -0,0 +1,62 @@ +Author's Integrity License v 0.4 +Copyright 2022 - hellisabove + +1. License + The Deployer (the Work) is made available free of charge to any + Individual for personal use provided Limitations (Section 2) are observed. + + The Author hereby grants a license to any Creative to freely use, sample, remix, + or redistribute the Work provided Limitations (Section 2) are observed. + +2. Limitations + 2.1 Redistribution Integrity + 2.1.1 Redistribution of the Work is permitted, except in the following instances: + • Linking to, embedding, re-uploading, or otherwise sharing the Work using thumbnails, headlines, + or body copy which mislead or Misrepresent the Work of the Author OR + • No omission of any part of the original Work has occurred. (See Section 2.2) + 2.2 Derivative Works + 2.2.1 The Creative may sample portions of the Original Content except when Derivative works: + • Intentionally Misrepresent the Original Content OR + • Include Sponsored or Paid Content (in part or in full) + 2.3 Expressly Prohibited Usage + 2.3.1 The use of the Work for the purpose of training neural networks, artificial + intelligence, computer learning algorithms, or voice recognition software (collectively, GANs) is + expressly forbidden. + • Voice recognition software for the purpose of creating text transcripts + of the Work is allowed if: + ◦ The terms of Derivative Works (Section 2.2) are met AND + ◦ Training data are NOT stored AND + ◦ The Author has NOT marked the Work as unavailable for text transcription + either in the Work's metadata or within the Work itself + 2.3.2 The use of the Work in the production of so-called Deepfakes. This includes but is + not limited to: + • Synthesizing the likeness of the Author (or any persons included in this Work) including + visual, audio, or other mediums OR + • Synthesizing the writing style, speech patterns, or other attributes of the Work + 2.3.3 The inclusion of this section is not intended to be an exhaustive list of + prohibited uses. +3. Intent + + The purpose of this license is to preserve the integrity of the Author’s message, their + intent, and the context of the Author’s protected Work. + + This license SHOULD NOT be interpreted as a means of shielding the Author or the Work + from criticism, parody, satire, or other protected speech. + + The abuse thereof would constitute an UNAUTHORIZED REMIX of these terms (this document + is recursively licensed) and would result in a nullification of Author’s right to apply + these terms to their own Work. + + (See Section 2.2 Derivative Works) + +4. Licensing + The terms of this license apply to ALL Derivatives of this Work. Any Creative who makes a + Derivative Work using the Original Content—or who Redistributes the Work—agrees to be + bound by the terms laid out in this license. + + Failure to comply with these terms will result in the non-compliant Creative having their + license to use the Work rescinded, past and future licenses from the same non-compliant + Author nullified (at the original Author’s discretion), and possible legal action taken on + behalf of the original Author. + + Supplemental information can be found at github.com/heavyelement/ail diff --git a/README b/README new file mode 100644 index 0000000..baf5d99 --- /dev/null +++ b/README @@ -0,0 +1,2 @@ +# VMAP +A simple port scanner made in vlang. diff --git a/README.md b/README.md deleted file mode 100644 index ae85406..0000000 --- a/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# port-scanner -A simple port scanner made in vlang diff --git a/v.mod b/v.mod new file mode 100644 index 0000000..6572f93 --- /dev/null +++ b/v.mod @@ -0,0 +1,7 @@ +Module { + name: 'vmap' + description: 'CLI application that scans an IP Address with a lists of ports to see which is open' + version: '0.0.1' + license: 'AIL' + dependencies: [] +} diff --git a/vmap.v b/vmap.v new file mode 100644 index 0000000..524d671 --- /dev/null +++ b/vmap.v @@ -0,0 +1,40 @@ +import os +import net + +fn logo() { +println("██╗ ██╗███╗ ███╗ █████╗ ██████╗ ") +println("██║ ██║████╗ ████║██╔══██╗██╔══██╗") +println("██║ ██║██╔████╔██║███████║██████╔╝") +println("╚██╗ ██╔╝██║╚██╔╝██║██╔══██║██╔═══╝ ") +println(" ╚████╔╝ ██║ ╚═╝ ██║██║ ██║██║ ") +println(" ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ") +} + +fn code(){ + mut remote_ip := " " + if os.args.len < 2 { + remote_ip = '127.0.0.1' + } else { + remote_ip = os.args[1] + } + + ports := {'git' : 9418, 'mysterium' : 4449, 'openvpn tcp' : 443, 'openvpn udp' : 1194, 'wireguard' : 51820, 'http' : 80, 'https' : 443, 'ftp' : 21, 'ssh' : 22,'telnet' : 23, 'dns' : 53, 'smtp' : 25 , 'ipp' : 631, 'dhcp1' : 67, 'dhcp2' : 68, 'tftp' : 69, 'pop' : 110, 'ntp' : 123, 'imap' : 143, 'snmp1' : 161, 'snmp2' : 162, 'bgp' : 179, 'ldap' : 389, 'ldaps' : 636, 'ftps1' : 989, 'fpts2' : 990} + for key, value in ports { + + mut conn := net.dial_tcp("$remote_ip:$value") or { continue } + if ip := conn.peer_ip() { + println("[+] Port $value for $key is open") + } else { + + } + + conn.close() or {} + } +} + +fn main() { + + logo() + code() + +}