KittehOrg/KittehIRCClientLib

Please include a working example of Kitteh with Android Studio for Android apps! Thanks!

roboirc opened this issue ยท 16 comments

Please include a working example of Kitteh with Android Studio for Android apps! Thanks!

Hi! There is Android documentation: http://kicl.kitteh.org/en/latest/android/

If this doesn't help, feel free to comment on the issue with where / what failed.

(22:54:07) <@mbaxter> Can't log into GitHub for another day or two. Can someone comment on that saying the kicl version shown is outdated and that I should update it to latest? 
(22:54:36) <@mbaxter> I'll add it to the before-release checker, as I forgot it had a version

Hi Zarthus
Thanks for your reply.

"Ensure minSdkVersion >= 24" <- is this mandatory?

I followed all the steps but my bot doesn't connect to IRC and show up there. Here is my code:
https://pastebin.com/DDtHHxSr

I followed everything from: http://kicl.kitteh.org/en/latest/android/
Still not working.
Please help! I am using Android Studio on Linux.

"Ensure minSdkVersion >= 24" <- is this mandatory?

yes.

Please post your stacktrace.

Hi here is my stack trace as taken from Verbose:

https://pastebin.com/8vH7kBHq

Let me know if you want any other stack trace details. If you want I can zip up the project and send it to you also to check out. Simple android studio project, nothing advanced.

Can you try switching your code to use port 6697? The error you get is netty telling you it's expecting a TLS handshake, but you are using a plain text port.

@bendem has hit the nail on the head.

For the sake of completeness:

TLS handshake
$ openssl s_client -connect irc.rizon.net:6697
CONNECTED(00000003)
depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
verify return:1
depth=0 CN = irc.rizon.net
verify return:1
---
Certificate chain
 0 s:CN = irc.rizon.net
   i:C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
 1 s:C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
   i:O = Digital Signature Trust Co., CN = DST Root CA X3
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIGcDCCBVigAwIBAgISA+dyEb2gHczRqmp1G6uFG/aLMA0GCSqGSIb3DQEBCwUA
MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD
ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xOTA2MDEyMDA0NDdaFw0x
OTA4MzAyMDA0NDdaMBgxFjAUBgNVBAMTDWlyYy5yaXpvbi5uZXQwggIiMA0GCSqG
SIb3DQEBAQUAA4ICDwAwggIKAoICAQDruWqKbZ9LWhOec7hdIRFRHan3V9yFztDb
GN/tb8nmH+W5AaY6C4WmaLPYP21JG0vzjV6Rjg03UUCowMHtDBYoMOUstL2/0J6O
NqVLuxciCnvoIg4D28E9VTdg1cy5IzGXZX0bQkVPvk49OlRHirmAdee8ODwddsvV
PbZnyOYG/2dTXDLfBK9TU0A3uo7THClK1BqvhR4hDLDTbEUYAJCZQdiKHynj4Pov
Q797Zl7ONOnGtihXtUkXI12T2DBHs818BcpbCi+yxwLIRCrlHc8BW3k89aQb6pjm
oRR1S7Q23C2D7FCPAcxQWElkrxsMnYUDmdJT/neKWkPDCwVkUXoJc3GvUsLeJUdt
qz8DL3E/vASj0HKBL5arIPI3CwjDSi5A3ohH3vkY3YnqovmLoMGGrS1KYm78X/Nj
cfqpnPgI+VGmzkh9OVHPqJ+zxYJz72MVkvzeKqj7J9IkcJvos9qRtdwV96Q1z/nc
IempbyF3bFVwIxYJvOYg3qfKMukotN5DituAGpkJ5IyHw8IcfLTRe8LZtHF+MrlV
8oQCoWs1L2TCSVffuRF8Y146owxfz3FS9CbEwDzjYmQNritkkFb1b3FkQt8v5bYf
9NCt90gpdQ0eRJnHjnrptl1lION1fUQZL5fL6c8v2dZE+4u54hylzoDkxIRyVoi1
Wk8m7XVa+QIDAQABo4ICgDCCAnwwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQG
CCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBT2uXQ+
ciYvwW4z0le3e79sjIyZPjAfBgNVHSMEGDAWgBSoSmpjBH3duubRObemRWXv86js
oTBvBggrBgEFBQcBAQRjMGEwLgYIKwYBBQUHMAGGImh0dHA6Ly9vY3NwLmludC14
My5sZXRzZW5jcnlwdC5vcmcwLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14
My5sZXRzZW5jcnlwdC5vcmcvMDUGA1UdEQQuMCyCDWlyYy5yaXpvbi5uZXSCG2ly
Yy5zeGNpLm5ldC5jZXJ0LnJpem9uLm5ldDBMBgNVHSAERTBDMAgGBmeBDAECATA3
BgsrBgEEAYLfEwEBATAoMCYGCCsGAQUFBwIBFhpodHRwOi8vY3BzLmxldHNlbmNy
eXB0Lm9yZzCCAQUGCisGAQQB1nkCBAIEgfYEgfMA8QB3AOJpS64m6OlACeiGG7Y7
g9Q+5/50iPukjyiTAZ3d8dv+AAABaxTb9WYAAAQDAEgwRgIhANEkwgvSIljFHG2f
mNKJFIVXr6EvGjQFgwu6mNg54iyQAiEAmm78GY3XX0RFwWNaduDvq1uBcrsog2LA
m1zYJHw9wuoAdgBj8tvN6DvMLM8LcoQnV2szpI1hd4+9daY4scdoVEvYjQAAAWsU
2/dNAAAEAwBHMEUCIQCSrw3mMhPkSqfXAQ9ozAYDTRshzsy8Tljs1RaF9JGxxwIg
fUfpOBE6+QCthNCd6fgnBLn46G7z1nHeVIc6ffZOFdUwDQYJKoZIhvcNAQELBQAD
ggEBAG7rRuY0Qsa2y/bzhfwaWD9VO6jidSADWVrZjF1ftOg0bRMvIlq77u8VS5oF
TDXnIsPGCtDrimiVg5ojxUU8pqGng5RcIl4LuCp/VMWeqqSqmUVS4aJJ99htAnMr
cNBFEEF7R2TkQDC8RzuRBaw234P8biAByhHk1EwNt9k+Gu3QThiDc+r/WO+szltz
OZthCJ/xNUHQkFS9wK8IXeTrS9wVv9pchfFWMu5HHrTSCVP1ciMNkUbqv6cGviL2
P/+t8LvVJXVdHb4zfw4Rd4/N9JDiuzbmu6aRupWW0Vu5F4ZHJY4ewuBvBgPCChu6
YKSwu89RL6OFYAMpHtn9vBaHRlg=
-----END CERTIFICATE-----
subject=CN = irc.rizon.net

issuer=C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3


No client certificate CA names sent
Client Certificate Types: RSA sign, DSA sign, ECDSA sign
Requested Signature Algorithms: RSA+SHA512:DSA+SHA512:ECDSA+SHA512:RSA+SHA384:DSA+SHA384:ECDSA+SHA384:RSA+SHA256:DSA+SHA256:ECDSA+SHA256:RSA+SHA224:DSA+SHA224:ECDSA+SHA224:RSA+SHA1:DSA+SHA1:ECDSA+SHA1
Shared Requested Signature Algorithms: RSA+SHA512:DSA+SHA512:ECDSA+SHA512:RSA+SHA384:DSA+SHA384:ECDSA+SHA384:RSA+SHA256:DSA+SHA256:ECDSA+SHA256:RSA+SHA224:DSA+SHA224:ECDSA+SHA224:RSA+SHA1:DSA+SHA1:ECDSA+SHA1
Peer signing digest: SHA512
Peer signature type: RSA
Server Temp Key: ECDH, P-521, 521 bits

SSL handshake has read 3674 bytes and written 521 bytes
Verification: OK

New, TLSv1.2, Cipher is ECDHE-RSA-AES256-GCM-SHA384
Server public key is 4096 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : ECDHE-RSA-AES256-GCM-SHA384
Session-ID:
Session-ID-ctx:
Master-Key: A8E33D2C70C0E1354FD73F9E5F7824A1A51AFD33FE491CE5E6278E65C9BCDD9BD690343138C4BBA68FE29B23481362E9
PSK identity: None
PSK identity hint: None
SRP username: None
Start Time: 1562441321
Timeout : 7200 (sec)
Verify return code: 0 (ok)
Extended master secret: no

:irc.sxci.net NOTICE * :*** Looking up your hostname...
:irc.sxci.net NOTICE * :*** Checking Ident
:irc.sxci.net NOTICE * :*** Couldn't look up your hostname
:irc.sxci.net NOTICE * :*** No Ident response

"Ensure minSdkVersion >= 24" <- is this mandatory?

yes.

@Zarthus is correct (:open_mouth:) - to expand on this a bit more, 24 is the first version to support a bunch of Java 8 features we use.

@bendem @lol768
Yes 6697 worked! :)
But does that mean Kitteh doesn't support non ssl servers? What about 6667?

What about 6667?

You need .secure(false) to do this

http://kittehorg.github.io/KittehIRCClientLib/7.2.0/org/kitteh/irc/client/library/Client.Builder.Server.html#secure-boolean-

Of course, we'd all rather you didn't

Gotcha thanks :)

But does that mean Kitteh doesn't support non ssl servers? What about 6667?

It means Kitteh uses secure defaults. If you don't specify the port at all, Kitteh will default to a secure connection on port 6697. That means in most cases, not specifying anything is the right call. :)

Ok.

Please leave this thread open for future in case I have more questions thanks :)

FWIW @roboirc you can chat to us if you have a few questions and would value discussion: https://webchat.esper.net/?channels=kitteh.org&nick=roboirc