alexa_remotectl 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: e11608ee8951bc2b2ee2f536c56df1bb5f8f345de55621f863e347a724f15e2a
4
+ data.tar.gz: 152b8dd0ba4a2e86a598402eb87c00cc5a938b85395fe2cd0c7abbb642d1253e
5
+ SHA512:
6
+ metadata.gz: 027e4da7333752221c6f868d105694ae4f054ff0b758f7d63550e2d75914dc42d5002413c972faf966e2e12a0fac36e3edd1cd4264884f5f05f75405624f9fde
7
+ data.tar.gz: 03ac22cf51046c646f7492982a39143ea3baca5a192ae33f72cd559f27201388c53a188a6a8c5c2769b506c4224c7216b2422b8d7cf54ba8fdd0d35696e55d4f
checksums.yaml.gz.sig ADDED
Binary file
@@ -0,0 +1,71 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # file: alexa_remotectl.rb
4
+
5
+ # description: Experimental project to play or pause Alexa's music player using the SPA API
6
+
7
+
8
+ require 'net/http'
9
+ require 'uri'
10
+
11
+
12
+ class AlexaRemoteCtl
13
+
14
+ def initialize(domain: 'alexa.amazon.co.uk', device: {}, cookie: '')
15
+
16
+ @domain, @device, @cookie = domain, device, cookie
17
+
18
+ end
19
+
20
+ def pause
21
+ device_cmd('Pause')
22
+ end
23
+
24
+ def play
25
+ device_cmd('Play')
26
+ end
27
+
28
+ private
29
+
30
+ def device_cmd(cmd)
31
+
32
+ serialno = @device[:serialno]
33
+ type = @device[:type]
34
+
35
+ url = "https://#{@domain}/api/np/command?deviceSerialNumber=#{serialno}&deviceType=#{type}"
36
+ uri = URI.parse(url)
37
+ request = Net::HTTP::Post.new(uri)
38
+ request.body = '{"type":"' + cmd + 'Command","contentFocusClientId":null}'
39
+ request.content_type = "application/x-www-form-urlencoded; charset=UTF-8"
40
+
41
+ request["Accept"] = "application/json, text/javascript, */*; q=0.01"
42
+ request["Accept-Language"] = "en-GB,en-US;q=0.9,en;q=0.8"
43
+ request["Connection"] = "keep-alive"
44
+ request["Content-Type"] = "application/x-www-form-urlencoded; charset=UTF-8"
45
+ request["Cookie"] = @cookie
46
+ request["Origin"] = "https://" + @domain
47
+ request["Referer"] = "https://#{@domain}/spa/index.html"
48
+ request["Sec-Fetch-Dest"] = "empty"
49
+ request["Sec-Fetch-Mode"] = "cors"
50
+ request["Sec-Fetch-Site"] = "same-origin"
51
+ request["User-Agent"] = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36"
52
+ request["X-Requested-With"] = "XMLHttpRequest"
53
+ request["csrf"] = "-990908140"
54
+ request["dnt"] = "1"
55
+ request["sec-ch-ua"] = "\" Not A;Brand\";v=\"99\", \"Chromium\";v=\"101\""
56
+ request["sec-ch-ua-mobile"] = "?0"
57
+ request["sec-ch-ua-platform"] = "\"Linux\""
58
+ request["sec-gpc"] = "1"
59
+ req_options = {
60
+ use_ssl: uri.scheme == "https",
61
+ }
62
+
63
+ response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
64
+ http.request(request)
65
+ end
66
+
67
+ # response.code
68
+ # response.body
69
+
70
+ end
71
+ end
data.tar.gz.sig ADDED
@@ -0,0 +1,2 @@
1
+ q#z�w��3��x��aB��D�������/������vHW筄H�.�`6�s���:� )Z��� ��VS,Cy��Kg�B����G��A?C <~#��M
2
+ g����z��Kt��0���9Q���� ��I;���uO{������D}�Ԙ��U(��z$}�H:%!���>]ҿ�Y����kp'��.�;�;�:MG1�O��Up�w�ޮ�5��,�B�{�jg�!�?��r�E��pbB����pO�>�~��Y�����4ԉI�Uѐ��U`�s8����+}ڨ�[�����,m�VW�tf#�g-{�����r8&+��aA�4gX��Y���X�H���cm���OMV��50y됒A�ԉTk5��u]�<V
metadata ADDED
@@ -0,0 +1,71 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: alexa_remotectl
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - James Robertson
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
14
+ YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjIwNTE4MTkxMzQ5WhcN
15
+ MjMwNTE4MTkxMzQ5WjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
+ cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQC7W8vV
17
+ 4ue0QhDSQQO/iRZe3rg7QkusNfVdwmkYWwsFR7PqAE/P9RjOj7NIxH+SAqRq9vKv
18
+ Z1r20CEQYPOF0SMJ+UN6cipWWUs8mmLjUA4Z/Jo2Aiyl2F4bY+oxbE2BUGnJX8Eo
19
+ WrFZ7AAmveWi+24x1IaRJbHkOXVlLYAGtDXwNWxYe31nh5WD7djRT1hnCwcRfNHB
20
+ 5gAY4USGSPN6P+PryxflhyCFfOkmJTqIwC6PG1Diy8/opwv+80l4xyQjQyfW0rNo
21
+ NnhkxO/b4UWeu2aazLkor3imTFYdYJOYI37KWH1BpO0kxgFoNvUg3dIFPUVgVAQ5
22
+ 3MOEaPowH+XoXDB38o6+6kEhGLV3EOHceQPyFMhcj2vMEcyp/C9rObHMBL0lwkN0
23
+ cAl3OiFxAUvgCHT1horRJ5jEP0s8yUNB9iTr1jDVnjdGlmYi49Lgp6PzSN3wjeAc
24
+ M+9z912iO+aTXdvXzwRCW/eItLufIsmwGm1VdK94OmVw0sOgwvzAuzz8p4kCAwEA
25
+ AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQULAQPs2R8
26
+ xJ432jy8yJl9RoVRPzgwJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
27
+ c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
28
+ BgkqhkiG9w0BAQsFAAOCAYEAb2yGmiois3cgQJ/KAXpkBqJjOG5Igv1Kfco83Y5c
29
+ K98PpxMuO7X1mrcp1c7rotpHzZv20Wbi1djbOk9tPezXmqruS9lePTz5GiLdHsZs
30
+ Xxbvh2dS45mYzaTC948yRYuoyBCtnhY2ZYiaQBIhGbSoLUE02xMS1mBlR/ShTX1V
31
+ JgIivkRTE3U9yfolP6joD3miZzB7X86EzY2901A+A8KjRGbKT6rbuA2+XTtRgmNM
32
+ Qzo/gng67BAn4itPrCtEPX+iU6AJUp01DmPiDB9ZvYVYqN2hNxVf+SWRFF6zHamu
33
+ WnPB4V8S0qtkM4q5XReXxDfQAad0FzGvZ/+IldudawzX+ypYS0v5zb6erhCCbFsK
34
+ l+X7fIMzWcjPLQD568qmpl63dmNxYDXKAW1ZIxXjRtvsziFKmCQ5RfXu/GlUXS0A
35
+ d/gEwBtUmduwWZNX2NOJehf8s1cnH9OBP7s1ziHjdkZCgkQm3QewRRcdfZeYwFi6
36
+ 4kVEcApgAgd+04ctE6uiRn5o
37
+ -----END CERTIFICATE-----
38
+ date: 2022-05-18 00:00:00.000000000 Z
39
+ dependencies: []
40
+ description:
41
+ email: digital.robertson@gmail.com
42
+ executables: []
43
+ extensions: []
44
+ extra_rdoc_files: []
45
+ files:
46
+ - lib/alexa_remotectl.rb
47
+ homepage: https://github.com/jrobertson/alexa_remotectl
48
+ licenses:
49
+ - MIT
50
+ metadata: {}
51
+ post_install_message:
52
+ rdoc_options: []
53
+ require_paths:
54
+ - lib
55
+ required_ruby_version: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: '0'
60
+ required_rubygems_version: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: '0'
65
+ requirements: []
66
+ rubygems_version: 3.2.22
67
+ signing_key:
68
+ specification_version: 4
69
+ summary: Experimental project to play or pause Alexa's music player using the SPA
70
+ API
71
+ test_files: []
metadata.gz.sig ADDED
@@ -0,0 +1,5 @@
1
+ -4�[��R�
2
+ \�]�^�h�
3
+ �9�O��P���� Y����B�R4�`�Љ�Br��פ0�Lڵ��-�=���Můf�H�'!`۫��� x���p����"�$��´�PJ����S�����^����F>���BM�b���ѩ�wy���au§�W�N��k���(���4�)�,�.��}I�����x�M�XI�� �����
4
+ b�z�Y3n��]�uh
5
+ &54]@^���r��N�t��"#^1��M��yHp\}����M���>�K�9Y��zT�jF��ʽ�4�