Git Product home page Git Product logo

nhentai-nhviewer's Introduction

NHViewer

GitHub license Build status

Simple third-party application for browsing nhentai.net.

Just a little app for Android

Recent changes: Visual Studio App Center

Data collection

The app now uses Visual Studio App Center to provide in-app update, app analysis, and crashes report. To enable these features, some data will be collected from you (the user) and sent to App Center. You can find the details here.

As it might be a concern to some users, a new option is added in the settings page for disabling in-app update.

Better auto-update

Instead of using Firebase's remote config to handle update checking manually, the app now uses Visual Studio App Center to handle it automatically (well, kind of...). This feature will also be disabled along with disabling in-app update.

Known bugs😕


Download

The release here is NHViewer+, which is based on NHViewer but includes GitHub Sponsors features

Download From VS App Center

Important note

  • Download from VS App Center is recommended for auto-update
  • To support this project, you can...
    1. Sponsor this project on GitHub for more features!

    2. Or... star the repository 🌟

Look and Feel - in demo mode( •̀ ω •́ )y

Search result display demoCollection display demoSetting demo

Features

  • For GitHub Sponsors
    • Exclusive Proxy to unblock nhentai for some regions
  • Collection system
    • Add / remove comic from Favorite / Read later / History
    • Backup collection content to desktop (by scanning QRCode with NHV-Backup, Java program)
  • General
    • Basic proxy
    • Vertical scrolling
    • Comic list sorting (by popularity / uploaded recently)
    • Search with specific language (Chinese / English / Japanese)

V3 Overview

  • Dark theme (good for your eyes😉, or, at least for me...)

  • Better auto-update

    More new features (see #Roadmap)

Version 2 overview

Icon (Version 2) & Splash screen

I would like to include NHentai’s icon and slogan in this project since it is an application about their site.
I have sent them an email to ask for permission but there is still no reply yet.
Please contact me if there are any issue, thanks.


Getting Started

The application is using the JSON API (page was removed😥) and parse the response data into Java class from version 2.

😣For more information about coding, see the wiki (which is not yet ready '_' please come back later).

Deployment

Build and run the project inside Android Studio.

Built With

  • Android Studio
    • Any version after Android Studio 3.5 should be fine
    • Run on an Android device (tested on Android 8.0 Oreo)

Versioning

For the versions available, see the tags on this repository

Authors

  • ttdyce - Author and maintainer - github

Acknowledgments

License

This project is licensed under the MIT License - see the LICENSE.md file for details

nhentai-nhviewer's People

Contributors

history-exe avatar ttdyce avatar twkevinzhang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

nhentai-nhviewer's Issues

About LOGO

This app has no logo, how about adding one?

'sort by' and 'search' features not working

Whenever i try to search something or i sort the manga for popularity the app reload the same frontpage of the latest relased. I'm in version 3.3.2 and tried refreshing cookies many times.

app will crash if we click on tags option

Describe the bug
app will crash if we click on "tags"option
To Reproduce
Steps to reproduce the behavior:

  1. install and open the app
  2. click on 3 line in the left side
  3. then click on tags" option
  4. See error
    Screenshots
    https://youtu.be/B0fOBhY0LUk

Smartphone (please complete the following information):

  • Device: [e.g. oppo neo 5]
  • OS: [e.g. android 6.1]
  • Version [e.g. 1.0.1]

Expected behavior
app will show hentai by taggings
Exception thrown

Process: personal.ttd.nhviewer, PID: 30666
java.lang.StringIndexOutOfBoundsException: length=0; index=0
	at java.lang.String.indexAndLength(String.java:500)
	at java.lang.String.charAt(String.java:494)
	at personal.ttd.nhviewer.Model.tag.TagManager.getTagRequired(TagManager.java:30)
	at personal.ttd.nhviewer.Controller.fragment.TagFragment.refreshListData(TagFragment.java:186)
	at personal.ttd.nhviewer.Controller.fragment.TagFragment.initList(TagFragment.java:173)
	at personal.ttd.nhviewer.Controller.fragment.TagFragment.onViewCreated(TagFragment.java:68)
	at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1471)
	at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)
	at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)
	at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:802)
	at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2625)
	at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2411)
	at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2366)
	at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2273)
	at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:733)
	at android.os.Handler.handleCallback(Handler.java:815)
	at android.os.Handler.dispatchMessage(Handler.java:104)
	at android.os.Looper.loop(Looper.java:218)
	at android.app.ActivityThread.main(ActivityThread.java:5657)
	at java.lang.reflect.Method.invoke(Native Method)
	at java.lang.reflect.Method.invoke(Method.java:372)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:990)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:785)```

Proxy support?

Hi there.
Since there is an active development right now, could it be possible to implement any proxy support?

Can't connect the home page in nhviewer

Screenshot_2022-05-30-09-05-17-611_com github ttdyce nhviewer
Hi, i can't connect the home page from yesterday, when i start the app, it's always been like the screenshot, i only can use the favourite and i also can click inside.
IMG_20220530_090557
I can connect NH in browser, should i have to uninstall the app? i'm afraid it will delete my favourite.

The app crashed when I tried to open the hentai after removing it from the favorite list.

Describe the bug
When I tried to open hentai after removing it from the favorite list, then the app crashed.

To Reproduce
Steps to reproduce the behavior:

  1. Open the app.
  2. Click on the love icon to add it as your favorite.
  3. Now, swipe to the right to see your favorite list.
  4. Then, press the love button again, the app will ask your permission to remove it. Press yes.
  5. At last click on that hentai to open it and notice the crash.

Expected behavior
I expected that I could open the hentai after removing it from my favorite list or the hentai would disappear from the favorite list after removing.

Screenshots
https://www.youtube.com/watch?v=TXvJYyflFLo

Smartphone (please complete the following information):

  • Device: Samsung A5
  • OS: Android 6.0.1
  • App Version: 1.0.2

Logcat

E AndroidRuntime: FATAL EXCEPTION: main

07-19 11:46:38.275 10688 10688 E AndroidRuntime: Process: personal.ttd.nhviewer, PID: 10688

07-19 11:46:38.275 10688 10688 E AndroidRuntime: java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0

07-19 11:46:38.275 10688 10688 E AndroidRuntime: 	at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)

07-19 11:46:38.275 10688 10688 E AndroidRuntime: 	at java.util.ArrayList.get(ArrayList.java:308)

07-19 11:46:38.275 10688 10688 E AndroidRuntime: 	at personal.ttd.nhviewer.Controller.fragment.base.ComicListFragment$ComicListAdapter.onListItemClick(ComicListFragment.java:182)

07-19 11:46:38.275 10688 10688 E AndroidRuntime: 	at personal.ttd.nhviewer.Controller.fragment.base.BaseListFragment$BaseListAdapter$1.onClick(BaseListFragment.java:353)

07-19 11:46:38.275 10688 10688 E AndroidRuntime: 	at android.view.View.performClick(View.java:5714)

07-19 11:46:38.275 10688 10688 E AndroidRuntime: 	at android.view.View$PerformClick.run(View.java:22589)

07-19 11:46:38.275 10688 10688 E AndroidRuntime: 	at android.os.Handler.handleCallback(Handler.java:739)

07-19 11:46:38.275 10688 10688 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:95)

07-19 11:46:38.275 10688 10688 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:148)

07-19 11:46:38.275 10688 10688 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:7325)

07-19 11:46:38.275 10688 10688 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)

07-19 11:46:38.275 10688 10688 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)

07-19 11:46:38.275 10688 10688 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

Unable to verify

When entering the software, human-machine verification cannot be performed, and it keeps showing failure. As a result, the homepage keeps showing "Loading" and cannot be searched.

F-Droid

Would you please publish this app on F-Droid?

About "android.permission.CAMERA"

For such an app, requesting camera permissions is very sensitive.
This may cause some people to refuse to use this app.
From the source code, we can know that the camera is used to read the QRcode.
But for most users, they dont have the ability to review the code.(Many people don’t even know what is Open Source Software.) They will be worried when the phone tells them that this app want to use the camera.
A popularity of similar app,"ehviewer" relies on its convenient operation and open source transparency. It requires very few permissions, so people don't have to worry about apps secretly taking pictures while doing SOMETHING. (′▽`〃)
Search book by ID has been added in the latest update, maybe the QRcode function is no longer needed?

app crash when try to open

Describe the bug
app crash when try to open
To Reproduce
Steps to reproduce the behavior:
-download and open the app and note the error
Expected behavior
i expect i can open and use the as well
Screenshots
https://youtu.be/90HY0bygULE
*

Smartphone (please complete the following information):

  • Device: [e.g. oppo neo 5]
  • OS: [e.g. android 6.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. latest realeas signed apk]

Additional context

Process: personal.ttd.nhviewer, PID: 5987
java.lang.RuntimeException: Unable to start activity ComponentInfo{personal.ttd.nhviewer/personal.ttd.nhviewer.Controller.MainActivity}: java.lang.NullPointerException: Attempt to get length of null array
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2525)
	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2617)
	at android.app.ActivityThread.access$800(ActivityThread.java:182)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1474)
	at android.os.Handler.dispatchMessage(Handler.java:111)
	at android.os.Looper.loop(Looper.java:218)
	at android.app.ActivityThread.main(ActivityThread.java:5657)
	at java.lang.reflect.Method.invoke(Native Method)
	at java.lang.reflect.Method.invoke(Method.java:372)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:990)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:785)
Caused by: java.lang.NullPointerException: Attempt to get length of null array
	at personal.ttd.nhviewer.Model.Saver.JSONSaver.getCollectionList(JSONSaver.java:225)
	at personal.ttd.nhviewer.Model.comic.Collection.loadCollection(Collection.java:55)
	at personal.ttd.nhviewer.Controller.MainActivity.initCollection(MainActivity.java:225)
	at personal.ttd.nhviewer.Controller.MainActivity.init(MainActivity.java:129)
	at personal.ttd.nhviewer.Controller.MainActivity.onCreate(MainActivity.java:118)
	at android.app.Activity.performCreate(Activity.java:6135)
	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1112)
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2472)
	... 10 more```

The app crashed when I clicked on history after deleting it from the collection menu

Describe the bug
When I tried to click on the "history" option after deleting history from the collection option, then the app crashed.

To Reproduce
Steps to reproduce the behavior:

  1. Open the app.
  2. Go to the main menu of the app and click on the "Collection".
  3. You will see two tabs. Tap and hold the "history" and click on the delete icon to delete it.
  4. Now once again go to the app's main menu and try to go to the "History" option and see an error.

Expected behavior
I expected that I could click on history after deleting it from the collection menu without getting any trouble.

Screenshots
v

Information:

  • Device: Samsung A5
  • OS: Android 6.0.1
  • Version 1.0.3

Logcat

07-27 12:48:29.182  5007  5007 D AndroidRuntime: Shutting down VM

07-27 12:48:29.182  5007  5007 E AndroidRuntime: FATAL EXCEPTION: main

07-27 12:48:29.182  5007  5007 E AndroidRuntime: Process: personal.ttd.nhviewer, PID: 5007

07-27 12:48:29.182  5007  5007 E AndroidRuntime: java.lang.NullPointerException: name == null

07-27 12:48:29.182  5007  5007 E AndroidRuntime: 	at java.io.File.<init>(File.java:146)

07-27 12:48:29.182  5007  5007 E AndroidRuntime: 	at java.io.File.<init>(File.java:118)

07-27 12:48:29.182  5007  5007 E AndroidRuntime: 	at personal.ttd.nhviewer.Model.Saver.JSONSaver.getFile(JSONSaver.java:411)

07-27 12:48:29.182  5007  5007 E AndroidRuntime: 	at personal.ttd.nhviewer.Model.Saver.JSONSaver.getJSONArr(JSONSaver.java:269)

07-27 12:48:29.182  5007  5007 E AndroidRuntime: 	at personal.ttd.nhviewer.Model.Saver.JSONSaver.getCollection(JSONSaver.java:116)

07-27 12:48:29.182  5007  5007 E AndroidRuntime: 	at personal.ttd.nhviewer.Model.Saver.JSONSaver.getHistory(JSONSaver.java:68)

07-27 12:48:29.182  5007  5007 E AndroidRuntime: 	at personal.ttd.nhviewer.Model.comic.ComicMaker.getComicListHistory(ComicMaker.java:31)

07-27 12:48:29.182  5007  5007 E AndroidRuntime: 	at personal.ttd.nhviewer.Controller.fragment.HistoryFragment.setList(HistoryFragment.java:24)

07-27 12:48:29.182  5007  5007 E AndroidRuntime: 	at personal.ttd.nhviewer.Controller.fragment.base.BaseListFragment.onViewCreated(BaseListFragment.java:95)

07-27 12:48:29.182  5007  5007 E AndroidRuntime: 	at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1471)

07-27 12:48:29.182  5007  5007 E AndroidRuntime: 	at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)

07-27 12:48:29.182  5007  5007 E AndroidRuntime: 	at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)

07-27 12:48:29.182  5007  5007 E AndroidRuntime: 	at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:802)

07-27 12:48:29.182  5007  5007 E AndroidRuntime: 	at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2625)

07-27 12:48:29.182  5007  5007 E AndroidRuntime: 	at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2411)

07-27 12:48:29.182  5007  5007 E AndroidRuntime: 	at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2366)

07-27 12:48:29.182  5007  5007 E AndroidRuntime: 	at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2273)

07-27 12:48:29.182  5007  5007 E AndroidRuntime: 	at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:733)

07-27 12:48:29.182  5007  5007 E AndroidRuntime: 	at android.os.Handler.handleCallback(Handler.java:739)

07-27 12:48:29.182  5007  5007 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:95)

07-27 12:48:29.182  5007  5007 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:148)

07-27 12:48:29.182  5007  5007 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:7325)

07-27 12:48:29.182  5007  5007 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)

07-27 12:48:29.182  5007  5007 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)

07-27 12:48:29.182  5007  5007 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

07-27 12:48:29.182  2680  3320 W VirtualScreenManagerService: moveTaskBackToDisplayIfNeeded(): root is not base activity

连接问题

使用了最新版2.5.0sign版app后,不能刷新出任何内容。之前的2.4.0版本也不能加载内容。
我使用浏览器访问n站没问题,网络正常可以访问外网。
手机版本
一加3
Android9
lineageOS16

Search book by ID.

As title,
In my country, this is a very popular search method.
Is it possible to add this feature in the next version?

[NHentaiViewer][v1.0.3]Failed to install the app.

Actual Behaviour

App fail to install in my device.

Expected Behaviour

I expected that i can install and use the app successfully.

Step to reproduce

  • Download the app from release page
  • click the app to install
  • see the error

Information

  1. App version:v1.0.3
  2. Os:Android 8.1.0
  3. Device: symphony i72

Recording of the bug

https://youtu.be/oU5egQ9IY6Y

Fix java.lang.ArrayIndexOutOfBoundsException: length=4; index=-1 in com.github.ttdyce.nhviewer.model.api.NHAPI.getComicList (NHAPI.java:49)

Version 2.10.1in-app-update4(26)

Stacktrace

com.github.ttdyce.nhviewer.model.api.NHAPI.getComicList (NHAPI.java:49);

com.github.ttdyce.nhviewer.model.comic.factory.NHApiComicFactory.requestComicList (NHApiComicFactory.java:30);

com.github.ttdyce.nhviewer.presenter.ComicListPresenter.refreshComicList (ComicListPresenter.java:106);

com.github.ttdyce.nhviewer.presenter.ComicListPresenter. (ComicListPresenter.java:98);

com.github.ttdyce.nhviewer.view.ComicListFragment.onViewCreated (ComicListFragment.java:87);

androidx.fragment.app.FragmentStateManager.createView (FragmentStateManager.java:332);

androidx.fragment.app.FragmentManager.moveToState (FragmentManager.java:1187);

androidx.fragment.app.FragmentManager.addAddedFragments (FragmentManager.java:2224);

androidx.fragment.app.FragmentManager.executeOpsTogether (FragmentManager.java:1997);

androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute (FragmentManager.java:1953);

androidx.fragment.app.FragmentManager.execPendingActions (FragmentManager.java:1849);

androidx.fragment.app.FragmentManager$4.run (FragmentManager.java:413);

Reason

java.lang.ArrayIndexOutOfBoundsException: length=4; index=-1

Link to App Center

The app crashed when I tried to add hentai as favorite after exiting the hentai for a few times

Describe the bug
When I tried to add hentai as the favorite after exiting the hentai for a few times, then the app crashed.

To Reproduce
Steps to reproduce the behavior:

  1. Open the app.
  2. Open a hentai and press back to exit from it.
  3. Now press "add as your favorite" button to add it as your favorite.
  4. Notice the bug. (If you haven't seen the bug yet then try those steps for a few times to different hentai).

Expected behavior
I Expected that I could add a hentai as the favorite after exiting from it for a few times.

Screenshots
fff

Smartphone (please complete the following information):

  • Device: Samsung A5
  • OS: Android 6.0.1
  • Version 1.1.0

LogCat

07-29 12:44:52.222 29897 29897 E AndroidRuntime: FATAL EXCEPTION: main

07-29 12:44:52.222 29897 29897 E AndroidRuntime: Process: personal.ttd.nhviewer, PID: 29897

07-29 12:44:52.222 29897 29897 E AndroidRuntime: java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity

07-29 12:44:52.222 29897 29897 E AndroidRuntime: 	at com.bumptech.glide.manager.RequestManagerRetriever.assertNotDestroyed(RequestManagerRetriever.java:323)

07-29 12:44:52.222 29897 29897 E AndroidRuntime: 	at com.bumptech.glide.manager.RequestManagerRetriever.get(RequestManagerRetriever.java:132)

07-29 12:44:52.222 29897 29897 E AndroidRuntime: 	at com.bumptech.glide.Glide.with(Glide.java:723)

07-29 12:44:52.222 29897 29897 E AndroidRuntime: 	at personal.ttd.nhviewer.glide.GlideApp.with(GlideApp.java:104)

07-29 12:44:52.222 29897 29897 E AndroidRuntime: 	at personal.ttd.nhviewer.Controller.InnerPageActivity.initRecycleView(InnerPageActivity.java:140)

07-29 12:44:52.222 29897 29897 E AndroidRuntime: 	at personal.ttd.nhviewer.Controller.InnerPageActivity.lambda$initComicShowing$0$InnerPageActivity(InnerPageActivity.java:131)

07-29 12:44:52.222 29897 29897 E AndroidRuntime: 	at personal.ttd.nhviewer.Controller.-$$Lambda$InnerPageActivity$qmnv4vEcn_ntgmzyIPkgI5PVGCA.onResponse(lambda)

07-29 12:44:52.222 29897 29897 E AndroidRuntime: 	at personal.ttd.nhviewer.Model.api.NHTranlator$Companion$getComicById$documentRequest$2.onResponse(NHTranlator.kt:224)

07-29 12:44:52.222 29897 29897 E AndroidRuntime: 	at personal.ttd.nhviewer.Model.api.NHTranlator$Companion$getComicById$documentRequest$2.onResponse(NHTranlator.kt:215)

07-29 12:44:52.222 29897 29897 E AndroidRuntime: 	at com.android.volley.toolbox.StringRequest.deliverResponse(StringRequest.java:78)

07-29 12:44:52.222 29897 29897 E AndroidRuntime: 	at com.android.volley.toolbox.StringRequest.deliverResponse(StringRequest.java:30)

07-29 12:44:52.222 29897 29897 E AndroidRuntime: 	at com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:106)

07-29 12:44:52.222 29897 29897 E AndroidRuntime: 	at android.os.Handler.handleCallback(Handler.java:739)

07-29 12:44:52.222 29897 29897 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:95)

07-29 12:44:52.222 29897 29897 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:148)

07-29 12:44:52.222 29897 29897 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:7325)

07-29 12:44:52.222 29897 29897 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)

07-29 12:44:52.222 29897 29897 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)

07-29 12:44:52.222 29897 29897 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

中文翻譯? Chinese Translate?

看code似乎是中國人寫的,因為使用支付寶來尋求贊助。

難道沒有簡體中文版本嗎?或是我誤會了?

看code似乎是**人写的,因为使用支付宝来寻求赞助。

难道没有简体中文版本吗?或是我误会了?

Look at the code seems to be written by the Chinese, because using Alipay to seek Donate.

Is there no Simplified Chinese version? Or am I misunderstanding?

human checking读取cookie太快导致访问失败

是这样的,新版本更新了cf的连接验证,不知道是不是我的问题,我每次都会转到人工验证,但是人工验证需要点击我不是机器人之后才会正确读取cookie,每次还没等到那个地方弹出来,app就说自动获取了cookie然后验证失败
Uploading Screenshot_2023-05-12-19-02-27-727_com.github.ttdyce.nhviewer.jpg…
Uploading Screenshot_2023-05-12-19-02-36-372_com.github.ttdyce.nhviewer.jpg…
Uploading Screenshot_2023-05-12-19-02-39-324_com.github.ttdyce.nhviewer.jpg…

Some workaround for unfixed bugs

1. Forever loading issue

e.g. loading index, loading comic

Workaround to try

  • Force closing the app...

Initial findings

Stack traces

androidx.fragment.app.Fragment.requireContext Fragment.java:805
com.github.ttdyce.nhviewer.view.ComicCollectionFragment.onBindViewHolder ComicCollectionFragment.java:78
com.github.ttdyce.nhviewer.presenter.ComicCollectionPresenter$ComicCollectionAdapter$1.onReponse ComicCollectionPresenter.java:89
com.github.ttdyce.nhviewer.model.api.NHAPI$3.onResponse NHAPI.java:122
com.github.ttdyce.nhviewer.model.api.NHAPI$3.onResponse NHAPI.java:117
com.android.volley.toolbox.StringRequest.deliverResponse StringRequest.java:82

The application might not work from time to time (API issue)

Seems nhentai has changed their site (added DDoS protection?) and the API client is not working now.
Would need to update this application to fix this issue.

Tested with the api endpoint:
curl https://nhentai.net/api/galleries/search\?query\=language:chinese
Screen Shot 2022-05-17 at 01 10 11
Expected to receive JSON response, currently some html for redirect after 5s

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.