palava_machine 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MmE4MWM3YTA5NjYxMzQ3ODM4ODlmZmM2NDkxY2EzOWJhMTY4MDgwNw==
5
- data.tar.gz: !binary |-
6
- ZTY4OTY5YjI4ODQxNTY5ZThjMGIzYTRmNWMzNTRlOWI5Mjk1ZDVhOQ==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- OTcwZTY0YWZjYmIwZWViZjQ2NzljM2ZhM2Y1NTM0ZDVlYzRhZThjMTYxZTBm
10
- NDUyOGZjYjcyNDJlYzBkYTVlYTM4MTA1NWY5NDkyZTg4MGQ4NzQxOWU5NDli
11
- YTdkZGNlNGY5MTEwMGNmMWY5MjQ2MzU0Y2M4ZGY4M2FlYWFlYTg=
12
- data.tar.gz: !binary |-
13
- MzVmMzk1NzdjMDk2MjU5ZmJmNDc5YmY0OWQxNjcxYThkNWM4MDQ0NGFlMjk4
14
- OGI1ZmExM2NmNGY0OTUwM2IxOTdmOTFlNzUwNWUwNTNkYmY3MDQyNmM0NjAy
15
- MjUzYWI0ZmU2OWEwNDY1ZGU3OWI5ZmVjYThhYTAxYmU2MDUzM2M=
2
+ SHA256:
3
+ metadata.gz: e101a30d7ba5b405fe74ca2650addd08a292e33f5c9f98a1171776ebbe9ad5eb
4
+ data.tar.gz: eb780d084fce489cd4fb1726fd2c484512ca5a5de80ed8b276377d2aa23e04d4
5
+ SHA512:
6
+ metadata.gz: 4f25f260258caaa6e0302b82442c523be890aebafe7b977ce05a571fdbfa3eeec298ae7dcc54f74283d508904fc522aaac6bbbdc5347e23361a3f8f15e1dbd7d
7
+ data.tar.gz: 760ce85c0c7c0373a7b635694402b466d4d7d8e7e826a6ad88978bdbe6a66084cbcaa6870b8a181d02214cfb8a8e4a5bc55291b112e6561ee664bcd3f71f21f1
@@ -1,3 +1,9 @@
1
+ ## 1.0.2
2
+ - Fix EM trap context message for newer Rubies
3
+ - Update Rakefile, CI etc to current situation
4
+ - Update hiredis dependency
5
+ - Allow 'message' event type in send\_to\_peer
6
+
1
7
  ## 1.0.1
2
8
  - Don't verify ws sup-protocol for now
3
9
  - Only use integers for stat user counts
data/Gemfile CHANGED
@@ -1,4 +1,3 @@
1
1
  source 'https://rubygems.org'
2
- # ruby '2.0.0'
3
- ruby '1.9.3'
2
+
4
3
  gemspec
@@ -0,0 +1,71 @@
1
+ # PalavaMachine [![[version]](https://badge.fury.io/rb/palava_machine.svg)](https://badge.fury.io/rb/palava_machine) [![[travis]](https://travis-ci.org/janlelis/palava_machine.png)](https://travis-ci.org/janlelis/palava_machine)
2
+
3
+ [palava.tv](https://palava.tv) is simplistic video communication with your friends and colleagues from within your web browser. It is build on top of the [WebRTC](https://webrtc.org/) technology. No registration or browser plugin required.
4
+
5
+ Please see the [palava repository](https://github.com/palavatv/palava) for an overview of palava and report issues there.
6
+
7
+ PalavaMachine is a WebRTC signaling server. Signaling describes the process of finding other peers and exchange information about how to establish a media connection. It works together with the [palava-client](https://github.com/palavatv/palava-client).
8
+
9
+ The server is implemented in [EventMachine](https://github.com/eventmachine/eventmachine/) and [Redis PubSub](https://redis.io/topics/pubsub) and communication to the clients is done via WebSockets.
10
+
11
+ **This application is currently not part of the palava.tv stack**
12
+
13
+ It was replaced by [SignalTower](https://github.com/farao/signaltower/), which is written in Elixir and uses the same protocol. Although this project is currently not actively worked on, it still functions as a drop-in replacement for the SignalTower and might also be developed further at some point.
14
+
15
+ ## Installation & Usage
16
+
17
+ Make sure you have redis(https://redis.io/download) installed, then install the [palava_machine gem](https://rubygems.org/gems/palava_machine):
18
+
19
+ $ gem install palava_machine
20
+
21
+ To start the server on port 4233, run:
22
+
23
+ $ palava-machine
24
+
25
+ ### Daemonized Version
26
+
27
+ The PalavaMachine can be started as a daemon process for production usage:
28
+
29
+ $ palava-machine-daemon start
30
+
31
+ Stop it with
32
+
33
+ $ palava-machine-daemon stop
34
+
35
+ ### Configure using Environment Variables
36
+
37
+ You can set the address of the redis server via environment variable. The default is 'localhost:6379'.
38
+
39
+ $ export PALAVA_REDIS="some_ip:some_port"
40
+ $ bin/palava-machine
41
+
42
+ ### Specs
43
+
44
+ To run the test suite use
45
+
46
+ $ rspec
47
+
48
+ ## Credits
49
+
50
+ AGPLv3. Part of the [palava project](https://palava.tv).
51
+
52
+ Copyright (C) 2014-2020 palava e. V. contact@palava.tv
53
+
54
+ Copyright (C) 2013 Jan Lelis hi@ruby.consulting
55
+ Copyright (C) 2013 Marius Melzer marius@rasumi.net
56
+ Copyright (C) 2013 Stephan Thamm stephan@innovailable.eu
57
+ Copyright (C) 2013 Kilian Ulbrich kilian@innovailable.eu
58
+
59
+ This program is free software: you can redistribute it and/or modify
60
+ it under the terms of the GNU Affero General Public License as
61
+ published by the Free Software Foundation, either version 3 of the
62
+ License, or (at your option) any later version.
63
+
64
+ This program is distributed in the hope that it will be useful,
65
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
66
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
67
+ GNU Affero General Public License for more details.
68
+
69
+ You should have received a copy of the GNU Affero General Public
70
+ License along with this program. If not, see
71
+ <http://www.gnu.org/licenses/>.
data/Rakefile CHANGED
@@ -1,8 +1,9 @@
1
1
  require 'fileutils'
2
2
  require 'bundler/setup'
3
3
  require 'yaml'
4
+ require 'redis'
4
5
  require 'resque/tasks'
5
- require 'resque_scheduler/tasks'
6
+ require 'resque/scheduler/tasks'
6
7
 
7
8
  ROOT_PATH = File.dirname(__FILE__) + '/../'
8
9
 
@@ -34,16 +35,6 @@ def run_scheduler
34
35
  Process.detach(pid)
35
36
  end
36
37
 
37
-
38
- namespace :deploy do
39
- # desc 'whiskey_disk deploy hook'
40
- # task :post_deploy => %w[
41
- # resque:restart_workers
42
- # resque:restart_scheduler
43
- # ]
44
- end
45
-
46
-
47
38
  namespace :resque do
48
39
  task :environment do
49
40
  require 'resque'
@@ -140,7 +131,7 @@ end
140
131
 
141
132
  desc "Install the gem locally"
142
133
  task :install => :gem do
143
- sh %{gem install pkg/#{gemspec.name}-#{gemspec.version}.gem --no-rdoc --no-ri}
134
+ sh %{gem install pkg/#{gemspec.name}-#{gemspec.version}.gem --no-doc}
144
135
  end
145
136
 
146
137
  desc "Generate the gemspec"
@@ -158,6 +149,6 @@ task :spec do
158
149
  sh %[rspec spec]
159
150
  end
160
151
 
161
- task :default => :gemspec
152
+ task :default => :spec
162
153
  task :test => :spec
163
154
 
@@ -3,5 +3,6 @@ require 'daemons'
3
3
 
4
4
  Daemons.run("#{File.dirname(__FILE__)}/palava-machine",
5
5
  multiple: true,
6
- ARGV: ARGV + ['--', '4240', '5']
6
+ ARGV: ARGV + ['--', '4240', '5'],
7
+ monitor: true,
7
8
  )
@@ -69,7 +69,7 @@ module PalavaMachine
69
69
 
70
70
 
71
71
  def initialize(options = {})
72
- @redis_address = 'localhost:6379'
72
+ @redis_address = ENV['PALAVA_REDIS'] || 'localhost:6379'
73
73
  @redis_db = options[:db] || 0
74
74
  @connections = SocketStore.new
75
75
  @log = Logger.new(STDOUT)
@@ -167,7 +167,7 @@ module PalavaMachine
167
167
  private :get_statuses_for_members
168
168
 
169
169
  def send_joined_room(connection_id, members_with_statuses)
170
- @connections[connection_id].send_text({
170
+ @connections[connection_id] and @connections[connection_id].send_text({
171
171
  event: 'joined_room',
172
172
  own_id: connection_id,
173
173
  peers: members_with_statuses,
@@ -234,7 +234,7 @@ module PalavaMachine
234
234
  @redis.sismember("store:room:members:#{room_id}", peer_id) do |is_member|
235
235
  return_error connection_id, 'unknown peer' if is_member.nil? || is_member.zero?
236
236
 
237
- unless %w[offer answer ice_candidate].include? data['event']
237
+ unless %w[offer answer ice_candidate message].include? data['event']
238
238
  return_error connection_id, 'event not allowed'
239
239
  end
240
240
 
@@ -37,8 +37,8 @@ module PalavaMachine
37
37
  manager.shutdown!
38
38
  EM.stop
39
39
  else
40
- manager.announce_shutdown(timeout)
41
- EM.next_tick do
40
+ EM.add_timer(0) do
41
+ manager.announce_shutdown(timeout)
42
42
  manager.shutdown!(timeout)
43
43
  EM.stop
44
44
  end
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module PalavaMachine
2
- VERSION = "1.0.1"
4
+ VERSION = "1.0.2"
3
5
  PROTOCOL_VERSION = "1.0.0"
4
6
 
5
7
  def self.protocol_identifier
@@ -4,38 +4,36 @@ name = 'palava_machine'
4
4
  require File.dirname(__FILE__) + "/lib/#{name}/version"
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.required_ruby_version = '>= 1.9.2'
7
+ s.required_ruby_version = '~> 2.1'
8
8
  s.name = name
9
9
  s.version = PalavaMachine::VERSION
10
10
  s.authors = ["Jan Lelis", "Marius Melzer", "Stephan Thamm", "Kilian Ulbrich"]
11
11
  s.email = "contact@palava.tv"
12
12
  s.homepage = 'https://github.com/palavatv/palava-machine'
13
13
  s.license = 'AGPL-3.0'
14
- s.summary = "The machine behind palava."
15
- s.description = "A WebRTC Signaling Server implemented with WebSockets, EventMachine and Redis Pub-Sub"
14
+ s.summary = "Implementation of the palava protocol for WebRTC signaling"
15
+ s.description = "A WebRTC signaling server implemented with WebSockets, EventMachine and Redis Pub-Sub"
16
16
  s.files = Dir.glob(%w[{lib,test}/**/*.rb bin/* [A-Z]*.{txt,rdoc} ext/**/*.{rb,c} features/**/*]) + %w{Rakefile palava_machine.gemspec Gemfile}
17
- s.extra_rdoc_files = ["ReadMe.md", "ChangeLog.md", "ProtocolChangeLog.md", "LICENSE.txt"]
17
+ s.extra_rdoc_files = ["README.md", "ChangeLog.md", "ProtocolChangeLog.md", "LICENSE.txt"]
18
18
  s.executables = ['palava-machine', 'palava-machine-daemon']
19
19
 
20
- s.add_dependency 'em-websocket'
20
+ s.add_dependency 'eventmachine', '~> 1.2.7'
21
+ s.add_dependency 'em-websocket', '~> 0.5.1'
21
22
 
22
- s.add_dependency 'hiredis', '~> 0.4.5'
23
- s.add_dependency 'em-hiredis', '~> 0.2.1'
23
+ s.add_dependency 'hiredis', '~> 0.6.3'
24
+ s.add_dependency 'em-hiredis', '~> 0.3.1'
24
25
 
25
- s.add_dependency 'redis', '>= 2.2.0'
26
+ s.add_dependency 'redis', '~> 4.1.3'
26
27
  s.add_dependency 'resque'
27
28
  s.add_dependency 'resque-scheduler'
28
29
  s.add_dependency 'mongo'
29
30
  s.add_dependency 'bson_ext'
30
31
 
31
- s.add_dependency 'bundler'
32
- s.add_dependency 'daemons'
32
+ s.add_dependency 'daemons', '~> 1.3.1'
33
33
  s.add_dependency 'logger-colors'
34
34
  s.add_dependency 'local_port'
35
- s.add_dependency 'rake'
36
- s.add_dependency 'whiskey_disk'
37
35
 
36
+ s.add_development_dependency 'rake'
38
37
  s.add_development_dependency 'rspec'
39
- # s.add_development_dependency 'debugger'
40
38
  end
41
39
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: palava_machine
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Lelis
@@ -11,219 +11,205 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2013-11-29 00:00:00.000000000 Z
14
+ date: 2020-04-29 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
- name: em-websocket
17
+ name: eventmachine
18
18
  requirement: !ruby/object:Gem::Requirement
19
19
  requirements:
20
- - - ! '>='
20
+ - - "~>"
21
21
  - !ruby/object:Gem::Version
22
- version: '0'
22
+ version: 1.2.7
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - ! '>='
27
+ - - "~>"
28
28
  - !ruby/object:Gem::Version
29
- version: '0'
29
+ version: 1.2.7
30
30
  - !ruby/object:Gem::Dependency
31
- name: hiredis
31
+ name: em-websocket
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  requirements:
34
- - - ~>
34
+ - - "~>"
35
35
  - !ruby/object:Gem::Version
36
- version: 0.4.5
36
+ version: 0.5.1
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
- - - ~>
41
+ - - "~>"
42
42
  - !ruby/object:Gem::Version
43
- version: 0.4.5
43
+ version: 0.5.1
44
44
  - !ruby/object:Gem::Dependency
45
- name: em-hiredis
45
+ name: hiredis
46
46
  requirement: !ruby/object:Gem::Requirement
47
47
  requirements:
48
- - - ~>
48
+ - - "~>"
49
49
  - !ruby/object:Gem::Version
50
- version: 0.2.1
50
+ version: 0.6.3
51
51
  type: :runtime
52
52
  prerelease: false
53
53
  version_requirements: !ruby/object:Gem::Requirement
54
54
  requirements:
55
- - - ~>
55
+ - - "~>"
56
56
  - !ruby/object:Gem::Version
57
- version: 0.2.1
57
+ version: 0.6.3
58
58
  - !ruby/object:Gem::Dependency
59
- name: redis
59
+ name: em-hiredis
60
60
  requirement: !ruby/object:Gem::Requirement
61
61
  requirements:
62
- - - ! '>='
62
+ - - "~>"
63
63
  - !ruby/object:Gem::Version
64
- version: 2.2.0
64
+ version: 0.3.1
65
65
  type: :runtime
66
66
  prerelease: false
67
67
  version_requirements: !ruby/object:Gem::Requirement
68
68
  requirements:
69
- - - ! '>='
69
+ - - "~>"
70
70
  - !ruby/object:Gem::Version
71
- version: 2.2.0
71
+ version: 0.3.1
72
72
  - !ruby/object:Gem::Dependency
73
- name: resque
73
+ name: redis
74
74
  requirement: !ruby/object:Gem::Requirement
75
75
  requirements:
76
- - - ! '>='
76
+ - - "~>"
77
77
  - !ruby/object:Gem::Version
78
- version: '0'
78
+ version: 4.1.3
79
79
  type: :runtime
80
80
  prerelease: false
81
81
  version_requirements: !ruby/object:Gem::Requirement
82
82
  requirements:
83
- - - ! '>='
83
+ - - "~>"
84
84
  - !ruby/object:Gem::Version
85
- version: '0'
85
+ version: 4.1.3
86
86
  - !ruby/object:Gem::Dependency
87
- name: resque-scheduler
87
+ name: resque
88
88
  requirement: !ruby/object:Gem::Requirement
89
89
  requirements:
90
- - - ! '>='
90
+ - - ">="
91
91
  - !ruby/object:Gem::Version
92
92
  version: '0'
93
93
  type: :runtime
94
94
  prerelease: false
95
95
  version_requirements: !ruby/object:Gem::Requirement
96
96
  requirements:
97
- - - ! '>='
97
+ - - ">="
98
98
  - !ruby/object:Gem::Version
99
99
  version: '0'
100
100
  - !ruby/object:Gem::Dependency
101
- name: mongo
101
+ name: resque-scheduler
102
102
  requirement: !ruby/object:Gem::Requirement
103
103
  requirements:
104
- - - ! '>='
104
+ - - ">="
105
105
  - !ruby/object:Gem::Version
106
106
  version: '0'
107
107
  type: :runtime
108
108
  prerelease: false
109
109
  version_requirements: !ruby/object:Gem::Requirement
110
110
  requirements:
111
- - - ! '>='
111
+ - - ">="
112
112
  - !ruby/object:Gem::Version
113
113
  version: '0'
114
114
  - !ruby/object:Gem::Dependency
115
- name: bson_ext
115
+ name: mongo
116
116
  requirement: !ruby/object:Gem::Requirement
117
117
  requirements:
118
- - - ! '>='
118
+ - - ">="
119
119
  - !ruby/object:Gem::Version
120
120
  version: '0'
121
121
  type: :runtime
122
122
  prerelease: false
123
123
  version_requirements: !ruby/object:Gem::Requirement
124
124
  requirements:
125
- - - ! '>='
125
+ - - ">="
126
126
  - !ruby/object:Gem::Version
127
127
  version: '0'
128
128
  - !ruby/object:Gem::Dependency
129
- name: bundler
129
+ name: bson_ext
130
130
  requirement: !ruby/object:Gem::Requirement
131
131
  requirements:
132
- - - ! '>='
132
+ - - ">="
133
133
  - !ruby/object:Gem::Version
134
134
  version: '0'
135
135
  type: :runtime
136
136
  prerelease: false
137
137
  version_requirements: !ruby/object:Gem::Requirement
138
138
  requirements:
139
- - - ! '>='
139
+ - - ">="
140
140
  - !ruby/object:Gem::Version
141
141
  version: '0'
142
142
  - !ruby/object:Gem::Dependency
143
143
  name: daemons
144
144
  requirement: !ruby/object:Gem::Requirement
145
145
  requirements:
146
- - - ! '>='
146
+ - - "~>"
147
147
  - !ruby/object:Gem::Version
148
- version: '0'
148
+ version: 1.3.1
149
149
  type: :runtime
150
150
  prerelease: false
151
151
  version_requirements: !ruby/object:Gem::Requirement
152
152
  requirements:
153
- - - ! '>='
153
+ - - "~>"
154
154
  - !ruby/object:Gem::Version
155
- version: '0'
155
+ version: 1.3.1
156
156
  - !ruby/object:Gem::Dependency
157
157
  name: logger-colors
158
158
  requirement: !ruby/object:Gem::Requirement
159
159
  requirements:
160
- - - ! '>='
160
+ - - ">="
161
161
  - !ruby/object:Gem::Version
162
162
  version: '0'
163
163
  type: :runtime
164
164
  prerelease: false
165
165
  version_requirements: !ruby/object:Gem::Requirement
166
166
  requirements:
167
- - - ! '>='
167
+ - - ">="
168
168
  - !ruby/object:Gem::Version
169
169
  version: '0'
170
170
  - !ruby/object:Gem::Dependency
171
171
  name: local_port
172
172
  requirement: !ruby/object:Gem::Requirement
173
173
  requirements:
174
- - - ! '>='
174
+ - - ">="
175
175
  - !ruby/object:Gem::Version
176
176
  version: '0'
177
177
  type: :runtime
178
178
  prerelease: false
179
179
  version_requirements: !ruby/object:Gem::Requirement
180
180
  requirements:
181
- - - ! '>='
181
+ - - ">="
182
182
  - !ruby/object:Gem::Version
183
183
  version: '0'
184
184
  - !ruby/object:Gem::Dependency
185
185
  name: rake
186
186
  requirement: !ruby/object:Gem::Requirement
187
187
  requirements:
188
- - - ! '>='
189
- - !ruby/object:Gem::Version
190
- version: '0'
191
- type: :runtime
192
- prerelease: false
193
- version_requirements: !ruby/object:Gem::Requirement
194
- requirements:
195
- - - ! '>='
196
- - !ruby/object:Gem::Version
197
- version: '0'
198
- - !ruby/object:Gem::Dependency
199
- name: whiskey_disk
200
- requirement: !ruby/object:Gem::Requirement
201
- requirements:
202
- - - ! '>='
188
+ - - ">="
203
189
  - !ruby/object:Gem::Version
204
190
  version: '0'
205
- type: :runtime
191
+ type: :development
206
192
  prerelease: false
207
193
  version_requirements: !ruby/object:Gem::Requirement
208
194
  requirements:
209
- - - ! '>='
195
+ - - ">="
210
196
  - !ruby/object:Gem::Version
211
197
  version: '0'
212
198
  - !ruby/object:Gem::Dependency
213
199
  name: rspec
214
200
  requirement: !ruby/object:Gem::Requirement
215
201
  requirements:
216
- - - ! '>='
202
+ - - ">="
217
203
  - !ruby/object:Gem::Version
218
204
  version: '0'
219
205
  type: :development
220
206
  prerelease: false
221
207
  version_requirements: !ruby/object:Gem::Requirement
222
208
  requirements:
223
- - - ! '>='
209
+ - - ">="
224
210
  - !ruby/object:Gem::Version
225
211
  version: '0'
226
- description: A WebRTC Signaling Server implemented with WebSockets, EventMachine and
212
+ description: A WebRTC signaling server implemented with WebSockets, EventMachine and
227
213
  Redis Pub-Sub
228
214
  email: contact@palava.tv
229
215
  executables:
@@ -231,33 +217,33 @@ executables:
231
217
  - palava-machine-daemon
232
218
  extensions: []
233
219
  extra_rdoc_files:
234
- - ReadMe.md
220
+ - README.md
235
221
  - ChangeLog.md
236
222
  - ProtocolChangeLog.md
237
223
  - LICENSE.txt
238
224
  files:
225
+ - ChangeLog.md
226
+ - Gemfile
227
+ - LICENSE.txt
228
+ - ProtocolChangeLog.md
229
+ - README.md
230
+ - Rakefile
231
+ - bin/palava-machine
232
+ - bin/palava-machine-daemon
239
233
  - lib/palava_machine.rb
234
+ - lib/palava_machine/client_message.rb
235
+ - lib/palava_machine/jobs.rb
236
+ - lib/palava_machine/jobs/export_stats_job.rb
240
237
  - lib/palava_machine/manager.rb
241
- - lib/palava_machine/version.rb
242
- - lib/palava_machine/server/verify_handshake.rb
243
- - lib/palava_machine/server/server_info.rb
244
- - lib/palava_machine/server/core_events.rb
245
- - lib/palava_machine/server/core_support.rb
246
238
  - lib/palava_machine/runner.rb
247
- - lib/palava_machine/jobs.rb
248
- - lib/palava_machine/client_message.rb
249
239
  - lib/palava_machine/server.rb
250
- - lib/palava_machine/jobs/export_stats_job.rb
240
+ - lib/palava_machine/server/core_events.rb
241
+ - lib/palava_machine/server/core_support.rb
242
+ - lib/palava_machine/server/server_info.rb
243
+ - lib/palava_machine/server/verify_handshake.rb
251
244
  - lib/palava_machine/socket_store.rb
252
- - bin/palava-machine-daemon
253
- - bin/palava-machine
254
- - LICENSE.txt
255
- - Rakefile
245
+ - lib/palava_machine/version.rb
256
246
  - palava_machine.gemspec
257
- - Gemfile
258
- - ReadMe.md
259
- - ChangeLog.md
260
- - ProtocolChangeLog.md
261
247
  homepage: https://github.com/palavatv/palava-machine
262
248
  licenses:
263
249
  - AGPL-3.0
@@ -268,18 +254,17 @@ require_paths:
268
254
  - lib
269
255
  required_ruby_version: !ruby/object:Gem::Requirement
270
256
  requirements:
271
- - - ! '>='
257
+ - - "~>"
272
258
  - !ruby/object:Gem::Version
273
- version: 1.9.2
259
+ version: '2.1'
274
260
  required_rubygems_version: !ruby/object:Gem::Requirement
275
261
  requirements:
276
- - - ! '>='
262
+ - - ">="
277
263
  - !ruby/object:Gem::Version
278
264
  version: '0'
279
265
  requirements: []
280
- rubyforge_project:
281
- rubygems_version: 2.0.8
266
+ rubygems_version: 3.1.2
282
267
  signing_key:
283
268
  specification_version: 4
284
- summary: The machine behind palava.
269
+ summary: Implementation of the palava protocol for WebRTC signaling
285
270
  test_files: []
data/ReadMe.md DELETED
@@ -1,68 +0,0 @@
1
- # PalavaMachine
2
-
3
- ## Description
4
-
5
- PalavaMachine is a WebRTC signaling server. Signaling describes the process of finding other peers and exchange information about how to establish a media connection. It works together with the [palava-client](https://github.com/palavatv/palava-client].
6
-
7
- The server is implemented in [EventMachine](http://rubyeventmachine.com/) and [Redis PubSub](http://redis.io/topics/pubsub) and communication to the clients is done via WebSockets. See it in action at [palava.tv.](https://palava.tv)
8
-
9
- ## What can I do with it?
10
-
11
- *This is a pre-release for interested Ruby/JS/WebRTC developers*. If you are unsure, what to use this gem for, you'll just need to wait. We'll soon put a more detailed instructions on our [blog](https://blog.palava.tv).
12
-
13
- ## Installation & Usage
14
-
15
- Make sure you have redis(http://redis.io/download) installed, then clone this repository and run
16
-
17
- $ bundle install
18
-
19
- Start the server with
20
-
21
- $ bin/palava-machine
22
-
23
- Alternatively, download the [palava_machine gem](http://rubygems.org/gems/palava_machine) from rubygems.org:
24
-
25
- $ gem install palava_machine
26
-
27
- And run:
28
-
29
- $ palava-machine
30
-
31
- ### Deamonized Version
32
-
33
- The PalavaMachine can be started as a daemon process for production usage:
34
-
35
- $ palava-machine-daemon start
36
-
37
- Stop it with
38
-
39
- $ palava-machine-daemon stop
40
-
41
- ### Specs
42
-
43
- To run the test suite use
44
-
45
- $ rspec
46
-
47
- ## Credits
48
-
49
- AGPLv3. Part of the [palava project](https://palava.tv).
50
-
51
- Copyright 2013 Jan Lelis jan@signaling.io
52
- Copyright 2013 Marius Melzer marius@signaling.io
53
- Copyright 2013 Stephan Thamm thammi@chaossource.net
54
- Copyright 2013 Kilian Ulbrich kilian@innovailable.eu
55
-
56
- This program is free software: you can redistribute it and/or modify
57
- it under the terms of the GNU Affero General Public License as
58
- published by the Free Software Foundation, either version 3 of the
59
- License, or (at your option) any later version.
60
-
61
- This program is distributed in the hope that it will be useful,
62
- but WITHOUT ANY WARRANTY; without even the implied warranty of
63
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
64
- GNU Affero General Public License for more details.
65
-
66
- You should have received a copy of the GNU Affero General Public
67
- License along with this program. If not, see
68
- <http://www.gnu.org/licenses/>.