bpoweski-apnserver 0.0.14 → 0.0.15
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/bin/apnsend +1 -1
- data/bin/apnserverd +7 -5
- data/lib/apnserver/client.rb +1 -1
- data/lib/apnserver/protocol.rb +2 -2
- data/lib/apnserver/server.rb +3 -2
- metadata +1 -2
- data/apnserver.gemspec +0 -71
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.15
|
data/bin/apnsend
CHANGED
data/bin/apnserverd
CHANGED
@@ -6,8 +6,6 @@ require 'rubygems'
|
|
6
6
|
require 'daemons'
|
7
7
|
require 'apnserver'
|
8
8
|
|
9
|
-
$logger = Logger.new(STDOUT)
|
10
|
-
|
11
9
|
def usage
|
12
10
|
puts "Usage: apnserverd [switches] --pem <path>"
|
13
11
|
puts " --bind-address [0.0.0.0] bind address of proxy"
|
@@ -60,16 +58,20 @@ opts.each do |opt, arg|
|
|
60
58
|
pem = arg
|
61
59
|
when '--daemon'
|
62
60
|
daemon = true
|
63
|
-
$logger = Logger.new('/var/log/apnserverd.log', 'weekly')
|
64
61
|
end
|
65
62
|
end
|
66
63
|
|
64
|
+
$log = Logger.new(STDOUT) unless $log
|
65
|
+
|
67
66
|
if pem.nil?
|
68
67
|
usage
|
69
68
|
exit 1
|
70
69
|
else
|
71
|
-
|
72
|
-
|
70
|
+
if daemon
|
71
|
+
daemonize
|
72
|
+
$stdout = File.new('/var/log/apnserverd', 'a')
|
73
|
+
end
|
74
|
+
server = ApnServer::Server.new(pem, bind_address, proxy_port, $log)
|
73
75
|
server.client.host = host
|
74
76
|
server.client.port = port
|
75
77
|
server.start!
|
data/lib/apnserver/client.rb
CHANGED
@@ -31,7 +31,7 @@ module ApnServer
|
|
31
31
|
end
|
32
32
|
|
33
33
|
def write(notification)
|
34
|
-
|
34
|
+
puts "[#{host}:#{port}] Device: #{notification.device_token.unpack('H*')} sending #{notification.json_payload}"
|
35
35
|
@ssl.write(notification.to_bytes)
|
36
36
|
end
|
37
37
|
|
data/lib/apnserver/protocol.rb
CHANGED
@@ -3,11 +3,11 @@ module ApnServer
|
|
3
3
|
|
4
4
|
def post_init
|
5
5
|
@address = Socket.unpack_sockaddr_in(self.get_peername)
|
6
|
-
|
6
|
+
puts "[#{address.last}:#{address.first}] CONNECT"
|
7
7
|
end
|
8
8
|
|
9
9
|
def unbind
|
10
|
-
|
10
|
+
puts "[#{address.last}:#{address.first}] DISCONNECT"
|
11
11
|
end
|
12
12
|
|
13
13
|
def receive_data(data)
|
data/lib/apnserver/server.rb
CHANGED
@@ -3,7 +3,7 @@ module ApnServer
|
|
3
3
|
class Server
|
4
4
|
attr_accessor :client, :bind_address, :port
|
5
5
|
|
6
|
-
def initialize(pem, bind_address = '0.0.0.0', port = 22195)
|
6
|
+
def initialize(pem, bind_address = '0.0.0.0', port = 22195, log = nil)
|
7
7
|
@queue = EM::Queue.new
|
8
8
|
@client = ApnServer::Client.new(pem)
|
9
9
|
@bind_address, @port = bind_address, port
|
@@ -11,7 +11,8 @@ module ApnServer
|
|
11
11
|
|
12
12
|
def start!
|
13
13
|
EventMachine::run do
|
14
|
-
$
|
14
|
+
$log = log || Logger.new(STDOUT)
|
15
|
+
$log.info "Starting APN Server on #{bind_address}:#{port}"
|
15
16
|
|
16
17
|
EM.start_server(bind_address, port, ApnServer::ServerConnection) do |s|
|
17
18
|
s.queue = @queue
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bpoweski-apnserver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Poweski
|
@@ -56,7 +56,6 @@ files:
|
|
56
56
|
- README.textile
|
57
57
|
- Rakefile
|
58
58
|
- VERSION
|
59
|
-
- apnserver.gemspec
|
60
59
|
- bin/apnsend
|
61
60
|
- bin/apnserverd
|
62
61
|
- bin/apnserverd.fedora.init
|
data/apnserver.gemspec
DELETED
@@ -1,71 +0,0 @@
|
|
1
|
-
# Generated by jeweler
|
2
|
-
# DO NOT EDIT THIS FILE
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec`
|
4
|
-
# -*- encoding: utf-8 -*-
|
5
|
-
|
6
|
-
Gem::Specification.new do |s|
|
7
|
-
s.name = %q{apnserver}
|
8
|
-
s.version = "0.0.14"
|
9
|
-
|
10
|
-
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
-
s.authors = ["Ben Poweski"]
|
12
|
-
s.date = %q{2009-09-17}
|
13
|
-
s.description = %q{A toolkit for proxying and sending Apple Push Notifications}
|
14
|
-
s.email = %q{bpoweski@3factors.com}
|
15
|
-
s.executables = ["apnsend", "apnserverd", "apnserverd.fedora.init"]
|
16
|
-
s.extra_rdoc_files = [
|
17
|
-
"README.textile"
|
18
|
-
]
|
19
|
-
s.files = [
|
20
|
-
"README.textile",
|
21
|
-
"Rakefile",
|
22
|
-
"VERSION",
|
23
|
-
"apnserver.gemspec",
|
24
|
-
"bin/apnsend",
|
25
|
-
"bin/apnserverd",
|
26
|
-
"bin/apnserverd.fedora.init",
|
27
|
-
"lib/apnserver.rb",
|
28
|
-
"lib/apnserver/client.rb",
|
29
|
-
"lib/apnserver/notification.rb",
|
30
|
-
"lib/apnserver/payload.rb",
|
31
|
-
"lib/apnserver/protocol.rb",
|
32
|
-
"lib/apnserver/server.rb",
|
33
|
-
"lib/apnserver/server_connection.rb",
|
34
|
-
"test/test_client.rb",
|
35
|
-
"test/test_helper.rb",
|
36
|
-
"test/test_notification.rb",
|
37
|
-
"test/test_payload.rb",
|
38
|
-
"test/test_protocol.rb"
|
39
|
-
]
|
40
|
-
s.homepage = %q{http://github.com/bpoweski/apnserver}
|
41
|
-
s.rdoc_options = ["--charset=UTF-8"]
|
42
|
-
s.require_paths = ["lib"]
|
43
|
-
s.rubygems_version = %q{1.3.5}
|
44
|
-
s.summary = %q{Apple Push Notification Server}
|
45
|
-
s.test_files = [
|
46
|
-
"test/test_client.rb",
|
47
|
-
"test/test_helper.rb",
|
48
|
-
"test/test_notification.rb",
|
49
|
-
"test/test_payload.rb",
|
50
|
-
"test/test_protocol.rb"
|
51
|
-
]
|
52
|
-
|
53
|
-
if s.respond_to? :specification_version then
|
54
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
55
|
-
s.specification_version = 3
|
56
|
-
|
57
|
-
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
58
|
-
s.add_runtime_dependency(%q<eventmachine>, [">= 0"])
|
59
|
-
s.add_runtime_dependency(%q<daemons>, [">= 0"])
|
60
|
-
s.add_runtime_dependency(%q<json>, [">= 0"])
|
61
|
-
else
|
62
|
-
s.add_dependency(%q<eventmachine>, [">= 0"])
|
63
|
-
s.add_dependency(%q<daemons>, [">= 0"])
|
64
|
-
s.add_dependency(%q<json>, [">= 0"])
|
65
|
-
end
|
66
|
-
else
|
67
|
-
s.add_dependency(%q<eventmachine>, [">= 0"])
|
68
|
-
s.add_dependency(%q<daemons>, [">= 0"])
|
69
|
-
s.add_dependency(%q<json>, [">= 0"])
|
70
|
-
end
|
71
|
-
end
|