sftp_server 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,3 @@
1
+ module SFTPServer
2
+ VERSION = "0.5.0"
3
+ end
@@ -0,0 +1,30 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+ require 'bundler/setup'
5
+
6
+ require 'sftp_server'
7
+
8
+ dsa_key = File.expand_path('../keys/ssh_host_dsa_key', __FILE__)
9
+ fail "could not find dsa key file: #{dsa_key}" unless File.exist?(dsa_key)
10
+
11
+ rsa_key = File.expand_path('../keys/ssh_host_rsa_key', __FILE__)
12
+ fail "could not find rsa key file: #{rsa_key}" unless File.exist?(rsa_key)
13
+
14
+ server_pid = fork do
15
+ server = SFTPServer::Server.new(
16
+ dsa_key: dsa_key,
17
+ rsa_key: rsa_key,
18
+ user_name: 'test',
19
+ password: 'test',
20
+ port: '2299',
21
+ listen_address: '0.0.0.0'
22
+ )
23
+ server.open
24
+ end
25
+
26
+ puts 'Waiting for server to close'
27
+
28
+ Process.wait(server_pid)
29
+
30
+ puts 'Server closed'
@@ -0,0 +1,22 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+ require 'bundler/setup'
5
+
6
+ require 'sftp_server'
7
+
8
+ dsa_key = File.expand_path('../keys/ssh_host_dsa_key', __FILE__)
9
+ fail "could not find dsa key file: #{dsa_key}" unless File.exist?(dsa_key)
10
+
11
+ rsa_key = File.expand_path('../keys/ssh_host_rsa_key', __FILE__)
12
+ fail "could not find rsa key file: #{rsa_key}" unless File.exist?(rsa_key)
13
+
14
+ server = SFTPServer::Server.new(
15
+ dsa_key: dsa_key,
16
+ rsa_key: rsa_key,
17
+ user_name: 'test',
18
+ password: 'test',
19
+ port: '2299',
20
+ listen_address: '0.0.0.0'
21
+ )
22
+ server.open
@@ -0,0 +1,12 @@
1
+ -----BEGIN DSA PRIVATE KEY-----
2
+ MIIBvAIBAAKBgQDUnWaAEUbM+bWDaTN5Uy8vP5GHlypG9s8cazJBMUxZ93scQWUM
3
+ 3rvcYIL7qLlaUBgX99pvpP2v0R+a6vspk0u2AIRvh+u+CLkNwzDuX9dZsc0U3zTS
4
+ dkubnRUxzbRME2zQ6/8hWlmjL+B5wQEyxDwHJNj12huugZN4uvnfX0SVHwIVAPAX
5
+ qlM6kufiCFPurQCnmZYPJooNAoGBAK3NmzU0uQ9Wq18U6DBE3snufvdS23L414V6
6
+ LYnW08EbImk0Aw3GtMSmsYAvK9ZrULpT6zBT708RPBrpbXV+a/vnH3NC8g0kWf5B
7
+ 7FqvUg+BtKTqZueXASiyI8Rgy1sRuyM3dQyQrw9Sk87RpeFZ/hYirO/RlGg543ga
8
+ rZkuMQyCAoGBAIhuiivxtt2co1SD6DIy5KwzogSq3na5R8h9tmswcwfXCFqwAYPs
9
+ Z095lfv6kl3m5PANnki5egeZIcUWeMNMm2FnqXbQ8RhPsX+RnGYLJZg147Sg4ljJ
10
+ UrGcooxXY8wim7mQBOKkRcBarAzLdQbPZqIyufQQaRf4xRSjmGTU/40vAhRx8jx2
11
+ ZnxlEEzjY0z4ZKsj7VvQeA==
12
+ -----END DSA PRIVATE KEY-----
@@ -0,0 +1 @@
1
+ ssh-dss AAAAB3NzaC1kc3MAAACBANSdZoARRsz5tYNpM3lTLy8/kYeXKkb2zxxrMkExTFn3exxBZQzeu9xggvuouVpQGBf32m+k/a/RH5rq+ymTS7YAhG+H674IuQ3DMO5f11mxzRTfNNJ2S5udFTHNtEwTbNDr/yFaWaMv4HnBATLEPAck2PXaG66Bk3i6+d9fRJUfAAAAFQDwF6pTOpLn4ghT7q0Ap5mWDyaKDQAAAIEArc2bNTS5D1arXxToMETeye5+91LbcvjXhXotidbTwRsiaTQDDca0xKaxgC8r1mtQulPrMFPvTxE8GultdX5r++cfc0LyDSRZ/kHsWq9SD4G0pOpm55cBKLIjxGDLWxG7Izd1DJCvD1KTztGl4Vn+FiKs79GUaDnjeBqtmS4xDIIAAACBAIhuiivxtt2co1SD6DIy5KwzogSq3na5R8h9tmswcwfXCFqwAYPsZ095lfv6kl3m5PANnki5egeZIcUWeMNMm2FnqXbQ8RhPsX+RnGYLJZg147Sg4ljJUrGcooxXY8wim7mQBOKkRcBarAzLdQbPZqIyufQQaRf4xRSjmGTU/40v mscottford@blaster.local
@@ -0,0 +1,27 @@
1
+ -----BEGIN RSA PRIVATE KEY-----
2
+ MIIEogIBAAKCAQEAseQ1yBfMhrP33iV8XdU4IFM69CPlJXvfksasWtGFcsElSnKH
3
+ m5m+4+3i0KtVdvl+v2jCZrl2gDprd5mqVhdFJBOxj7yC2nHhcpd95gsctLOGqy08
4
+ lJUVdRLvJwmqsTgQe2BmiyMgW2PqR0+A23Ze3AFZOpvZ5YFGNoS9xmez/BKa8ryH
5
+ ZtFIGtS3yQIzfvFnUmgx5rioaUiesz2MQPuNRnSq71k9st+iE8MC3sNfpJzswnP3
6
+ 7o28T1N0gynWgBozQGrf/rSnWdvjrYBNBXZ+G62qA4VsKvQFFaPiWhY315OfJxjq
7
+ pmzZvmPzKA6yssuQQUWpiRNTzWdhH6cIKFtlswIDAQABAoIBACh4oPu63l8vBo9V
8
+ u+ulHLXN+bWdjP5wJjdAV+n5jQDEjHVZhRyTZ+h3MIkE0dbVgE6PyNqSCzG1GMoG
9
+ /cfEV4iTqmvnGWYVTpNBf/UcRhWeWl8LVaMAH/eYrSwWeO0Esks/bVTuUug33Q8I
10
+ OWq0jXREIkbBOluKg6zXmk1PPpV0TIe30ahQmRu2EjKsPZ6OGOjq3kIBkybNWi6I
11
+ Ucs5hhLeMP/qbPTIUCQBE7hm3qH58pMjwIt0ToU1WOfa8DrsU4q9K/KnkoeIED3d
12
+ j3MdE8YRCX1osTbbARkHumTUzU4V9tX7/Vry7zcSlGMVyNAC06Svwg1Sn6Nb6Nsj
13
+ Y+Am5FECgYEA7MqMReF2L7c6t/4dElMqV4PSUUxuCtBOVkRQnJcj6csIDV6Gl9xf
14
+ dd/BlVxWZBTXMm5Br9n44kGdQXfBaI3ThU5Gl85sdE42Yv7QLhsdHWvZ7YhjeZky
15
+ NP/cW/aqpWknx86uMGXNt6QZnATQlhpyqxn9/vvDfZ7ouiZhuhVnQMUCgYEAwFJ9
16
+ FXYSB+9pRe9j58+DN2ICGElA4LCykMEFuT5NmzvkUyaEnSEZLEz71c6dWVy77oGN
17
+ mGnvO8HkhXA7Imbzo46dLdpxHJGPUsWYgc0eBiYLKuijQkdfzx97tqjv2Ev1Atqv
18
+ sT1JJQV7+FUZtra1nguCehShuDQiWCWZP1DjhBcCgYBOJcbHpVI5CzKw2IfFrXbS
19
+ 7SlzNVM39Gl2JROpqmPq29vrdZ/b7JoAr/kWjyPf4dTnyuWY4Mo3+cmpepl1JSGC
20
+ 5EN+BF1cwRdH8qrIHKCuPhLtRs71qa6dOTgDjdPhxWOgmMB6Lo8HJXxiNmCUuWPQ
21
+ vkJKbdKl2dUa4mHsZPXvtQKBgC+K9ML+ahyuEX8pW7Ate0mQn+XzDee9ppbkMI8H
22
+ mNW8K4hmqDfTu85YxZSoO/ugUhD209MOtQY3u09FXEj33FjdY3u3WWjvjteuYzIL
23
+ S9XHR9F2qw0yabvhE4snHguBU3M+LlqJRPCy919/Yhjp9+G3BK07NnM76BWUTdr6
24
+ GxRHAoGAAVxsLT3iLet7i1Ye/5dzqH/obRklRRApZKSWEGsxB9T3Qi69RAfxxEbn
25
+ N3HYkL1RCbkY4vRGq7l8voHpZW6mlNmXT1M/56PD/1F0LyGjcU/QwvMRjjMbEviT
26
+ uqjNrNT5hfC7SOdkwrl4kV//2B82I/nybyhbFCEayoBpPLPAl+0=
27
+ -----END RSA PRIVATE KEY-----
@@ -0,0 +1 @@
1
+ ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCx5DXIF8yGs/feJXxd1TggUzr0I+Ule9+Sxqxa0YVywSVKcoebmb7j7eLQq1V2+X6/aMJmuXaAOmt3mapWF0UkE7GPvILaceFyl33mCxy0s4arLTyUlRV1Eu8nCaqxOBB7YGaLIyBbY+pHT4Dbdl7cAVk6m9nlgUY2hL3GZ7P8EpryvIdm0Uga1LfJAjN+8WdSaDHmuKhpSJ6zPYxA+41GdKrvWT2y36ITwwLew1+knOzCc/fujbxPU3SDKdaAGjNAat/+tKdZ2+OtgE0Fdn4braoDhWwq9AUVo+JaFjfXk58nGOqmbNm+Y/MoDrKyy5BBRamJE1PNZ2EfpwgoW2Wz mscottford@blaster.local
@@ -0,0 +1,25 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'sftp_server/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "sftp_server"
8
+ spec.version = SFTPServer::VERSION
9
+ spec.authors = ["M. Scott Ford"]
10
+ spec.email = ["scott@corgibytes.com"]
11
+ spec.summary = %q{A simple SFTP server for testing clients}
12
+ spec.description = %q{Uses libssh via FFI to create an SFTP server. Useful for testing interactions with a remote SFTP server.}
13
+ spec.homepage = "https://github.com/corgibytes/sftp_server"
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files -z`.split("\x0")
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_development_dependency "bundler", "~> 1.7"
22
+ spec.add_development_dependency "rake", "~> 10.0"
23
+
24
+ spec.add_dependency 'ffi', '~> 1.9'
25
+ end
metadata ADDED
@@ -0,0 +1,105 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sftp_server
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.5.0
5
+ platform: ruby
6
+ authors:
7
+ - M. Scott Ford
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-12-31 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.7'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.7'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: ffi
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.9'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.9'
55
+ description: Uses libssh via FFI to create an SFTP server. Useful for testing interactions
56
+ with a remote SFTP server.
57
+ email:
58
+ - scott@corgibytes.com
59
+ executables: []
60
+ extensions: []
61
+ extra_rdoc_files: []
62
+ files:
63
+ - ".gitignore"
64
+ - ".ruby-version"
65
+ - Gemfile
66
+ - LICENSE.txt
67
+ - README.md
68
+ - Rakefile
69
+ - lib/sftp_server.rb
70
+ - lib/sftp_server/c/api.rb
71
+ - lib/sftp_server/server.rb
72
+ - lib/sftp_server/ssh/api.rb
73
+ - lib/sftp_server/version.rb
74
+ - sample/background.rb
75
+ - sample/basic.rb
76
+ - sample/keys/ssh_host_dsa_key
77
+ - sample/keys/ssh_host_dsa_key.pub
78
+ - sample/keys/ssh_host_rsa_key
79
+ - sample/keys/ssh_host_rsa_key.pub
80
+ - sftp_server.gemspec
81
+ homepage: https://github.com/corgibytes/sftp_server
82
+ licenses:
83
+ - MIT
84
+ metadata: {}
85
+ post_install_message:
86
+ rdoc_options: []
87
+ require_paths:
88
+ - lib
89
+ required_ruby_version: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - ">="
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ required_rubygems_version: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ requirements: []
100
+ rubyforge_project:
101
+ rubygems_version: 2.2.2
102
+ signing_key:
103
+ specification_version: 4
104
+ summary: A simple SFTP server for testing clients
105
+ test_files: []