u/Mental-Confidence-46

[BETA] Web Client for YPT

[BETA] Web Client for YPT

Disclaimer

First and foremost, I'd like to clarify that this IS an actual client for YPT.
There are many clones/attempts to replicate the UI of YPT but I am yet to find one
which genuinely uses your YPT account and syncs.

From a brief skim across this subreddit, people seem to think it's not possible.
It is a slight pain, getting the endpoints, but easy enough within a virtual device.
That's how I got them.

As a final statement, I'd like to say, this site is completely static - it does not make any requests
to my own server after the initial fetch. Every request afterwards, as you'll be able to observe in the devtools, is made to YPT's servers (pi.tgclab.com).
I'm not interested in stealing your passwords, study time, or anything malicious. It's also your own choice to use this site.

https://beta.yeolpumta.online

At the moment, the site is hosted on this beta subdomain, just to make it blisteringly obvious that this is a WIP.
Sign in with whatever method you use for YPT. It literally re-uses requests from the mobile app - treat it similarly.

Rather than list the features, I think it's best if I just provide a couple of screenshots. It should be pretty painless to use (I hope), and, if not, you can reply here or hit me up on Discord (.mrtoby)

Main Dashboard

Todo section

Studying

Calendar Edit

Break (emojis automatically guessed :) )

Shortcomings of (Official) Yeolpumta

I understand that you all know and love YPT; however, there are a couple security concerns which genuinely shocked me when I was reversing the app.

  • Nudges
    • 2h ratelimit is only imposed on the client. The server, on the other hand, does not impose any sort of ratelimit. If you have the request, you can spam someone's device with notifications relentlessly.
    • You can nudge someone, as long as you know their user id and a group they're in. This means you can spam nudges at someone who is in a group you've not even joined yet.
    • You can use any nickname for the nudge notification. This means you can spoof someone else.
  • Passwords
    • When you sign in or create an account, YPT transmits your password in plaintext. Though the request itself is encrypted with HTTPS, it's weird that they don't bother to encrypt the password within the request itself (the way that literally any other major service would). Since they don't work with hashes at any stage, it's a fair assumption to make that they also store the passwords in plaintext on their server(s). In the unfortunate event that someone gains access to these servers, they would have both your email + password.

Because of the first point, I haven't added (nor will I ever) nudging into the website. It's much easier for someone to duplicate that request than it is to grab it from the app itself.

reddit.com
u/Mental-Confidence-46 — 4 days ago