Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

is this possible to track website that requires authorization? #17

Open
meduselchen opened this issue Aug 5, 2018 · 10 comments
Open

is this possible to track website that requires authorization? #17

meduselchen opened this issue Aug 5, 2018 · 10 comments

Comments

@meduselchen
Copy link

hello dear bernaferrari,

i found your tool via reddit and wanted to thank you for this simple solution! Some sebsites I rely on require authorization before showing any content. For example I have to enter my student number or log in with my student account before i can see exam result online. Is there a way do this with your app? Or maybe there is a workaround?

Thank you for your time!

@bernaferrari
Copy link
Owner

No, this is one of the weak points from the app. In order to make things simple, fast and battery efficient, this feature was dropped.

I have no idea how it would be possible to implement it. There is another app which saves as a macro all steps the user took to log in, and then replicates each and every time it needs to check for a change. Needless to say, this is slow, eats a lot of data and really not efficient. If you know anything better or have a better idea, let me know.

@cioccarellia
Copy link
Contributor

Hold on a minute.

Let's say that no websites anymore uses GET requests for usernames and passwords, so this little hack is not available anymore to authenticate.

If you go, let's say, on Instagram, on GitHub, on your school electronic diary, and you log in, the next times you will have your account already added for you because its token/credentials are stored in the device cookies.
This mechanism has a custom implementation for every different website, but the guidelines are those ones.

Auth

Theoretically, it is possible to manipulate the headers of a request to implement the authentication method needed to access for example, at your feed, at your latest marks, at every personal content you may want to see.

So, my idea would be, isn't it possible to let the user manipulate with more precision a single website and give him the ability to analyze the page he wants to add and to make it work by himself?

I know that it sounds complicated and the main problem is user knowledge, because he would have to deal with HTTP headers and other temporal space continuum related stuff, but in my mind it would be great, and also unique.

I don't know if all of this is something that we can think of implementing for the technical difficulties also, but it would make this app 10 times better.

@bernaferrari
Copy link
Owner

I am currently without time until the next month, but this seems like a great idea.. It should, however, take a lot of work, be really hard to test, a lot of weird case scenarios might show up.

The request call is currently really simple, feel free to play with it by adding those headers/passwords on custom websites!

val response = client.newCall(request).execute()

@cioccarellia
Copy link
Contributor

Ok, I'm imagining how it would look like, we need to add more data to the Site class, it can be a good start point, then we have to think about the interface and the actual things that we want our user able to edit.
I'll try to study the actual implementation and make a scheme of the new one

@bernaferrari
Copy link
Owner

bernaferrari commented Oct 31, 2018 via email

@9034725985
Copy link
Contributor

I think basic http auth is standard and will be easier to implement and test. We could start there.

@bernaferrari bernaferrari reopened this Jan 10, 2019
@bernaferrari
Copy link
Owner

Soon! Hopefully on the next big update, which is going to be the biggest ever (as long as everything keeps working)!

@kojid0
Copy link

kojid0 commented Jun 9, 2019

any news on this issue? :)

@bernaferrari
Copy link
Owner

bernaferrari commented Jun 9, 2019

Hmmm.. So.. I'm halfway through it. I know it is taking longer than expected. Reason is I graduated in January and I'm enjoying the vacation. In the past two months, for example I traveled 1 week, got sick for 2, and there were Google i/o and Wwdc. Also, most of I'm doing now is UI development - the backend part is hopefully ready already. UI presents a few challenges: there is motion layout which is going to improve xml layouts, but it is not stable. There is compose UI which is going to deprecate system view, but it is in pre-alpha. There are material components, which.. Guess what.. Are also not stable and I had a few issues with them that I already reported and I'm waiting for the fix - for example, you can't open the input url and scroll because the screen gets weird. And finally, there is viewbinding which is going to help make layouts that will never crash, but it is not enabled for now. So I'm getting some time for myself while also waiting for any of these to stabilize.

@kojid0
Copy link

kojid0 commented Jun 27, 2019

Hmmm.. So.. I'm halfway through it. I know it is taking longer than expected. Reason is I graduated in January and I'm enjoying the vacation. In the past two months, for example I traveled 1 week, got sick for 2, and there were Google i/o and Wwdc. Also, most of I'm doing now is UI development - the backend part is hopefully ready already. UI presents a few challenges: there is motion layout which is going to improve xml layouts, but it is not stable. There is compose UI which is going to deprecate system view, but it is in pre-alpha. There are material components, which.. Guess what.. Are also not stable and I had a few issues with them that I already reported and I'm waiting for the fix - for example, you can't open the input url and scroll because the screen gets weird. And finally, there is viewbinding which is going to help make layouts that will never crash, but it is not enabled for now. So I'm getting some time for myself while also waiting for any of these to stabilize.

Thank you for your reply. It's okay that things are not done yet, take your time, you're doing an awesome job! :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants