-
Notifications
You must be signed in to change notification settings - Fork 24
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
Error when opening new story #84
Comments
Same thing is happening to me :/ Tho its also preventing me from updating fics |
Hi, I can confirm the problem. The problem is caused by another CloudFlare security screen that the FanFiction.net staff added to their website to block unofficial apps like this one, as shown in the image below. (Try opening any story on an incognito tab in a browser and you'll see that screen) The app doesn't know what to do with that and freezes, resulting in the empty screen you are seeing. I'll look into the issue, but I recommend you to consider migrating to the official app on the short term. Cloudflare's job is to block apps like this one, and it is exceedingly difficult to bypass (else there wouldn't be a point to it). |
Out of curiosity, how hard would it be to add a log in feature to the app? I imagine if we log into FFN in the browser-not-browser, the cloudflare check would be disabled I imagine (unless thats not the case, of course) |
@genious7, one thing I would request is some way to properly download/convert all the fics to pdfs or something. Around 10% of the fics in my collection is not there in the website anymore. |
Same plus I have 2155 download. I have managed to export the list but need a better way to add them instead of adding 1 at a time |
Oh gfood, so its being worked on, I tried updating a direct story, and it gave me the notice "Error downloading story; please contact developer" right on my device, it's never said that before. I personally concluded that it is a result of the cloudflare browser check, it seems to happen every 6 hours or so to me now |
I tried the official fanfiction.net app. It sucked. Yours is much better. If there's any chance for it to work again I'd prefer to use it. |
@genious7 Im sure there will be some way you can manage to find a fix. Dont give up we believe in you. Also if you need any new ideas regarding on how to bypass the cloudflare i can give you some ideas.First i found something like a Cloudflare bypasser or some sort. Idk if this can come in handy for you. heres the page. https://github.com/Anorov/cloudflare-scrape. If this doent work then you can try also this https://github.com/yottaiq/CloudAttack . Hope this helps. |
One time i also used their app before. Its bad. I prefer this one. |
As time goes on they further refine the app. What used to really eat the battery is actually much lighter on the battery use. But nothing beats Fanfiction Reader. the stupid browser check from cloudflare though is making me leave fanfiction.net and go to Proboards to host my stories |
They really fucked it up this time. Those morons from fanfiction staff. I hope genious can find a fix to this. |
Is there anyway we can help? Where to start looking? |
@genious7, as @lightningHoneypot mentioned if you want some research done let us know. Don't have any experience with app development but can explore material on this if you can point me in the right direction. |
Hi, Thanks for the support. Unfortunately, I won't be able to look into the issue until mid-december due to work. Truth to be told, there's not much to research per se, particularily if you've never programmed javascript before. The only way to bypass the Cloudflare screen is for the app to perform the same actions a browser (like chrome, for instance) does when executing the javascript code in the Cloudflare page. Unfortunately, the Cloudflare code is obfuscated, which makes decoding it a tedious affair. |
Yeah, the site itself is throwing a HUGE cloudflare browser check when trying to read stories. {browsing and searching and viewing profiles, bowser check never happens, but click on a story and BAm browser check occurs} This happens roughly every 3 hours, the reason the browser check is happening constantly is because the cookie that cloudflare sets is NOT locking like it should {by which it would know "OK I checked that browser its clear dont need to check it for a year} instead the cookie i getting looked at by cloudflare and cloudflare is going "HEY I DIDNT CHECK THAT!" like the memo didnt get written down or something I truly wish sometimes I knew how to do things like coding to be of any help but all I can really do is point out bugs |
I left you some cloudflare bypassers in the reply section. Idk if you checked it. Hope it comes in handy for you |
@genious7 Any closer on a fix to bypass cloudflare? |
Bit of a roundabout method to suggest but hear me out: There was another fic reading app a few years back called CodexReader and one of its methods for backing up stories was to save them as .epub files. Ff.net currently does not allow you to select text to avoid copying stories but this can be bypassed by something as simple as entering reading mode on firefox. Would it be possible to save stories manually, convert them to a file type the app can use and carry on that way until some other method can be found around the cloudflare nonsense? Certainly fiddly and a bit technical but it's better than just not using the app for the indefinite future. |
What would it take to redesign the app so that it could act as a browser or work on a browser in the background (chrome for example) and then convert that in to the format that we use? |
What kind of file type exactly? Also reading mode?? |
It already does that. The class CloudflareFragment.java simulates an android WebView; that's exactly how I bypassed it the first time it broke. From what I can tell, the current Cloudflare screen was designed specifically to block this app, as it reloads the web page several times while loading in order to confuse the browser regarding when a page has finished loading and is ready to be displayed. I've looked a bit into the issue, but I've found no straightforward solution to the problem. Honestly speaking (and given that the Cloudflare page was made specifically against this app and not as a general measure), I'm also a bit hesitant into engaging on a cat-and-mouse routine with the FF.net staff. |
In theory if cloud flare loads the page several times bfr it actually
loads. Can you have you app wait like a minute before it reads the webpage
for example to give cloud flare time Todo it's loading thing? I know that
would make thing take long for us user but I don't mind Abit of patience if
the app works.
You app is literally the only way I read fanfiction anymore and I don't
understand why FF.net problem with it. They aren't providing a paid service
you can steal, you aren't taking away web traffic. They might be upset
about the lack of Ad revenue but I use ad blocker on the website anyway and
I know others do to.
…On Mon, Jan 17, 2022, 8:17 PM Michael Chen ***@***.***> wrote:
What would it take to redesign the app so that it could act as a browser
or work on a browser in the background (chrome for example) and then
convert that in to the format that we use?
It already does that. The class CloudflareFragment.java
<https://github.com/genious7/FanFictionReader/blob/master/fanfictionReader/src/main/java/com/spicymango/fanfictionreader/menu/CloudflareFragment.java>
simulates an android WebView; that's exactly how I bypassed it the first
time it broke.
From what I can tell, the current Cloudflare screen was designed
specifically to block this app, as it reloads the web page several times
while loading in order to confuse the browser regarding when a page has
finished loading and is ready to be displayed.
I've looked a bit into the issue, but I've found no straightforward
solution to the problem. Honestly speaking (and given that the Cloudflare
page was made specifically against this app and not as a general measure),
I'm also a bit hesitant into engaging on a cat-and-mouse routine with the
FF.net staff.
—
Reply to this email directly, view it on GitHub
<#84 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AV3G42WMXLCCQ6DFGP4YMGLUWTEUPANCNFSM5GXJ7D4Q>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
I'm actually learning Java too just so I can attempt to keep the app going
for my own use, though my knowledge is very much a work in progress still.
…On Mon, Jan 17, 2022, 8:17 PM Michael Chen ***@***.***> wrote:
What would it take to redesign the app so that it could act as a browser
or work on a browser in the background (chrome for example) and then
convert that in to the format that we use?
It already does that. The class CloudflareFragment.java
<https://github.com/genious7/FanFictionReader/blob/master/fanfictionReader/src/main/java/com/spicymango/fanfictionreader/menu/CloudflareFragment.java>
simulates an android WebView; that's exactly how I bypassed it the first
time it broke.
From what I can tell, the current Cloudflare screen was designed
specifically to block this app, as it reloads the web page several times
while loading in order to confuse the browser regarding when a page has
finished loading and is ready to be displayed.
I've looked a bit into the issue, but I've found no straightforward
solution to the problem. Honestly speaking (and given that the Cloudflare
page was made specifically against this app and not as a general measure),
I'm also a bit hesitant into engaging on a cat-and-mouse routine with the
FF.net staff.
—
Reply to this email directly, view it on GitHub
<#84 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AV3G42WMXLCCQ6DFGP4YMGLUWTEUPANCNFSM5GXJ7D4Q>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Just only this app? I hope not, I think there are other apps that are affected too. |
So if i understood correctly, cloudflare does fake loads that doesn't include actual page several times before actually loading it. And this app is taking the first fake load as an answer to the querry, hence the empty page. This being an open source app must make it easier for them to take targeted shots at it. So i understand your reluctance to engage in a match where the opponent knows all your moves but don't give up please. I almost stopped reading new stories because of this issue and keep going back to your app and re-read older stories. I don't know if this makes sense but is it possible for app to wait until all information packages are received and fakes are discarded before reaching out for the actual text in the part that simulates the android WebView? |
You cant just give up quick dude. We all love you for creating this app for the UI you have created and has a lovely interface. I get it you are feeling a bit worried, playing cat and mouse game with the FF staff, even though you havent found a solution for this im sure you will find another one. Just pls dont give up dude. Im sure you can do this. We all believe in you. :) |
In theory can't you have the app wait like a minute for cloud flare to do its fake loading thing bfr reading the page? I know that would mean longer load times for us users but I don't mind Abit of patience. You can make any further updates to the app private or just push them to the beta channel without updating GitHub further. I too am learning Java solely bc of this app |
It isnt just this app beoing hit by the cloudflare issue, its the website as a whole, and its gotten worse |
The silly thing about that is, they have so far done nothing to prevent ad-block usage. So it looks like their main concern is not actually the ad revenue, but the fact that one guy years ago in his spare time created an app that suppresses theirs by so wide a margin that they have not been able to bridge the gap in years. I don't know it is simply pride or they have other plans in the works but what they are doing is completely unethical. I would understand their reluctance to allow third party apps, IF they were servicing original contents that they themselves have created. But almost every fanfiction writer submits their works freely. A very small minority are holding chapters hostage on sites like patreon or something but that is against the site policy anyway. To be honest they have neither a logical reason nor an ethical justification to prevent the usage of this app. |
@ghrrrr I agree, I don't really understand why they went out of their way to block all apps (mine is certainly not the only one affected, although I'm fairly certain that they targeted this one to an extent). About the only thing that I guess could (somewhat) be their motivation would be to lessen the server load, as the update library button checks each story for updates one by one. The API that they mentioned in a twitter would have fixed that, but that appears to have died. Regarding fixing the issue, I've decided to give up for the moment since I can't think any way around the issue. Currently, the app uses a WebView to simulate a web browser. However, the android WebView always adds a The only other alternative I can think of is using Mozilla's Gecko View instead of the default android Web View. While I'm fairly certain that Mozilla's browser alternative would load the page, I was unable to find any function to retrieve the HTML code from the browser after it had finished loading in order to pass it to the app. |
@genious7 I was wondering if it can't be fixed for the FanFiction website would you be able to allow the app to use other websites like it? I'm just curious if this is possible? I really love this app and I have been using it for about 4 years and I don't really want it to get fubared. |
Okay so when I started hunting around for a function to read or pull html using GeckoView I found this stackoverflow question (with answers/solutions) that was similar. I am still learning but is this anything that can help you? |
Found This!!!!!! So there isn't a GeckoView function that can be used directly with the app but you (or someone else) can make a GeckoView extension (like how Chrome has browser extensions) that can be imbedded in the app to read HTML and pass it along to the app. This Mozilla documentation explains in more detail https://firefox-source-docs.mozilla.org/mobile/android/geckoview/consumer/web-extensions.html |
Does anyone have an update? |
I tried a PWA PoC a week back. The idea was to make Cloudflare think the app was a browser, then pass the received captcha to the user to be solved. Similar to what @genious7 had tried initially. IIRC, Cloudflare shouldn't assess you every time a page is loaded. Using that, once in a while, the user solves the captcha, and when the page is loaded, we run a script to extract the contents of that page and display it in the app's UI. The obvious limitation is that downloads of entire stories wouldn't be possible. In fact, very little automation is possible. Every process will require a user's interaction. Maybe somebody can work something there? Regular fetch calls were not possible, so I had tried using Puppeteer. |
Maybe this could give some hints? https://github.com/JimmXinu/FanFicFare/wiki/BrowserCacheFeature |
Is there any update or progress in fixing the app? |
I don't think so :(
there are some solutions, the original https://github.com/Anorov/cloudflare-scrape has not been updated for two years. but that person (VeNoMouS) has
and their response is just downright rude (Anorov/cloudflare-scrape#406 (comment)), but hey I might be missing something or I might be wrong on something, I don't know. Not going to dig up old bad dirt. But what I can tell is that if one goes to https://github.com/VeNoMouS/cloudscraper (as of writing this message), one can see that there is no place to open issues. However, both cloudflare-scrape and cloudscraper are not free, as they will create this message:
There are some suggestions here: Anorov/cloudflare-scrape#406 (comment)
|
So this app literally just died then? No fix will be given anytime soon.. And here i was hoping a fix might be impplemented into the app but guess not it seems.. It looks like im stuck using the official version then.. Oh well. As the saying goes "All good things comes to an end". |
It is not about the app "dying", it's just that there is an obstacle that is so out of reach that the developer is having a hard time finding a solution for a workaround; that being the cloudflare anti-bot checker. And being a developer is not that easy, from what I experienced from my limited time experience on computing science, all of programming is problem solving. Even in an open source project, it still takes time. So, the problem that we are experiencing in this app is this:
Think that's easy? If it were that easy the dev would have solved it a long time ago already. |
i can understand your point, however didnt he say he has given up on the app? Also i dont think the app will survive at this point. |
Read this carefully:
For the moment That means he is putting the project aside for now. |
Ah so thats what it meant, i though he abandoned the project for good. I suppose there has been some misunderstanding. I didnt read his announcement carefuly and assumed it wrong.. Anyway also i didnt say per se that the app is indeed "dead" i just thought it wrongfully. Anyway lets still hope that fix will still come, whenever @genious7 decides to do the fix and finds the solution. :) |
well, it's been three months since the last post of this issue Or even check the solved fanficfare |
The FanFicFare is not useful in this scenario, since they are using the browser cache as a solution. That being said, good catch on the Tachiyomi; they definitely have an android-compatible solution. I'll look into it. |
Any update so far?? |
I don't think so.
…On Fri, 6 Jan 2023, 08:59 thedragneel124, ***@***.***> wrote:
Any update so far??
—
Reply to this email directly, view it on GitHub
<#84 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ASKQOYB5GKU2YUDRNS5BITDWQ7NG3ANCNFSM5GXJ7D4Q>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
If you have the chance to do so, tell us what's the problem. Maybe the Tachiyomi people can help to a certain extent. |
At this point, no and we shouldn't expect any. The developer has done an awesome job trying to fix it and for awhile it worked, but ff.net site changed things again to prevent third party readers from being able to download stories. Fanfiction.net site is a lost cause. I suspect that what happened was the original owner of the site sold his site for $$ to someone else or an entity. My research turned up that some Chinese entity in China may be the owner of Fanfiction.net site and are using it as a cash cow with advertisements plastered all over their page. They can't get ad revenue if third party readers download stories hence cloudflare bullcrap. There are millions of site visits per month which makes fanfiction.net site a place for ad revenue for milking cash. Long story short, FF.net is a lost cause. I would like to thank @genious7 for his time and energy to try fix the app, because for the brief period of time that the app was working again and I updated stories, my depression lifted and I was in a good place. Thank you! |
Xing Li is the founder of FanFiction.Net. He and several people, including some UCLA students, developed the site in fall of 1998. That might be the "Chinese entity" you are thinking of |
So have this app died ? Or is there any updates for this app |
it seems like its been dead for good. I guess we can say goodbye to this app. |
I guess it is dead for a long time now, I will create a guide on what I use currently. It will take some time to do it, so hold up! |
What do you currently use? LightningHoneypot |
I use the officaly app. It has came along way in 3 years to the point where
it is similar. The only issue is searching for a catergory without
crossover enabled by default.
…On Thu, 14 Sept 2023, 6:00 am slenderknight1, ***@***.***> wrote:
What do you currently use?
—
Reply to this email directly, view it on GitHub
<#84 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ASKQOYGO3WW6FZKULXVDXY3X2KFODANCNFSM5GXJ7D4Q>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Sorry for late reply, but I use JimmXinu's FanFicFare in kovidgoyal's calibre, and bypassing the cloudflare checks using FlareSolverr. I read the epubs using koreader. |
You mean the official app? If so, I haven't create an account, that's why I didn't use the official app. |
When opening a new story i get no words and it says 1-1 chapters when in bio it says 20
The text was updated successfully, but these errors were encountered: