Compare commits

...

1 Commits

Author SHA1 Message Date
tom5079
37cd99731c Fixed images not loading 2022-01-02 09:08:53 +09:00
8 changed files with 25 additions and 42 deletions

View File

@@ -81,5 +81,10 @@
<option name="name" value="MavenLocal" />
<option name="url" value="file:$USER_HOME$/.m2/repository/" />
</remote-repository>
<remote-repository>
<option name="id" value="maven2" />
<option name="name" value="maven2" />
<option name="url" value="https://oss.sonatype.org/content/repositories/snapshots" />
</remote-repository>
</component>
</project>

View File

@@ -2,7 +2,7 @@
*Pupil, Hitomi.la viewer for Android*
![](https://img.shields.io/github/downloads/tom5079/Pupil/total)
[![](https://img.shields.io/github/downloads/tom5079/Pupil/5.1.29/Pupil-v5.1.29.apk?color=%234fc3f7&label=DOWNLOAD%20APP&style=for-the-badge)](https://github.com/tom5079/Pupil/releases/download/5.1.29/Pupil-v5.1.29.apk)
[![](https://img.shields.io/github/downloads/tom5079/Pupil/5.1.30/Pupil-v5.1.30.apk?color=%234fc3f7&label=DOWNLOAD%20APP&style=for-the-badge)](https://github.com/tom5079/Pupil/releases/download/5.1.30/Pupil-v5.1.30.apk)
[![](https://discordapp.com/api/guilds/610452916612104194/embed.png?style=banner2)](https://discord.gg/Stj4b5v)
# Features

View File

@@ -38,7 +38,7 @@ android {
minSdkVersion 16
targetSdkVersion 30
versionCode 69
versionName "5.1.29"
versionName "5.1.30"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
}
@@ -126,7 +126,7 @@ dependencies {
implementation "ru.noties.markwon:core:3.1.0"
implementation "org.jsoup:jsoup:1.14.3"
implementation "com.github.seven332:quickjs-android:0.1.0"
implementation "app.cash.zipline:zipline:1.0.0-SNAPSHOT"
implementation "com.google.guava:guava:31.0.1-android"

View File

@@ -11,7 +11,7 @@
"type": "SINGLE",
"filters": [],
"versionCode": 69,
"versionName": "5.1.29",
"versionName": "5.1.30",
"outputFile": "app-release.apk"
}
]

View File

@@ -26,7 +26,6 @@ import android.content.Context
import android.content.Intent
import android.net.Uri
import android.os.Build
import android.util.Log
import androidx.appcompat.app.AppCompatDelegate
import androidx.core.content.ContextCompat
import androidx.preference.PreferenceManager
@@ -36,11 +35,6 @@ import com.google.android.gms.common.GooglePlayServicesNotAvailableException
import com.google.android.gms.common.GooglePlayServicesRepairableException
import com.google.android.gms.security.ProviderInstaller
import com.google.firebase.crashlytics.FirebaseCrashlytics
import com.hippo.quickjs.android.QuickJS
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.MainScope
import kotlinx.coroutines.launch
import okhttp3.Dispatcher
import okhttp3.Interceptor
import okhttp3.OkHttpClient
@@ -48,9 +42,7 @@ import okhttp3.Response
import xyz.quaver.io.FileX
import xyz.quaver.pupil.types.Tag
import xyz.quaver.pupil.util.*
import xyz.quaver.readText
import java.io.File
import java.net.URL
import java.util.*
import java.util.concurrent.Executors
import java.util.concurrent.TimeUnit

View File

@@ -17,16 +17,12 @@
package xyz.quaver.pupil.hitomi
import android.util.Log
import com.hippo.quickjs.android.QuickJS
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.sync.Mutex
import kotlinx.coroutines.sync.withLock
import app.cash.zipline.QuickJs
import kotlinx.serialization.decodeFromString
import xyz.quaver.json
import xyz.quaver.readText
import java.net.URL
import java.nio.charset.Charset
const val protocol = "https:"
@@ -54,33 +50,18 @@ interface gg {
fun getInstance(): gg =
instance ?: synchronized(this) {
instance ?: object: gg {
private val ggjs by lazy { URL("https://ltn.hitomi.la/gg.js").readText() }
private val quickJS = QuickJS.Builder().build()
private val engine = QuickJs.create().also {
it.evaluate(URL("https://ltn.hitomi.la/gg.js").readText(Charset.defaultCharset()).also {
Log.d("PUPILD", it)
})
}
override fun m(g: Int): Int =
quickJS.createJSRuntime().use { runtime ->
runtime.createJSContext().use { context ->
context.evaluate(ggjs, "gg.js")
context.evaluate("gg.m($g)", "gg.js", Int::class.java)
}
}
override fun m(g: Int): Int = engine.evaluate("gg.m($g)") as Int
override val b: String
get() =
quickJS.createJSRuntime().use { runtime ->
runtime.createJSContext().use { context ->
context.evaluate(ggjs, "gg.js")
context.evaluate("gg.b", "gg.js", String::class.java)
}
}
get() = engine.evaluate("gg.b") as String
override fun s(h: String): String =
quickJS.createJSRuntime().use { runtime ->
runtime.createJSContext().use { context ->
context.evaluate(ggjs, "gg.js")
context.evaluate("gg.s('$h')", "gg.js", String::class.java)
}
}
override fun s(h: String): String = engine.evaluate("gg.s('$h')") as String
}.also { instance = it }
}
}

View File

@@ -149,7 +149,7 @@ class DownloadService : Service() {
override fun source(): BufferedSource {
if (bufferedSource == null)
bufferedSource = Okio.buffer(source(responseBody.source()))
bufferedSource = source(responseBody.source()).buffer()
return bufferedSource!!
}
@@ -174,9 +174,13 @@ class DownloadService : Service() {
private val interceptor: PupilInterceptor = { chain ->
val request = chain.request()
Log.d("PUPILD", "REQ")
if (rateLimitHost.matches(request.url().host()))
rateLimiter.acquire()
Log.d("PUPILD", "ACQ ${request.url()}")
var response = chain.proceed(request)
var limit = 5

View File

@@ -25,6 +25,7 @@ allprojects {
mavenCentral()
jcenter()
maven { url "https://jitpack.io" }
maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
maven { url "https://guardian.github.io/maven/repo-releases/" }
}
}