guess_os 0.1.0 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +33 -3
- data/bin/guess_os +28 -0
- data/lib/guess_os/conn.rb +16 -17
- data/lib/guess_os/host.rb +6 -7
- data/lib/guess_os/nmap.rb +5 -0
- data/lib/guess_os/os.rb +12 -4
- data/lib/guess_os/type/all.rb +8 -0
- data/lib/guess_os/type/cygwin.rb +16 -0
- data/lib/guess_os/type/gnulinux.rb +22 -0
- data/lib/guess_os/type/macos.rb +26 -0
- data/lib/guess_os/type/minix.rb +16 -0
- data/lib/guess_os/type/windows.rb +22 -0
- data/lib/guess_os/type.rb +9 -77
- data/lib/guess_os/version.rb +2 -2
- data/lib/guess_os.rb +13 -1
- metadata +19 -42
- data/.standard.yml +0 -3
- data/CHANGELOG.md +0 -5
- data/Gemfile +0 -12
- data/Gemfile.lock +0 -48
- data/Rakefile +0 -19
- data/examples/demo-1-input.rb +0 -25
- data/examples/demo-2-input.rb +0 -40
- data/examples/demo-3-staticvalues.rb +0 -9
- data/examples/demo-4-staticvalues.rb +0 -28
- data/guess_os.gemspec +0 -38
- data/sig/guess_os.rbs +0 -4
- data/vagrant/.gitignore +0 -5
- data/vagrant/debian/.gitignore +0 -2
- data/vagrant/debian/Vagrantfile +0 -23
- data/vagrant/manjaro/.gitignore +0 -3
- data/vagrant/manjaro/Vagrantfile +0 -22
- data/vagrant/manjaro/Vagrantfile.1mv +0 -26
- data/vagrant/minix/.gitignore +0 -3
- data/vagrant/minix/README.md +0 -6
- data/vagrant/minix/Vagrantfile +0 -19
- data/vagrant/opensuse/.gitignore +0 -4
- data/vagrant/opensuse/Vagrantfile +0 -25
- data/vagrant/opensuse.kde/.gitignore +0 -1
- data/vagrant/opensuse.kde/Vagrantfile +0 -20
- data/vagrant/ubuntu/.gitignore +0 -2
- data/vagrant/ubuntu/02-install-software.rb +0 -27
- data/vagrant/ubuntu/Vagrantfile +0 -27
- data/vagrant/ubuntu/install-software.rb +0 -27
- data/vagrant/windows10/.gitignore +0 -1
- data/vagrant/windows10/Vagrantfile +0 -17
- data/vagrant/windows10/Vagrantfile.edge +0 -19
- data/vagrant/windows7/.gitignore +0 -2
- data/vagrant/windows7/Vagrantfile +0 -21
- data/vagrant/winserver/.gitignore +0 -3
- data/vagrant/winserver/Vagrantfile +0 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ecf71e8df8e1b41e517f61d77069fa346500793e9db520c50a62de2f78c082f3
|
4
|
+
data.tar.gz: b72dee2f0cc724848de83c9326b67b7936041b4056f83f88d5685d2d8d8437ad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 00c044925a062129d54801c5ca32a0831deaf6296ca2500e134dd8930b3a54c188f951fa601f24defe1a0da1a03c1b36176931c87136d511f13011f84c950e92
|
7
|
+
data.tar.gz: a9c003559ecf48016ae68280816bd363c65747561bee46dcaeff5600fecfabf8273fad2267dc15d7005bb48dfd2ec29dbbaad01d76dfd7ffdd735a0d68998c09
|
data/README.md
CHANGED
@@ -6,25 +6,55 @@ Try to guess the operating system installed on the host (local or remote)
|
|
6
6
|
# Documentation
|
7
7
|
|
8
8
|
1. Install Ruby on your system.
|
9
|
-
1. `gem install --user-install guess_os`, to install gem.
|
9
|
+
1. `gem install --user-install guess_os`, to install gem as normal user.
|
10
10
|
|
11
|
-
|
11
|
+
> `sudo gem install --user-install guess_os`, to install gem as root user.
|
12
|
+
|
13
|
+
# Usage command
|
14
|
+
|
15
|
+
# Usage gem
|
16
|
+
|
17
|
+
**localhost example**: Guess local host OS.
|
18
|
+
|
19
|
+
```ruby
|
20
|
+
require 'guess_os'
|
21
|
+
|
22
|
+
host = GuessOS::Host.new(ip: 'localhost')
|
23
|
+
|
24
|
+
puts host.os.type
|
25
|
+
puts host.os.name
|
26
|
+
```
|
27
|
+
|
28
|
+
**Remote host example**: Guess remote host OS. The connection is established via SSH.
|
12
29
|
|
13
30
|
```ruby
|
14
31
|
require 'guess_os'
|
15
32
|
|
16
33
|
host = GuessOS::Host.new(
|
17
|
-
ip: '
|
34
|
+
ip: '192.168.1.42',
|
18
35
|
port: 2241,
|
19
36
|
username: 'vagrant',
|
20
37
|
password: 'vagrant'
|
21
38
|
)
|
22
39
|
|
40
|
+
puts host.os.type
|
23
41
|
puts host.os.name
|
24
42
|
```
|
25
43
|
|
26
44
|
> More [examples](examples)
|
27
45
|
|
46
|
+
Current OS list:
|
47
|
+
|
48
|
+
| OS type | OS name |
|
49
|
+
| --------- | -------- |
|
50
|
+
| :gnulinux | opensuse, debian, ubuntu, manjaro, mint |
|
51
|
+
| :windows | windows |
|
52
|
+
| :macos | macos |
|
53
|
+
| :cygwin | cygwin |
|
54
|
+
| :minix | minix |
|
55
|
+
| :unkown | unkown |
|
56
|
+
|
28
57
|
# Contact
|
29
58
|
|
30
59
|
* **Email**: `teuton.software@protonmail.com`
|
60
|
+
|
data/bin/guess_os
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require_relative '../lib/guess_os/host'
|
4
|
+
|
5
|
+
puts "[GuessOS]"
|
6
|
+
|
7
|
+
print ' ip? '; ip = gets.chomp
|
8
|
+
if ip.empty?
|
9
|
+
ip = 'localhost' if ip.empty?
|
10
|
+
else
|
11
|
+
print ' port? '; port = gets.chomp
|
12
|
+
print 'username? '; username = gets.chomp
|
13
|
+
print 'password? '; password = gets.chomp
|
14
|
+
|
15
|
+
port = nil if port.empty?
|
16
|
+
username = nil if username.empty?
|
17
|
+
password = nil if password.empty?
|
18
|
+
end
|
19
|
+
|
20
|
+
host = GuessOS::Host.new(
|
21
|
+
ip: ip,
|
22
|
+
port: port,
|
23
|
+
username: username,
|
24
|
+
password: password
|
25
|
+
)
|
26
|
+
|
27
|
+
puts '=' * 50 + "\n"
|
28
|
+
puts host.os.to_s
|
data/lib/guess_os/conn.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
|
-
|
2
|
-
require 'net/ssh'
|
1
|
+
require "net/ssh"
|
3
2
|
|
4
3
|
module GuessOS
|
5
4
|
class Conn
|
@@ -10,7 +9,7 @@ module GuessOS
|
|
10
9
|
|
11
10
|
def initialize(host)
|
12
11
|
@host = host
|
13
|
-
@last_output =
|
12
|
+
@last_output = ""
|
14
13
|
@status = nil
|
15
14
|
@ok = nil
|
16
15
|
end
|
@@ -27,7 +26,7 @@ module GuessOS
|
|
27
26
|
output = `#{command}`
|
28
27
|
if $?.exitstatus.zero?
|
29
28
|
@ok = true
|
30
|
-
@status =
|
29
|
+
@status = "Ok"
|
31
30
|
else
|
32
31
|
@ok = false
|
33
32
|
@status = "Exit status: #{$?.exitstatus}"
|
@@ -37,16 +36,16 @@ module GuessOS
|
|
37
36
|
end
|
38
37
|
|
39
38
|
def remote_exec(command)
|
40
|
-
output =
|
39
|
+
output = "Error"
|
41
40
|
begin
|
42
41
|
session = Net::SSH.start(@host.ip,
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
if session.
|
42
|
+
@host.username,
|
43
|
+
port: @host.port,
|
44
|
+
password: @host.password,
|
45
|
+
keepalive: true,
|
46
|
+
timeout: 30,
|
47
|
+
non_interactive: true)
|
48
|
+
if session.instance_of?(Net::SSH::Connection::Session)
|
50
49
|
output = session.exec!(command)
|
51
50
|
@status = :ok
|
52
51
|
@ok = true
|
@@ -54,19 +53,19 @@ module GuessOS
|
|
54
53
|
rescue Errno::EHOSTUNREACH
|
55
54
|
@status = "[ERROR] Host #{@host.ip} unreachable!"
|
56
55
|
rescue Net::SSH::AuthenticationFailed
|
57
|
-
@status =
|
56
|
+
@status = "[ERROR] SSH::AuthenticationFailed!"
|
58
57
|
rescue Net::SSH::HostKeyMismatch
|
59
|
-
@status =
|
58
|
+
@status = "SSH::HostKeyMismatch!"
|
60
59
|
puts("* The destination server's fingerprint is not matching " \
|
61
|
-
|
62
|
-
puts(
|
60
|
+
"what is in your local known_hosts file.")
|
61
|
+
puts("* Remove the existing entry in your local known_hosts file")
|
63
62
|
puts("* Try this => ssh-keygen -f '/home/USERNAME/.ssh/known_hosts' " \
|
64
63
|
"-R #{@host.ip}")
|
65
64
|
rescue SocketError
|
66
65
|
@status = "[ERROR] SocketError with IP/port [#{@host.ip}:#{@host.port}]"
|
67
66
|
rescue Errno::ECONNREFUSED
|
68
67
|
@status = "[ERROR] ConnRefused: SSH on [#{@host.username}@#{@host.ip}:#{@host.port}]"
|
69
|
-
rescue
|
68
|
+
rescue => e
|
70
69
|
@status = "[#{e.class}] SSH on <#{@host.username}@#{@host.ip}:#{@host.port}>" \
|
71
70
|
" exec: #{command}"
|
72
71
|
end
|
data/lib/guess_os/host.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
|
-
|
2
|
-
require_relative 'type'
|
1
|
+
require_relative "type"
|
3
2
|
|
4
3
|
module GuessOS
|
5
4
|
class Host
|
@@ -7,15 +6,15 @@ module GuessOS
|
|
7
6
|
attr_reader :os
|
8
7
|
|
9
8
|
def initialize(args = {})
|
10
|
-
@ip = args[:ip] ||
|
11
|
-
@port = args[:port] ||
|
12
|
-
@username = args[:username] ||
|
13
|
-
@password =
|
9
|
+
@ip = args[:ip] || "localhost"
|
10
|
+
@port = args[:port] || "22"
|
11
|
+
@username = args[:username] || "vagrant"
|
12
|
+
@password = args[:password] || "vagrant"
|
14
13
|
@os = GuessOS::Type.guess(self)
|
15
14
|
end
|
16
15
|
|
17
16
|
def local?
|
18
|
-
return true if (ip ==
|
17
|
+
return true if (ip == "localhost") || (ip == "127.0.0.1")
|
19
18
|
|
20
19
|
false
|
21
20
|
end
|
@@ -0,0 +1,5 @@
|
|
1
|
+
# ❯ sudo nmap -O 192.168.1.1 | grep -E 'Running|OS'
|
2
|
+
# Running: Linux 2.6.X|3.X
|
3
|
+
# OS CPE: cpe:/o:linux:linux_kernel:2.6 cpe:/o:linux:linux_kernel:3
|
4
|
+
# OS details: Linux 2.6.32 - 3.13
|
5
|
+
# OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
|
data/lib/guess_os/os.rb
CHANGED
@@ -1,16 +1,24 @@
|
|
1
|
-
|
2
1
|
module GuessOS
|
3
2
|
class OS
|
4
3
|
attr_reader :type, :name, :desc
|
5
4
|
|
6
5
|
def initialize(type, name, desc)
|
7
6
|
@type = type
|
8
|
-
@name = name
|
9
|
-
@desc = desc
|
7
|
+
@name = name.strip
|
8
|
+
@desc = clean(desc)
|
10
9
|
end
|
11
10
|
|
12
11
|
def to_s
|
13
|
-
{
|
12
|
+
{type: @type, name: @name, desc: @desc}
|
13
|
+
end
|
14
|
+
|
15
|
+
private
|
16
|
+
|
17
|
+
def clean(text)
|
18
|
+
output = text.clone
|
19
|
+
output.tr!("\t", " ")
|
20
|
+
output.tr!("\n", " ")
|
21
|
+
output.strip
|
14
22
|
end
|
15
23
|
end
|
16
24
|
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
class Cygwin
|
2
|
+
def self.guess(host)
|
3
|
+
conn = GuessOS::Conn.new(host)
|
4
|
+
command = "pwd"
|
5
|
+
conn.exec(command)
|
6
|
+
|
7
|
+
identified = conn.ok && conn.last_output.include?("/cygdrive")
|
8
|
+
return GuessOS::OS.new(:unkown, :unkown, conn.status) unless identified
|
9
|
+
|
10
|
+
output = conn.last_output
|
11
|
+
type = :cygwin
|
12
|
+
name = "cygwin"
|
13
|
+
desc = output.delete("\n")
|
14
|
+
GuessOS::OS.new(type, name, desc)
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
class GNULinux
|
2
|
+
def self.guess(host)
|
3
|
+
conn = GuessOS::Conn.new(host)
|
4
|
+
command = "lsb_release -d"
|
5
|
+
|
6
|
+
conn.exec(command)
|
7
|
+
return OS.new(:unkown, :unkown, conn.status) unless conn.ok
|
8
|
+
|
9
|
+
output = conn.last_output
|
10
|
+
items = output.split
|
11
|
+
type = :gnulinux
|
12
|
+
name = items[1]&.downcase
|
13
|
+
desc = output
|
14
|
+
|
15
|
+
list = %w[debian ubuntu opensuse manjaro mint arch]
|
16
|
+
unless list.include? name
|
17
|
+
return GuessOS::OS.new(:unkown, :unkown, "Unkown OS")
|
18
|
+
end
|
19
|
+
|
20
|
+
GuessOS::OS.new(type, name, desc)
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
class MacOS
|
2
|
+
def self.guess(host)
|
3
|
+
conn = GuessOS::Conn.new(host)
|
4
|
+
command = "sw_vers | grep ProductName"
|
5
|
+
conn.exec(command)
|
6
|
+
# 1.9.2 kevin-macbookpro:~ $ system_profiler SPSoftwareDataType
|
7
|
+
# System Version: Mac OS X 10.7.4 (11E53)
|
8
|
+
#
|
9
|
+
# 1.9.2 kevin-macbookpro:~ $ sw_vers
|
10
|
+
# ProductName: Mac OS X
|
11
|
+
# ProductVersion: 10.7.4
|
12
|
+
|
13
|
+
identified = conn.ok && conn.last_output.include?("Mac OS")
|
14
|
+
return GuesOS::OS.new(:unkown, :unkown, conn.status) unless identified
|
15
|
+
|
16
|
+
command = "sw_vers | grep ProductVersion"
|
17
|
+
conn.exec(command)
|
18
|
+
output = conn.last_output
|
19
|
+
items = output.split
|
20
|
+
|
21
|
+
type = :macos
|
22
|
+
name = "Mac OS #{items[2].split(".").first}"
|
23
|
+
desc = output
|
24
|
+
GuessSO::OS.new(type, name, desc)
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
class Minix
|
2
|
+
def self.guess(host)
|
3
|
+
conn = GuessOS::Conn.new(host)
|
4
|
+
command = "cat /etc/rc.d/minixrc |grep MINIX| head -n 1"
|
5
|
+
conn.exec(command)
|
6
|
+
|
7
|
+
identified = conn.ok && conn.last_output.include?("MINIX")
|
8
|
+
return GuessOS::OS.new(:unkown, :unkown, conn.status) unless identified
|
9
|
+
|
10
|
+
output = conn.last_output
|
11
|
+
type = :minix
|
12
|
+
name = "minix"
|
13
|
+
desc = output.delete("\n")
|
14
|
+
GuessOS::OS.new(type, name, desc)
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
class Windows
|
2
|
+
def self.guess(host)
|
3
|
+
conn = GuessOS::Conn.new(host)
|
4
|
+
command = "ver"
|
5
|
+
conn.exec(command)
|
6
|
+
# ver => Microsoft Windows [Version 10.0.20348.469]
|
7
|
+
# command = 'echo %windir%' => Windows
|
8
|
+
|
9
|
+
identified = conn.ok && conn.last_output.include?("Windows")
|
10
|
+
return GuessOS::OS.new(:unkown, :unkown, conn.status) unless identified
|
11
|
+
|
12
|
+
output = conn.last_output
|
13
|
+
output.delete!("\r")
|
14
|
+
output.delete!("\n")
|
15
|
+
items = output.split
|
16
|
+
|
17
|
+
type = :windows
|
18
|
+
name = "windows #{items[3].split(".").first}"
|
19
|
+
desc = output
|
20
|
+
GuessOS::OS.new(type, name, desc)
|
21
|
+
end
|
22
|
+
end
|
data/lib/guess_os/type.rb
CHANGED
@@ -1,92 +1,24 @@
|
|
1
|
-
|
2
|
-
require_relative 'conn'
|
3
|
-
require_relative 'os'
|
1
|
+
require_relative "type/all"
|
4
2
|
|
5
3
|
module GuessOS
|
6
|
-
|
4
|
+
class Type
|
7
5
|
def self.guess(host)
|
8
|
-
os =
|
6
|
+
os = GNULinux.guess(host)
|
9
7
|
return os unless os.type == :unkown
|
10
8
|
|
11
|
-
os =
|
9
|
+
os = guess_macos(host)
|
12
10
|
return os unless os.type == :unkown
|
13
11
|
|
14
|
-
os =
|
12
|
+
os = Windows.guess(host)
|
15
13
|
return os unless os.type == :unkown
|
16
14
|
|
17
|
-
os =
|
15
|
+
os = Cygwin.guess(host)
|
18
16
|
return os unless os.type == :unkown
|
19
17
|
|
20
|
-
os
|
21
|
-
|
22
|
-
|
23
|
-
def self.guess_gnulinux(host)
|
24
|
-
conn = GuessOS::Conn.new(host)
|
25
|
-
command = 'lsb_release -d'
|
26
|
-
|
27
|
-
conn.exec(command)
|
28
|
-
return OS.new(:unkown, :unkown, conn.status) unless conn.ok
|
29
|
-
|
30
|
-
output = conn.last_output
|
31
|
-
items = output.split
|
32
|
-
type = 'gnu/linux'
|
33
|
-
name = items[1]&.downcase
|
34
|
-
desc = output
|
35
|
-
|
36
|
-
list = %w(debian ubuntu opensuse manjaro)
|
37
|
-
unless list.include? name
|
38
|
-
return OS.new(:unkown, :unkown, 'Unkown OS')
|
39
|
-
end
|
40
|
-
|
41
|
-
OS.new(type, name, desc)
|
42
|
-
end
|
43
|
-
|
44
|
-
def self.guess_windows(host)
|
45
|
-
conn = GuessOS::Conn.new(host)
|
46
|
-
command = 'echo %windir%'
|
47
|
-
conn.exec(command)
|
48
|
-
|
49
|
-
identified = conn.ok && conn.last_output.include?('Windows')
|
50
|
-
return OS.new(:unkown, :unkown, conn.status) unless identified
|
51
|
-
|
52
|
-
output = conn.last_output
|
53
|
-
type = 'windows'
|
54
|
-
name = 'windows'
|
55
|
-
desc = output.gsub("\r", '')
|
56
|
-
desc.gsub!("\n", '')
|
57
|
-
OS.new(type, name, desc)
|
58
|
-
end
|
59
|
-
|
60
|
-
def self.guess_cygwin(host)
|
61
|
-
conn = GuessOS::Conn.new(host)
|
62
|
-
command = 'pwd'
|
63
|
-
conn.exec(command)
|
64
|
-
|
65
|
-
identified = conn.ok && conn.last_output.include?('/cygdrive')
|
66
|
-
return OS.new(:unkown, :unkown, conn.status) unless identified
|
67
|
-
|
68
|
-
output = conn.last_output
|
69
|
-
type = 'cygwin'
|
70
|
-
name = 'cygwin'
|
71
|
-
desc = output.gsub("\n", '')
|
72
|
-
OS.new(type, name, desc)
|
73
|
-
end
|
74
|
-
|
75
|
-
def self.guess_minix(host)
|
76
|
-
conn = GuessOS::Conn.new(host)
|
77
|
-
command = 'cat /etc/rc.d/minixrc |grep MINIX| head -n 1'
|
78
|
-
|
79
|
-
conn.exec(command)
|
80
|
-
|
81
|
-
identified = conn.ok && conn.last_output.include?('MINIX')
|
82
|
-
return OS.new(:unkown, :unkown, conn.status) unless identified
|
18
|
+
os = Minix.guess(host)
|
19
|
+
return os unless os.type == :unkown
|
83
20
|
|
84
|
-
|
85
|
-
items = output.split
|
86
|
-
type = 'minix'
|
87
|
-
name = 'minix'
|
88
|
-
desc = output.gsub("\n", '')
|
89
|
-
OS.new(type, name, desc)
|
21
|
+
os
|
90
22
|
end
|
91
23
|
end
|
92
24
|
end
|
data/lib/guess_os/version.rb
CHANGED
data/lib/guess_os.rb
CHANGED
@@ -1,7 +1,19 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require_relative "guess_os/version"
|
4
|
-
require_relative
|
4
|
+
require_relative "guess_os/host"
|
5
|
+
|
6
|
+
##
|
7
|
+
# Usage:
|
8
|
+
#
|
9
|
+
# host = GuessOS::Host.new(
|
10
|
+
# ip: ip,
|
11
|
+
# port: port,
|
12
|
+
# username: username,
|
13
|
+
# password: password
|
14
|
+
# )
|
15
|
+
#
|
16
|
+
# => host.os
|
5
17
|
|
6
18
|
module GuessOS
|
7
19
|
end
|
metadata
CHANGED
@@ -1,67 +1,44 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: guess_os
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Vargas
|
8
8
|
autorequire:
|
9
|
-
bindir:
|
9
|
+
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-02-16 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Guess local or remote OS.
|
14
14
|
email:
|
15
15
|
- dvarrui@protonmail.com
|
16
|
-
executables:
|
16
|
+
executables:
|
17
|
+
- guess_os
|
17
18
|
extensions: []
|
18
|
-
extra_rdoc_files:
|
19
|
+
extra_rdoc_files:
|
20
|
+
- README.md
|
21
|
+
- LICENSE
|
19
22
|
files:
|
20
|
-
- ".standard.yml"
|
21
|
-
- CHANGELOG.md
|
22
|
-
- Gemfile
|
23
|
-
- Gemfile.lock
|
24
23
|
- LICENSE
|
25
24
|
- README.md
|
26
|
-
-
|
27
|
-
- examples/demo-1-input.rb
|
28
|
-
- examples/demo-2-input.rb
|
29
|
-
- examples/demo-3-staticvalues.rb
|
30
|
-
- examples/demo-4-staticvalues.rb
|
31
|
-
- guess_os.gemspec
|
25
|
+
- bin/guess_os
|
32
26
|
- lib/guess_os.rb
|
33
27
|
- lib/guess_os/conn.rb
|
34
28
|
- lib/guess_os/host.rb
|
29
|
+
- lib/guess_os/nmap.rb
|
35
30
|
- lib/guess_os/os.rb
|
36
31
|
- lib/guess_os/type.rb
|
32
|
+
- lib/guess_os/type/all.rb
|
33
|
+
- lib/guess_os/type/cygwin.rb
|
34
|
+
- lib/guess_os/type/gnulinux.rb
|
35
|
+
- lib/guess_os/type/macos.rb
|
36
|
+
- lib/guess_os/type/minix.rb
|
37
|
+
- lib/guess_os/type/windows.rb
|
37
38
|
- lib/guess_os/version.rb
|
38
|
-
- sig/guess_os.rbs
|
39
|
-
- vagrant/.gitignore
|
40
|
-
- vagrant/debian/.gitignore
|
41
|
-
- vagrant/debian/Vagrantfile
|
42
|
-
- vagrant/manjaro/.gitignore
|
43
|
-
- vagrant/manjaro/Vagrantfile
|
44
|
-
- vagrant/manjaro/Vagrantfile.1mv
|
45
|
-
- vagrant/minix/.gitignore
|
46
|
-
- vagrant/minix/README.md
|
47
|
-
- vagrant/minix/Vagrantfile
|
48
|
-
- vagrant/opensuse.kde/.gitignore
|
49
|
-
- vagrant/opensuse.kde/Vagrantfile
|
50
|
-
- vagrant/opensuse/.gitignore
|
51
|
-
- vagrant/opensuse/Vagrantfile
|
52
|
-
- vagrant/ubuntu/.gitignore
|
53
|
-
- vagrant/ubuntu/02-install-software.rb
|
54
|
-
- vagrant/ubuntu/Vagrantfile
|
55
|
-
- vagrant/ubuntu/install-software.rb
|
56
|
-
- vagrant/windows10/.gitignore
|
57
|
-
- vagrant/windows10/Vagrantfile
|
58
|
-
- vagrant/windows10/Vagrantfile.edge
|
59
|
-
- vagrant/windows7/.gitignore
|
60
|
-
- vagrant/windows7/Vagrantfile
|
61
|
-
- vagrant/winserver/.gitignore
|
62
|
-
- vagrant/winserver/Vagrantfile
|
63
39
|
homepage: https://github.com/dvarrui/guess_os
|
64
|
-
licenses:
|
40
|
+
licenses:
|
41
|
+
- GPL-3.0
|
65
42
|
metadata:
|
66
43
|
homepage_uri: https://github.com/dvarrui/guess_os
|
67
44
|
source_code_uri: https://github.com/dvarrui/guess_os
|
@@ -81,7 +58,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
81
58
|
- !ruby/object:Gem::Version
|
82
59
|
version: '0'
|
83
60
|
requirements: []
|
84
|
-
rubygems_version: 3.
|
61
|
+
rubygems_version: 3.2.33
|
85
62
|
signing_key:
|
86
63
|
specification_version: 4
|
87
64
|
summary: Guess local or remote OS.
|
data/.standard.yml
DELETED
data/CHANGELOG.md
DELETED
data/Gemfile
DELETED
data/Gemfile.lock
DELETED
@@ -1,48 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
guess_os (0.1.0)
|
5
|
-
|
6
|
-
GEM
|
7
|
-
remote: https://rubygems.org/
|
8
|
-
specs:
|
9
|
-
ast (2.4.2)
|
10
|
-
bump (0.10.0)
|
11
|
-
parallel (1.22.1)
|
12
|
-
parser (3.1.2.0)
|
13
|
-
ast (~> 2.4.1)
|
14
|
-
rainbow (3.1.1)
|
15
|
-
rake (13.0.6)
|
16
|
-
regexp_parser (2.5.0)
|
17
|
-
rexml (3.2.5)
|
18
|
-
rubocop (1.29.1)
|
19
|
-
parallel (~> 1.10)
|
20
|
-
parser (>= 3.1.0.0)
|
21
|
-
rainbow (>= 2.2.2, < 4.0)
|
22
|
-
regexp_parser (>= 1.8, < 3.0)
|
23
|
-
rexml (>= 3.2.5, < 4.0)
|
24
|
-
rubocop-ast (>= 1.17.0, < 2.0)
|
25
|
-
ruby-progressbar (~> 1.7)
|
26
|
-
unicode-display_width (>= 1.4.0, < 3.0)
|
27
|
-
rubocop-ast (1.18.0)
|
28
|
-
parser (>= 3.1.1.0)
|
29
|
-
rubocop-performance (1.13.3)
|
30
|
-
rubocop (>= 1.7.0, < 2.0)
|
31
|
-
rubocop-ast (>= 0.4.0)
|
32
|
-
ruby-progressbar (1.11.0)
|
33
|
-
standard (1.12.1)
|
34
|
-
rubocop (= 1.29.1)
|
35
|
-
rubocop-performance (= 1.13.3)
|
36
|
-
unicode-display_width (2.2.0)
|
37
|
-
|
38
|
-
PLATFORMS
|
39
|
-
x86_64-linux
|
40
|
-
|
41
|
-
DEPENDENCIES
|
42
|
-
bump
|
43
|
-
guess_os!
|
44
|
-
rake
|
45
|
-
standard
|
46
|
-
|
47
|
-
BUNDLED WITH
|
48
|
-
2.3.11
|
data/Rakefile
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "bundler/gem_tasks"
|
4
|
-
require "rake/testtask"
|
5
|
-
|
6
|
-
Rake::TestTask.new(:test) do |t|
|
7
|
-
t.libs << "test"
|
8
|
-
t.libs << "lib"
|
9
|
-
t.test_files = FileList["test/**/*_test.rb"]
|
10
|
-
end
|
11
|
-
|
12
|
-
require "standard/rake"
|
13
|
-
|
14
|
-
task default: %i[test standard]
|
15
|
-
#require "bundler/setup"
|
16
|
-
#require "bump/tasks"
|
17
|
-
|
18
|
-
#Bundler::GemHelper.install_tasks
|
19
|
-
|
data/examples/demo-1-input.rb
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
require_relative '../lib/guess_os/host'
|
4
|
-
|
5
|
-
puts "[GuessOS] #{$0}"
|
6
|
-
|
7
|
-
print ' ip? '; ip = gets.chomp
|
8
|
-
print ' port? '; port = gets.chomp
|
9
|
-
print 'username? '; username = gets.chomp
|
10
|
-
print 'password? '; password = gets.chomp
|
11
|
-
|
12
|
-
ip = 'localhost' if ip.empty?
|
13
|
-
port = nil if port.empty?
|
14
|
-
username = nil if username.empty?
|
15
|
-
password = nil if password.empty?
|
16
|
-
|
17
|
-
host = GuessOS::Host.new(
|
18
|
-
ip: ip,
|
19
|
-
port: port,
|
20
|
-
username: username,
|
21
|
-
password: password
|
22
|
-
)
|
23
|
-
|
24
|
-
puts '=' * 50 + "\n"
|
25
|
-
puts host.os.to_s
|
data/examples/demo-2-input.rb
DELETED
@@ -1,40 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
require_relative '../lib/guess_os/host'
|
4
|
-
|
5
|
-
puts "[GuessOS] #{$0}"
|
6
|
-
|
7
|
-
print ' ip? '; ip = gets.chomp
|
8
|
-
print ' port? '; port = gets.chomp
|
9
|
-
print 'username? '; username = gets.chomp
|
10
|
-
print 'password? '; password = gets.chomp
|
11
|
-
|
12
|
-
port = nil if port.empty?
|
13
|
-
username = nil if username.empty?
|
14
|
-
password = nil if password.empty?
|
15
|
-
|
16
|
-
host = GuessOS::Host.new(
|
17
|
-
ip: ip,
|
18
|
-
port: port,
|
19
|
-
username: username,
|
20
|
-
password: password
|
21
|
-
)
|
22
|
-
|
23
|
-
puts "\n"
|
24
|
-
puts "==> Show host info"
|
25
|
-
puts " ip = #{host.ip}"
|
26
|
-
puts " port = #{host.port}"
|
27
|
-
puts " username = #{host.username}"
|
28
|
-
puts " password = #{host.password}"
|
29
|
-
|
30
|
-
conn = GuessOS::Conn.new(host)
|
31
|
-
|
32
|
-
cmd = 'lsb_release -d'
|
33
|
-
puts "\n==> Execute command: #{cmd}"
|
34
|
-
puts " #{conn.exec(cmd)}"
|
35
|
-
|
36
|
-
puts "\n"
|
37
|
-
puts "==> Show Type info (#{host.ip}:#{host.port})"
|
38
|
-
puts " type = #{host.os.type}"
|
39
|
-
puts " name = #{host.os.name}"
|
40
|
-
puts " desc = #{host.os.desc}"
|
@@ -1,28 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
require_relative '../lib/guess_os/host'
|
4
|
-
require_relative '../lib/guess_os/conn'
|
5
|
-
|
6
|
-
puts "[GuessOS] #{$0}"
|
7
|
-
puts '-' * 50
|
8
|
-
|
9
|
-
host = GuessOS::Host.new(ip: 'localhost')
|
10
|
-
|
11
|
-
puts "\n"
|
12
|
-
puts "==> Show host info"
|
13
|
-
puts " ip = #{host.ip}"
|
14
|
-
puts " port = #{host.port}"
|
15
|
-
puts " username = #{host.username}"
|
16
|
-
puts " password = #{host.password}"
|
17
|
-
|
18
|
-
conn = GuessOS::Conn.new(host)
|
19
|
-
|
20
|
-
cmd = 'lsb_release -d'
|
21
|
-
puts "\n==> Execute command: #{cmd}"
|
22
|
-
puts " #{conn.exec(cmd)}"
|
23
|
-
|
24
|
-
puts "\n"
|
25
|
-
puts "==> Show Type info (#{host.ip}:#{host.port})"
|
26
|
-
puts " type = #{host.os.type}"
|
27
|
-
puts " name = #{host.os.name}"
|
28
|
-
puts " desc = #{host.os.desc}"
|
data/guess_os.gemspec
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative "lib/guess_os/version"
|
4
|
-
|
5
|
-
Gem::Specification.new do |spec|
|
6
|
-
spec.name = "guess_os"
|
7
|
-
spec.version = GuessOS::VERSION
|
8
|
-
spec.authors = ["David Vargas"]
|
9
|
-
spec.email = ["dvarrui@protonmail.com"]
|
10
|
-
|
11
|
-
spec.summary = "Guess local or remote OS."
|
12
|
-
spec.description = "Guess local or remote OS."
|
13
|
-
spec.homepage = "https://github.com/dvarrui/guess_os"
|
14
|
-
spec.required_ruby_version = ">= 2.6.0"
|
15
|
-
|
16
|
-
# spec.metadata["allowed_push_host"] = "TODO: Set to your gem server 'https://example.com'"
|
17
|
-
|
18
|
-
spec.metadata["homepage_uri"] = spec.homepage
|
19
|
-
spec.metadata["source_code_uri"] = "https://github.com/dvarrui/guess_os"
|
20
|
-
spec.metadata["changelog_uri"] = "https://github.com/dvarrui/guess_os/CHANGELOG.md"
|
21
|
-
|
22
|
-
# Specify which files should be added to the gem when it is released.
|
23
|
-
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
24
|
-
spec.files = Dir.chdir(__dir__) do
|
25
|
-
`git ls-files -z`.split("\x0").reject do |f|
|
26
|
-
(f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
|
27
|
-
end
|
28
|
-
end
|
29
|
-
spec.bindir = "exe"
|
30
|
-
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
31
|
-
spec.require_paths = ["lib"]
|
32
|
-
|
33
|
-
# Uncomment to register a new dependency of your gem
|
34
|
-
# spec.add_dependency "example-gem", "~> 1.0"
|
35
|
-
|
36
|
-
# For more information and examples about making a new gem, check out our
|
37
|
-
# guide at: https://bundler.io/guides/creating_gem.html
|
38
|
-
end
|
data/sig/guess_os.rbs
DELETED
data/vagrant/.gitignore
DELETED
data/vagrant/debian/.gitignore
DELETED
data/vagrant/debian/Vagrantfile
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
# -*- mode: ruby -*-
|
2
|
-
# vi: set ft=ruby :
|
3
|
-
|
4
|
-
Vagrant.configure("2") do |config|
|
5
|
-
config.vm.define "vagrant-debian" do |i|
|
6
|
-
# Configure BOX
|
7
|
-
i.vm.box = "generic/debian11"
|
8
|
-
|
9
|
-
# Configure VM
|
10
|
-
i.vm.hostname = "vagrant-debian"
|
11
|
-
#i.vm.network "public_network", bridge: [ "eth0" ]
|
12
|
-
#i.vm.network "public_network", bridge: [ "wlp6s0" ]
|
13
|
-
i.vm.network :forwarded_port, guest: 22, host: 2241
|
14
|
-
i.vm.synced_folder "./", "/vagrant"
|
15
|
-
i.vm.provision "shell", path: 'install-software.sh'
|
16
|
-
|
17
|
-
# Configure VIRTUALBOX
|
18
|
-
i.vm.provider "virtualbox" do |v|
|
19
|
-
v.name = 'vagrant-debian'
|
20
|
-
v.memory = 2048
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
data/vagrant/manjaro/.gitignore
DELETED
data/vagrant/manjaro/Vagrantfile
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
# -*- mode: ruby -*-
|
2
|
-
# vi: set ft=ruby :
|
3
|
-
|
4
|
-
Vagrant.configure("2") do |config|
|
5
|
-
config.vm.define "vagrant-manjaro" do |i|
|
6
|
-
i.vm.box = "marashni/manjaro64"
|
7
|
-
i.vm.box_version = "0.0.1"
|
8
|
-
i.vm.hostname = "vagrant-manjaro"
|
9
|
-
# i.vm.network "public_network", bridge: [ "eth0" ]
|
10
|
-
# i.vm.network "public_network", bridge: [ "wlan0" ]
|
11
|
-
i.vm.network :forwarded_port, guest: 22, host: 2251
|
12
|
-
i.vm.synced_folder "./", "/vagrant"
|
13
|
-
i.vm.provision "shell", inline: <<-SHELL
|
14
|
-
lsb_release -d
|
15
|
-
SHELL
|
16
|
-
i.vm.provider "virtualbox" do |vm|
|
17
|
-
vm.name = 'vagrant-manjaro'
|
18
|
-
vm.memory = 2048
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
@@ -1,26 +0,0 @@
|
|
1
|
-
# -*- mode: ruby -*-
|
2
|
-
# vi: set ft=ruby :
|
3
|
-
|
4
|
-
Vagrant.configure("2") do |config|
|
5
|
-
config.vm.box = "marashni/manjaro64"
|
6
|
-
config.vm.box_version = "0.0.1"
|
7
|
-
|
8
|
-
config.vm.hostname = "vagrant-manjaro"
|
9
|
-
config.vm.synced_folder "./", "/vagrant"
|
10
|
-
|
11
|
-
config.vm.provider "virtualbox" do |vm|
|
12
|
-
vm.name = 'vagrant-manjaro'
|
13
|
-
vm.memory = 2048
|
14
|
-
end
|
15
|
-
|
16
|
-
##
|
17
|
-
# config.vm.define "mv1" do |i|
|
18
|
-
# i.vm.box = "marashni/manjaro64"
|
19
|
-
# ...
|
20
|
-
# end
|
21
|
-
#
|
22
|
-
# config.vm.define "mv2" do |i|
|
23
|
-
# ...
|
24
|
-
# end
|
25
|
-
end
|
26
|
-
|
data/vagrant/minix/.gitignore
DELETED
data/vagrant/minix/README.md
DELETED
@@ -1,6 +0,0 @@
|
|
1
|
-
|
2
|
-
# minix3
|
3
|
-
|
4
|
-
* [Instalar paquetes](https://veopinguinos.wordpress.com/2015/03/02/minix-3-ii-configuracion-y-algo-de-administracion/)
|
5
|
-
* [Configurar la red](https://wiki.minix3.org/doku.php?id=usersguide:networkconfiguration)
|
6
|
-
* [SSH](https://wiki.minix3.org/doku.php?id=usersguide:settingupssh)
|
data/vagrant/minix/Vagrantfile
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
Vagrant.configure("2") do |config|
|
2
|
-
config.vm.define "vagrant-minix" do |i|
|
3
|
-
i.vm.box = "mcandre/minix"
|
4
|
-
i.vm.box_version = "0.0.1"
|
5
|
-
|
6
|
-
i.vm.hostname = "vagrant-minix"
|
7
|
-
#i.vm.network "public_network", bridge: [ "eth0" ]
|
8
|
-
#i.vm.network "public_network", bridge: [ "wlan0" ]
|
9
|
-
i.vm.network :forwarded_port, guest: 22, host: 2252
|
10
|
-
i.vm.synced_folder "./", "/vagrant"
|
11
|
-
i.vm.provision "shell", inline: <<-SHELL
|
12
|
-
hostname
|
13
|
-
SHELL
|
14
|
-
i.vm.provider "virtualbox" do |v|
|
15
|
-
v.name = 'vagrant-minix'
|
16
|
-
v.memory = 2048
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
data/vagrant/opensuse/.gitignore
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
# -*- mode: ruby -*-
|
2
|
-
# vi: set ft=ruby :
|
3
|
-
|
4
|
-
Vagrant.configure("2") do |config|
|
5
|
-
config.vm.define "vagrant-opensuse" do |i|
|
6
|
-
# Configure BOX
|
7
|
-
i.vm.box = "generic/opensuse15"
|
8
|
-
|
9
|
-
# Configure VM
|
10
|
-
i.vm.hostname = "vagrant-opensuse"
|
11
|
-
# i.vm.network "public_network", bridge: [ "eth0" ]
|
12
|
-
# i.vm.network "public_network", bridge: [ "wlan0" ]
|
13
|
-
i.vm.network :forwarded_port, guest: 22, host: 2222
|
14
|
-
i.vm.network :forwarded_port, guest: 22, host: 2231
|
15
|
-
i.vm.synced_folder "./", "/vagrant"
|
16
|
-
i.vm.provision "shell", path: 'install-software.sh'
|
17
|
-
|
18
|
-
# Configure VIRTUALBOX
|
19
|
-
i.vm.provider "virtualbox" do |v|
|
20
|
-
v.name = 'vagrant-opensuse'
|
21
|
-
v.memory = 2048
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
@@ -1 +0,0 @@
|
|
1
|
-
.vagrant
|
@@ -1,20 +0,0 @@
|
|
1
|
-
# -*- mode: ruby -*-
|
2
|
-
# vi: set ft=ruby :
|
3
|
-
|
4
|
-
Vagrant.configure("2") do |config|
|
5
|
-
config.vm.define "opensuse-kde" do |i|
|
6
|
-
i.vm.box = "microlinux/opensuse-15.3-kde"
|
7
|
-
i.vm.hostname = "kde42"
|
8
|
-
#i.vm.network "public_network", bridge: [ "eth1" ]
|
9
|
-
i.vm.network :forwarded_port, guest: 22, host: 2232
|
10
|
-
i.vm.synced_folder "./", "/vagrant"
|
11
|
-
i.vm.provision "shell", inline: <<-SHELL
|
12
|
-
zypper refresh
|
13
|
-
zypper in -y vim tree nmap
|
14
|
-
SHELL
|
15
|
-
i.vm.provider "virtualbox" do |v|
|
16
|
-
v.name = 'opensuse-kde'
|
17
|
-
v.memory = 2048
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
data/vagrant/ubuntu/.gitignore
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
text = <<-TEXT
|
4
|
-
apt install -y vim tree nmap
|
5
|
-
apt install -y git
|
6
|
-
apt install -y figlet
|
7
|
-
|
8
|
-
figlet ubuntu > /etc/motd
|
9
|
-
echo "" >> /etc/motd
|
10
|
-
echo "David Vargas Ruiz" >> /etc/motd
|
11
|
-
echo "https://github.com/dvarrui" >> /etc/motd
|
12
|
-
|
13
|
-
echo "# Adding more alias" >> /home/vagrant/.bashrc
|
14
|
-
echo "alias c='clear'" >> /home/vagrant/.bashrc
|
15
|
-
echo "alias v='vdir'" >> /home/vagrant/.bashrc
|
16
|
-
|
17
|
-
lsb_release -d
|
18
|
-
TEXT
|
19
|
-
|
20
|
-
lines = text.split("\n")
|
21
|
-
total = lines.size
|
22
|
-
lines.each_with_index do |line, index|
|
23
|
-
print "=" * 10
|
24
|
-
print " [ INFO ] Step #{index + 1}/#{total}"
|
25
|
-
puts "=" * 10
|
26
|
-
system(line)
|
27
|
-
end
|
data/vagrant/ubuntu/Vagrantfile
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
# -*- mode: ruby -*-
|
2
|
-
# vi: set ft=ruby :
|
3
|
-
|
4
|
-
HOSTNAME = "vagrant-ubuntu"
|
5
|
-
Vagrant.configure("2") do |config|
|
6
|
-
config.vm.define HOSTNAME do |i|
|
7
|
-
# Configure box
|
8
|
-
i.vm.box = "ubuntu/focal64"
|
9
|
-
|
10
|
-
# Configure VM
|
11
|
-
i.vm.hostname = HOSTNAME
|
12
|
-
# i.vm.network "public_network", bridge: [ "eth0" ]
|
13
|
-
# i.vm.network "public_network", bridge: [ "wlan0" ]
|
14
|
-
i.vm.network :forwarded_port, guest: 22, host: 2242
|
15
|
-
i.vm.synced_folder "./", "/vagrant"
|
16
|
-
# i.vm.provision "shell", path: 'install-software.sh'
|
17
|
-
i.vm.provision "shell", inline: "apt-get update"
|
18
|
-
i.vm.provision "shell", inline: "apt-get install -y ruby"
|
19
|
-
i.vm.provision "shell", path: "install-software.rb"
|
20
|
-
|
21
|
-
# Configure provider
|
22
|
-
i.vm.provider "virtualbox" do |v|
|
23
|
-
v.name = HOSTNAME
|
24
|
-
v.memory = 2048
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
@@ -1,27 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
text = <<-TEXT
|
4
|
-
apt install -y vim tree nmap
|
5
|
-
apt install -y git
|
6
|
-
apt install -y figlet
|
7
|
-
|
8
|
-
figlet ubuntu > /etc/motd
|
9
|
-
echo "" >> /etc/motd
|
10
|
-
echo "David Vargas Ruiz" >> /etc/motd
|
11
|
-
echo "https://github.com/dvarrui" >> /etc/motd
|
12
|
-
|
13
|
-
echo "# Adding more alias" >> /home/vagrant/.bashrc
|
14
|
-
echo "alias c='clear'" >> /home/vagrant/.bashrc
|
15
|
-
echo "alias v='vdir'" >> /home/vagrant/.bashrc
|
16
|
-
|
17
|
-
lsb_release -d
|
18
|
-
TEXT
|
19
|
-
|
20
|
-
lines = text.split("\n")
|
21
|
-
total = lines.size
|
22
|
-
lines.each_with_index do |line, index|
|
23
|
-
print "=" * 10
|
24
|
-
print " [ INFO ] Step #{index + 1}/#{total}"
|
25
|
-
puts "=" * 10
|
26
|
-
system(line)
|
27
|
-
end
|
@@ -1 +0,0 @@
|
|
1
|
-
.vagrant
|
@@ -1,17 +0,0 @@
|
|
1
|
-
# -*- mode: ruby -*-
|
2
|
-
# vi: set ft=ruby :
|
3
|
-
|
4
|
-
Vagrant.configure("2") do |config|
|
5
|
-
config.vm.define "vagrant-windows10" do |i|
|
6
|
-
i.vm.box = "senglin/win-10-enterprise-vs2015community"
|
7
|
-
i.vm.box_version = "1.0.0"
|
8
|
-
i.vm.hostname = "vagrant-windows10"
|
9
|
-
# i.vm.network "public_network", bridge: [ "eth0" ]
|
10
|
-
i.vm.network :forwarded_port, guest: 22, host: 2211
|
11
|
-
i.vm.synced_folder "./", "/vagrant"
|
12
|
-
i.vm.provider "virtualbox" do |v|
|
13
|
-
v.name = "vagrant-windows10"
|
14
|
-
v.memory = 2048
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
# -*- mode: ruby -*-
|
2
|
-
# vi: set ft=ruby :
|
3
|
-
|
4
|
-
Vagrant.configure("2") do |config|
|
5
|
-
config.vm.define "windows10" do |i|
|
6
|
-
i.vm.box = "Microsoft/EdgeOnWindows10"
|
7
|
-
i.vm.box_version = "1.0"
|
8
|
-
i.vm.hostname = "profesor42w10"
|
9
|
-
i.vm.network "public_network", bridge: [ "eth0" ]
|
10
|
-
i.vm.network :forwarded_port, guest: 80, host: 8081
|
11
|
-
i.vm.provider "virtualbox" do |v|
|
12
|
-
v.name = "windows10-edge"
|
13
|
-
v.memory = 2048
|
14
|
-
end
|
15
|
-
|
16
|
-
i.ssh.username = "IEUser"
|
17
|
-
i.ssh.password = "Passw0rd"
|
18
|
-
end
|
19
|
-
end
|
data/vagrant/windows7/.gitignore
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
# -*- mode: ruby -*-
|
2
|
-
# vi: set ft=ruby :
|
3
|
-
|
4
|
-
HOSTNAME = "vagrant-windows7"
|
5
|
-
|
6
|
-
Vagrant.configure("2") do |config|
|
7
|
-
config.vm.define HOSTNAME do |i|
|
8
|
-
i.vm.box = "gusztavvargadr/windows-server"
|
9
|
-
i.vm.hostname = HOSTNAME
|
10
|
-
# i.vm.network "public_network", bridge: [ "eth0" ]
|
11
|
-
i.vm.network "public_network", bridge: ["wlan0"]
|
12
|
-
# i.vm.network :forwarded_port, guest: 22, host: 1122
|
13
|
-
i.vm.synced_folder "./", "/vagrant"
|
14
|
-
# i.ssh.username = "IEUser"
|
15
|
-
# i.ssh.password = "Passw0rd"
|
16
|
-
i.vm.provider "virtualbox" do |v|
|
17
|
-
v.name = HOSTNAME
|
18
|
-
v.memory = 2048
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
# -*- mode: ruby -*-
|
2
|
-
# vi: set ft=ruby :
|
3
|
-
|
4
|
-
Vagrant.configure("2") do |config|
|
5
|
-
config.vm.define "vagrant-winserver" do |i|
|
6
|
-
i.vm.box = "gusztavvargadr/windows-server"
|
7
|
-
i.vm.hostname = "vagrant-winserver"
|
8
|
-
# i.vm.network "public_network", bridge: [ "eth0" ]
|
9
|
-
# i.vm.network "public_network", bridge: [ "wlan0" ]
|
10
|
-
i.vm.network :forwarded_port, guest: 22, host: 2221
|
11
|
-
i.vm.synced_folder "./", "/vagrant"
|
12
|
-
# i.ssh.username = "IEUser"
|
13
|
-
# i.ssh.password = "Passw0rd"
|
14
|
-
i.vm.provider "virtualbox" do |v|
|
15
|
-
v.name = "vagrant-winserver"
|
16
|
-
v.memory = 2048
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|