Merge branch 'issue-65' into dev
This commit is contained in:
@@ -16,6 +16,10 @@
|
||||
|
||||
package xyz.quaver
|
||||
|
||||
import java.net.Proxy
|
||||
|
||||
var proxy = Proxy.NO_PROXY
|
||||
|
||||
fun availableInHiyobi(galleryID: Int) : Boolean {
|
||||
return try {
|
||||
xyz.quaver.hiyobi.getReader(galleryID)
|
||||
|
||||
@@ -18,6 +18,7 @@ package xyz.quaver.hitomi
|
||||
|
||||
import kotlinx.serialization.json.Json
|
||||
import kotlinx.serialization.list
|
||||
import xyz.quaver.proxy
|
||||
import java.net.URL
|
||||
|
||||
const val protocol = "https:"
|
||||
@@ -27,7 +28,9 @@ fun getGalleryInfo(galleryID: Int) =
|
||||
Json.nonstrict.parse(
|
||||
GalleryInfo.serializer().list,
|
||||
Regex("""\[.+]""").find(
|
||||
URL("$protocol//$domain/galleries/$galleryID.js").readText()
|
||||
URL("$protocol//$domain/galleries/$galleryID.js").openConnection(proxy).getInputStream().use {
|
||||
it.reader().readText()
|
||||
}
|
||||
)?.value ?: "[]"
|
||||
)
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ package xyz.quaver.hitomi
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
import org.jsoup.Jsoup
|
||||
import xyz.quaver.proxy
|
||||
import java.net.URLDecoder
|
||||
|
||||
@Serializable
|
||||
@@ -36,7 +37,7 @@ data class Gallery(
|
||||
val thumbnails: List<String>
|
||||
)
|
||||
fun getGallery(galleryID: Int) : Gallery {
|
||||
val url = Jsoup.connect("https://hitomi.la/galleries/$galleryID.html").get()
|
||||
val url = Jsoup.connect("https://hitomi.la/galleries/$galleryID.html").proxy(proxy).get()
|
||||
.select("a").attr("href")
|
||||
|
||||
val doc = Jsoup.connect(url).get()
|
||||
|
||||
@@ -19,6 +19,7 @@ package xyz.quaver.hitomi
|
||||
import kotlinx.serialization.Serializable
|
||||
import org.jsoup.Jsoup
|
||||
import xyz.quaver.Code
|
||||
import xyz.quaver.proxy
|
||||
import java.net.URL
|
||||
import java.net.URLDecoder
|
||||
import java.nio.ByteBuffer
|
||||
@@ -78,7 +79,7 @@ data class GalleryBlock(
|
||||
fun getGalleryBlock(galleryID: Int) : GalleryBlock? {
|
||||
val url = "$protocol//$domain/$galleryblockdir/$galleryID$extension"
|
||||
|
||||
val doc = Jsoup.connect(url).get()
|
||||
val doc = Jsoup.connect(url).proxy(proxy).get()
|
||||
|
||||
val galleryUrl = doc.selectFirst(".lillie").attr("href")
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ package xyz.quaver.hitomi
|
||||
import kotlinx.serialization.Serializable
|
||||
import org.jsoup.Jsoup
|
||||
import xyz.quaver.Code
|
||||
import xyz.quaver.proxy
|
||||
|
||||
fun getReferer(galleryID: Int) = "https://hitomi.la/reader/$galleryID.html"
|
||||
|
||||
@@ -38,7 +39,7 @@ data class Reader(val code: Code, val title: String, val galleryInfo: List<Galle
|
||||
fun getReader(galleryID: Int) : Reader {
|
||||
val readerUrl = "https://hitomi.la/reader/$galleryID.html"
|
||||
|
||||
val doc = Jsoup.connect(readerUrl).get()
|
||||
val doc = Jsoup.connect(readerUrl).proxy(proxy).get()
|
||||
|
||||
return Reader(Code.HITOMI, doc.title(), getGalleryInfo(galleryID))
|
||||
}
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package xyz.quaver.hitomi
|
||||
|
||||
import xyz.quaver.proxy
|
||||
import java.net.URL
|
||||
import java.nio.ByteBuffer
|
||||
import java.nio.ByteOrder
|
||||
@@ -49,8 +50,9 @@ fun sanitize(input: String) : String {
|
||||
|
||||
fun getIndexVersion(name: String) : String {
|
||||
return try {
|
||||
URL("$protocol//$domain/$name/version?_=${System.currentTimeMillis()}")
|
||||
.readText()
|
||||
URL("$protocol//$domain/$name/version?_=${System.currentTimeMillis()}").openConnection(proxy).getInputStream().use {
|
||||
it.reader().readText()
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
""
|
||||
}
|
||||
@@ -167,13 +169,16 @@ fun getSuggestionsFromData(field: String, data: Pair<Long, Int>) : List<Suggesti
|
||||
}
|
||||
|
||||
fun getGalleryIDsFromNozomi(area: String?, tag: String, language: String) : List<Int> {
|
||||
print("PUPILD: NOZOMI REQUEST: $area:$tag ($language)")
|
||||
val nozomiAddress =
|
||||
when(area) {
|
||||
null -> "$protocol//$domain/$compressed_nozomi_prefix/$tag-$language$nozomiextension"
|
||||
else -> "$protocol//$domain/$compressed_nozomi_prefix/$area/$tag-$language$nozomiextension"
|
||||
}
|
||||
|
||||
val bytes = URL(nozomiAddress).readBytes()
|
||||
val bytes = URL(nozomiAddress).openConnection(proxy).getInputStream().use {
|
||||
it.readBytes()
|
||||
}
|
||||
|
||||
val nozomi = ArrayList<Int>()
|
||||
|
||||
@@ -184,6 +189,7 @@ fun getGalleryIDsFromNozomi(area: String?, tag: String, language: String) : List
|
||||
while (arrayBuffer.hasRemaining())
|
||||
nozomi.add(arrayBuffer.int)
|
||||
|
||||
print("PUPILD: NOZOMI REQUEST END: $area:$tag ($language)")
|
||||
return nozomi
|
||||
}
|
||||
|
||||
@@ -238,7 +244,7 @@ fun getNodeAtAddress(field: String, address: Long) : Node? {
|
||||
|
||||
fun getURLAtRange(url: String, range: LongRange) : ByteArray? {
|
||||
try {
|
||||
with (URL(url).openConnection() as HttpsURLConnection) {
|
||||
with (URL(url).openConnection(proxy) as HttpsURLConnection) {
|
||||
requestMethod = "GET"
|
||||
|
||||
setRequestProperty("Range", "bytes=${range.first}-${range.last}")
|
||||
|
||||
@@ -20,11 +20,12 @@ import org.jsoup.Jsoup
|
||||
import xyz.quaver.Code
|
||||
import xyz.quaver.hitomi.GalleryBlock
|
||||
import xyz.quaver.hitomi.protocol
|
||||
import xyz.quaver.proxy
|
||||
|
||||
fun getGalleryBlock(galleryID: Int) : GalleryBlock? {
|
||||
val url = "$protocol//$hiyobi/info/$galleryID"
|
||||
|
||||
val doc = Jsoup.connect(url).get()
|
||||
val doc = Jsoup.connect(url).proxy(proxy).get()
|
||||
|
||||
val galleryBlock = doc.selectFirst(".gallery-content")
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@ import xyz.quaver.Code
|
||||
import xyz.quaver.hitomi.GalleryInfo
|
||||
import xyz.quaver.hitomi.Reader
|
||||
import xyz.quaver.hitomi.protocol
|
||||
import xyz.quaver.proxy
|
||||
import java.net.URL
|
||||
import javax.net.ssl.HttpsURLConnection
|
||||
|
||||
@@ -48,7 +49,7 @@ fun renewCookie() : String {
|
||||
val url = "https://$hiyobi/"
|
||||
|
||||
try {
|
||||
with(URL(url).openConnection() as HttpsURLConnection) {
|
||||
with(URL(url).openConnection(proxy) as HttpsURLConnection) {
|
||||
setRequestProperty("User-Agent", user_agent)
|
||||
connectTimeout = 2000
|
||||
connect()
|
||||
@@ -64,11 +65,11 @@ fun getReader(galleryID: Int) : Reader {
|
||||
val reader = "https://$hiyobi/reader/$galleryID"
|
||||
val url = "https://$hiyobi/data/json/${galleryID}_list.json"
|
||||
|
||||
val title = Jsoup.connect(reader).get().title()
|
||||
val title = Jsoup.connect(reader).proxy(proxy).get().title()
|
||||
|
||||
val galleryInfo = Json.nonstrict.parse(
|
||||
GalleryInfo.serializer().list,
|
||||
with(URL(url).openConnection() as HttpsURLConnection) {
|
||||
with(URL(url).openConnection(proxy) as HttpsURLConnection) {
|
||||
setRequestProperty("User-Agent", user_agent)
|
||||
setRequestProperty("Cookie", cookie)
|
||||
connectTimeout = 2000
|
||||
|
||||
Reference in New Issue
Block a user