alexa_remotectl 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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�