Discussion:
[emms-help] Streaming from libre.fm without an user account
Arun Isaac
2017-11-23 13:20:36 UTC
Permalink
Is it possible to stream from libre.fm without an user account, like you
can do from the libre.fm web interface?

When I tried the following:

(require 'emms-librefm-stream)
(emms-librefm-stream "librefm://globaltags/Classical")

I got (error "null username").
Yoni Rabkin
2017-11-24 03:39:36 UTC
Permalink
Post by Arun Isaac
Is it possible to stream from libre.fm without an user account, like you
can do from the libre.fm web interface?
(require 'emms-librefm-stream)
(emms-librefm-stream "librefm://globaltags/Classical")
I got (error "null username").
That isn't an error from libre.fm, it's from Emms.

What do you get when you set the username and password directly (not via
authinfo) to anything:

(setq emms-librefm-scrobbler-username "foo"
emms-librefm-scrobbler-password "bar")

?
--
"Cut your own wood and it will warm you twice"
Arun Isaac
2017-11-24 19:26:19 UTC
Permalink
Post by Yoni Rabkin
What do you get when you set the username and password directly (not via
(setq emms-librefm-scrobbler-username "foo"
emms-librefm-scrobbler-password "bar")
I tried this both with an arbitrary username/password (foo/bar) and with
an actual librefm account. In both cases, when I tried to stream, it
simply got stuck at "Contacting host: alpha.libre.fm:443". What am I
missing?
Yoni Rabkin
2017-11-24 20:41:46 UTC
Permalink
Post by Arun Isaac
Post by Yoni Rabkin
What do you get when you set the username and password directly (not via
(setq emms-librefm-scrobbler-username "foo"
emms-librefm-scrobbler-password "bar")
I tried this both with an arbitrary username/password (foo/bar) and with
an actual librefm account. In both cases, when I tried to stream, it
simply got stuck at "Contacting host: alpha.libre.fm:443". What am I
missing?
Sounds like you aren't getting to the emms part of the transaction at
all; looks like it's stuck at the gnutls stage.

Try the following in the console:

gnutls-cli --print-cert alpha.libre.fm
--
"Cut your own wood and it will warm you twice"
Arun Isaac
2017-11-25 05:04:49 UTC
Permalink
Post by Yoni Rabkin
gnutls-cli --print-cert alpha.libre.fm
I get the following with an exit status of 0.

<----------------------------- begin ----------------------------->
Processed 459 CA certificate(s).
Resolving 'alpha.libre.fm:443'...
Connecting to '104.27.149.89:443'...
- Certificate type: X.509
- Got a certificate list of 3 certificates.
- Certificate[0] info:
- subject `CN=sni147308.cloudflaressl.com,OU=PositiveSSL Multi-Domain,OU=Domain Control Validated', issuer `CN=COMODO ECC Domain Validation Secure Server CA 2,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB', serial 0x151621a561a2f33ba05be733d855ef8b, EC/ECDSA key 256 bits, signed using ECDSA-SHA256, activated `2017-11-07 00:00:00 UTC', expires `2018-05-16 23:59:59 UTC', pin-sha256="8wxJHRFW6XUy1XgdzJUNCG2r1DDwYMJEz9xS/cvjZ3E="
Public Key ID:
sha1:a6a57cba705d59523fea01c09ad02d1cddad9214
sha256:f30c491d1156e97532d5781dcc950d086dabd430f060c244cfdc52fdcbe36771
Public Key PIN:
pin-sha256:8wxJHRFW6XUy1XgdzJUNCG2r1DDwYMJEz9xS/cvjZ3E=
Public key's random art:
+--[SECP256R1]----+
| o.=Eo .. |
| . + =..... |
| . = .o.. o |
| o o .= . . |
| S.o o |
| . * . . . |
| . = o . |
| o o |
| o. |
+-----------------+


-----BEGIN CERTIFICATE-----
MIIG+jCCBqCgAwIBAgIQFRYhpWGi8zugW+cz2FXvizAKBggqhkjOPQQDAjCBkjEL
MAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE
BxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxODA2BgNVBAMT
L0NPTU9ETyBFQ0MgRG9tYWluIFZhbGlkYXRpb24gU2VjdXJlIFNlcnZlciBDQSAy
MB4XDTE3MTEwNzAwMDAwMFoXDTE4MDUxNjIzNTk1OVowbDEhMB8GA1UECxMYRG9t
YWluIENvbnRyb2wgVmFsaWRhdGVkMSEwHwYDVQQLExhQb3NpdGl2ZVNTTCBNdWx0
aS1Eb21haW4xJDAiBgNVBAMTG3NuaTE0NzMwOC5jbG91ZGZsYXJlc3NsLmNvbTBZ
MBMGByqGSM49AgEGCCqGSM49AwEHA0IABDbcBMnD4dhqx5txHeLorkUAVFnjRfkS
rh+Uk6Kp4cFp7Flf+rUtDhJrirNUohqbxXzAdkCDsseZuHGwUq07k3GjggT7MIIE
9zAfBgNVHSMEGDAWgBRACWFn8LyDcU/eEggsb9TUK3Y9ljAdBgNVHQ4EFgQUVXl6
ZazzeVXPvfsaBw/9vRDWwPgwDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAw
HQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCME8GA1UdIARIMEYwOgYLKwYB
BAGyMQECAgcwKzApBggrBgEFBQcCARYdaHR0cHM6Ly9zZWN1cmUuY29tb2RvLmNv
bS9DUFMwCAYGZ4EMAQIBMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwuY29t
b2RvY2E0LmNvbS9DT01PRE9FQ0NEb21haW5WYWxpZGF0aW9uU2VjdXJlU2VydmVy
Q0EyLmNybDCBiAYIKwYBBQUHAQEEfDB6MFEGCCsGAQUFBzAChkVodHRwOi8vY3J0
LmNvbW9kb2NhNC5jb20vQ09NT0RPRUNDRG9tYWluVmFsaWRhdGlvblNlY3VyZVNl
cnZlckNBMi5jcnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLmNvbW9kb2NhNC5j
b20wggNCBgNVHREEggM5MIIDNYIbc25pMTQ3MzA4LmNsb3VkZmxhcmVzc2wuY29t
ggoqLjB6ci5pbmZvgg0qLjE4MDB3d3cuY29tggoqLjdhdS5pbmZvggoqLjhwdC5p
bmZvghIqLmFzaWFuc2V4eXBpYy5jb22CDyouYnVsbGlvbmlzdC5nYYIKKi5keTEu
aW5mb4IIKi5nbnUuaW+CCioubGlicmUuZm2CDSoubWFudGljLmNsdWKCESoubWFu
dGljZ2FtZXMuY29tgggqLm1hdC50bIIMKi5tb2RhZ2FiLmNmghEqLm1vbmtleW1v
dmllLm9yZ4IPKi5tb3ZpZXMyY2RzLm1sghIqLm9wZW4tYXJjaGl2ZS5uZXSCGCou
b3JpbnZpcy5hbHRlcnZpc3RhLm9yZ4IgKi5wcnplcHJvd2FkemtpLXRyYW1zLndy
b2NsYXcucGyCFSouc2F2ZW15c2Nyb2JibGVzLmNvbYIRKi51cmlhdHVyaWNoYWQu
Z3GCHSoudmVwYnVzaW5lc3Nzb2x1dGlvbnMuY29tLmF1ghUqLndhcnBhdGh1bml2
ZXJzZS5jb22CGSouenVrdW5mdC1pbi13ZXN0ZmFsZW4uZGWCCDB6ci5pbmZvggsx
ODAwd3d3LmNvbYIIN2F1LmluZm+CCDhwdC5pbmZvghBhc2lhbnNleHlwaWMuY29t
gg1idWxsaW9uaXN0LmdhgghkeTEuaW5mb4IGZ251LmlvgghsaWJyZS5mbYILbWFu
dGljLmNsdWKCD21hbnRpY2dhbWVzLmNvbYIGbWF0LnRsggptb2RhZ2FiLmNmgg9t
b25rZXltb3ZpZS5vcmeCDW1vdmllczJjZHMubWyCEG9wZW4tYXJjaGl2ZS5uZXSC
Fm9yaW52aXMuYWx0ZXJ2aXN0YS5vcmeCHnByemVwcm93YWR6a2ktdHJhbXMud3Jv
Y2xhdy5wbIITc2F2ZW15c2Nyb2JibGVzLmNvbYIPdXJpYXR1cmljaGFkLmdxght2
ZXBidXNpbmVzc3NvbHV0aW9ucy5jb20uYXWCE3dhcnBhdGh1bml2ZXJzZS5jb22C
F3p1a3VuZnQtaW4td2VzdGZhbGVuLmRlMAoGCCqGSM49BAMCA0gAMEUCIQCofm/D
Tbru7RIAkaTPCGCedxfxbzFS4MWV7LNsEMPGqgIgA5CdcBaV/Sw6lKbvgyYPHWRJ
o5gNZhfP41YYTbUuGdM=
-----END CERTIFICATE-----

- Certificate[1] info:
- subject `CN=COMODO ECC Domain Validation Secure Server CA 2,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB', issuer `CN=COMODO ECC Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB', serial 0x5b25ce6907c4265566d3390c99a954ad, EC/ECDSA key 256 bits, signed using ECDSA-SHA384, activated `2014-09-25 00:00:00 UTC', expires `2029-09-24 23:59:59 UTC', pin-sha256="x9SZw6TwIqfmvrLZ/kz1o0Ossjmn728BnBKpUFqGNVM="

-----BEGIN CERTIFICATE-----
MIIDnzCCAyWgAwIBAgIQWyXOaQfEJlVm0zkMmalUrTAKBggqhkjOPQQDAzCBhTEL
MAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE
BxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMT
IkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTQwOTI1MDAw
MDAwWhcNMjkwOTI0MjM1OTU5WjCBkjELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdy
ZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09N
T0RPIENBIExpbWl0ZWQxODA2BgNVBAMTL0NPTU9ETyBFQ0MgRG9tYWluIFZhbGlk
YXRpb24gU2VjdXJlIFNlcnZlciBDQSAyMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcD
QgAEAjgZgTrJaYRwWQKOqIofMN+83gP8eR06JSxrQSEYgur5PkrkM8wSzypD/A7y
ZADA4SVQgiTNtkk4DyVHkUikraOCAWYwggFiMB8GA1UdIwQYMBaAFHVxpxlIGbyd
nepBR9+UxEh3mdN5MB0GA1UdDgQWBBRACWFn8LyDcU/eEggsb9TUK3Y9ljAOBgNV
HQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHSUEFjAUBggrBgEF
BQcDAQYIKwYBBQUHAwIwGwYDVR0gBBQwEjAGBgRVHSAAMAgGBmeBDAECATBMBgNV
HR8ERTBDMEGgP6A9hjtodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9DT01PRE9FQ0ND
ZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDByBggrBgEFBQcBAQRmMGQwOwYIKwYB
BQUHMAKGL2h0dHA6Ly9jcnQuY29tb2RvY2EuY29tL0NPTU9ET0VDQ0FkZFRydXN0
Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC5jb21vZG9jYTQuY29tMAoG
CCqGSM49BAMDA2gAMGUCMQCsaEclgBNPE1bAojcJl1pQxOfttGHLKIoKETKm4nHf
EQGJbwd6IGZrGNC5LkP3Um8CMBKFfI4TZpIEuppFCZRKMGHRSdxv6+ctyYnPHmp8
7IXOMCVZuoFwNLg0f+cB0eLLUg==
-----END CERTIFICATE-----

- Certificate[2] info:
- subject `CN=COMODO ECC Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB', issuer `CN=AddTrust External CA Root,OU=AddTrust External TTP Network,O=AddTrust AB,C=SE', serial 0x4352023ffaa8901f139fe3f4e5c1444e, EC/ECDSA key 384 bits, signed using RSA-SHA384, activated `2000-05-30 10:48:38 UTC', expires `2020-05-30 10:48:38 UTC', pin-sha256="58qRu/uxh4gFezqAcERupSkRYBlBAvfcw7mEjGPLnNU="

-----BEGIN CERTIFICATE-----
MIID0DCCArigAwIBAgIQQ1ICP/qokB8Tn+P05cFETjANBgkqhkiG9w0BAQwFADBv
MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFk
ZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBF
eHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFow
gYUxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
BgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMSswKQYD
VQQDEyJDT01PRE8gRUNDIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MHYwEAYHKoZI
zj0CAQYFK4EEACIDYgAEA0d7L3XJghWF+3XkkRbUq2KZ9T5SCwbOQQB/l+EKJDwd
AQTuPdKNCZcM4HXk+vt3iir1A2BLNosWIxatCXH0SvQoULT+iBxuP2wvLwlZW6Vb
CzOZ4sM9iflqLO+y0wbpo4H+MIH7MB8GA1UdIwQYMBaAFK29mHo0tCb3+sQmVO8D
veAky1QaMB0GA1UdDgQWBBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8E
BAMCAYYwDwYDVR0TAQH/BAUwAwEB/zARBgNVHSAECjAIMAYGBFUdIAAwSQYDVR0f
BEIwQDA+oDygOoY4aHR0cDovL2NybC50cnVzdC1wcm92aWRlci5jb20vQWRkVHJ1
c3RFeHRlcm5hbENBUm9vdC5jcmwwOgYIKwYBBQUHAQEELjAsMCoGCCsGAQUFBzAB
hh5odHRwOi8vb2NzcC50cnVzdC1wcm92aWRlci5jb20wDQYJKoZIhvcNAQEMBQAD
ggEBAB3H+i5AtlwFSw+8VTYBWOBTBT1k+6zZpTi4pyE7r5VbvkjI00PUIWxB7Qkt
nHMAcZyuIXN+/46NuY5YkI78jG12yAA6nyCmLX3MF/3NmJYyCRrJZfwE67SaCnjl
lztSjxLCdJcBns/hbWjYk7mcJPuWJ0gBnOqUP3CYQbNzUTcp6PYBerknuCRR2RFo
1KaFpzanpZa6gPim/a5thCCuNXZzQg+HCezF3OeTAyIal+6ailFhp5cmHunudVEI
kAWvL54TnJM/ev/m6+loeYyv4Lb67psSE/5FjNJ80zXrIRKT/mZ1JioVhCb3ZsnL
jbsJQdQYr7GzEPUQyp2aDrV1aug=
-----END CERTIFICATE-----

- Status: The certificate is trusted.
- Description: (TLS1.2)-(ECDHE-ECDSA-SECP256R1)-(CHACHA20-POLY1305)
- Session ID: FB:63:94:88:E0:45:08:3F:FD:46:9B:C8:7D:69:31:68:9F:BA:03:2A:25:38:32:3F:DB:F9:DE:C1:DE:B1:C1:0A
- Ephemeral EC Diffie-Hellman parameters
- Using curve: SECP256R1
- Curve size: 256 bits
- Version: TLS1.2
- Key Exchange: ECDHE-ECDSA
- Server Signature: ECDSA-SHA256
- Cipher: CHACHA20-POLY1305
- MAC: AEAD
- Compression: NULL
- Options: extended master secret, safe renegotiation, OCSP status request,
- Handshake was completed

- Simple Client Mode:

- Peer has closed the GnuTLS connection
<----------------------------- end ----------------------------->

I also tried

(with-current-buffer (url-retrieve-synchronously "https://alpha.libre.fm")
(buffer-string))

But, this seems to work properly and returns the full HTML as a
string. Only when accessing alpha.libre.fm through EMMS does it get
stuck at "Contacting host: alpha.libre.fm:443".

Loading...