SockChat — A SneedChat client for the command line - A lightweight standalone SneedChat client for the terminal, written in Go

  • 🔧 Site instability resolved. You can report double-posts and broken attachments. For bigger issues, use the Technical Grievances thread.
    🇵🇦 Nuestro primer dominio localizado está en español en kiwifarms.pa. Our first localized domain is on Spanish on kiwifarms.pa.
  • Want to keep track of this thread?
    Accounts can bookmark posts, watch threads for updates, and jump back to where you stopped reading.
    Create account
I do have plans for a sort of API mode that external programs, such as custom UIs (perhaps a web UI or phone app), can use to access chat data and control some underlying features.
So this is going to end up being a complete rewrite to a minimal client-server model. For the sake of interoperability, the best option for feeding data to clients is probably relaying raw chat JSON over unix sockets or something. That way, outer layers like clients (or an IRC translation layer) can handle chat data in a common format.



Fun stuff.
 
1771013384940.png

Shout out to @OwO What's This?
 
Story of my life
Ver archivo adjunto 8568827
Ver archivo adjunto 8568826
Ver archivo adjunto 8568824
Cue a million more commits trying to fix reconnect issues afterwards due to the shitty Websocket library :lossmanjack:
The key detail was the tls config. The default "safe" set of ciphers (in Go's implementation, at least) isn't enough. It was a bitch to narrow down where the issue was, especially since my solver seemed to work literally everywhere else (in normal http requests).

Those 203s had me feeling like I was going crazy.
 
Newer versions of sockchat removed the built-in Tor resolver, and instead requires you to run the executable using the following environment variable:
Código:
ALL_PROXY='socks5://127.0.0.1:9050'
Not as convenient as before, but it works. Make sure to change the address in the settings so that it points to the onion domain.
 
After heavily optimizing I/O and memory handling, the latest commit hovers around 20 MB of RAM usage :)

and I think I can get it even lower.
Have you had issues with Tartarus rejecting tokens almost immediately after creation? I've had a lot of issues where token use is OK all the way up until I try to use a websocket, then the system rejects it outright.
 
Have you had issues with Tartarus rejecting tokens almost immediately after creation? I've had a lot of issues where token use is OK all the way up until I try to use a websocket, then the system rejects it outright.
Yes; this is what I was referencing above. Though I have had it solved for a while. To clarify, do you mean issues in your own projects?

Some background: My cerberus solver worked 100% fine for normal http page requests on the site, but would suddenly fail any time I tried opening the websocket. Dumping the json responses to my solution submit attempts showed my solutions were being rejected. I feel these commit messages so much:

1781738354994.png
They resonate like a shittily designed bridge in the wind.

For whatever fucking reason, you now need a very broad set of TLS ciphers enabled (including ones deemed cryptographically unsafe in modern times). Browsers tend to have these cipher suites enabled, so it makes sense why they may be needed sometimes, but their sudden requirement to make this shit work was not at all easy to figure out.
 
Yes; this is what I was referencing above. Though I have had it solved for a while. To clarify, do you mean issues in your own projects?

Some background: My cerberus solver worked 100% fine for normal http page requests on the site, but would suddenly fail any time I tried opening the websocket. Dumping the json responses to my solution submit attempts showed my solutions were being rejected. I feel these commit messages so much:

Ver archivo adjunto 9159122
They resonate like a shittily designed bridge in the wind.

For whatever fucking reason, you now need a very broad set of TLS ciphers enabled (including ones deemed cryptographically unsafe in modern times). Browsers tend to have these cipher suites enabled, so it makes sense why they may be needed sometimes, but their sudden requirement to make this shit work was not at all easy to figure out.
This is extremely helpful.
Yes, I make RuSneedChat in my free time https://kiwifarms.st/threads/rusneedchat.233578/

Eventually after switching to tartarus, I could get tokens on my HTTP client, but switching to WSS expired the token instantly. I eventually gave up and put my coding hours into other things.

Though with your insights, I think there's a good chance I can continue on.
 
Atrás
Top Abajo