fix: bump origin IP on nhentai (#23)

* NHENTAI_IP_4

* adjust modifier

* improve tests

* bump deps

* revert breaking changes
このコミットが含まれているのは:
Indrawan I 2023-05-15 16:23:57 +07:00 committed by GitHub
コミット b33ca13d28
この署名に対応する既知のキーがデータベースに存在しません
GPGキーID: 4AEE18F83AFDEB23
4個のファイルの変更27行の追加9行の削除

ファイルの表示

@ -1,6 +1,6 @@
{
"name": "jandapress",
"version": "2.1.6-alpha",
"version": "2.1.7-alpha",
"description": "RESTful and experimental API for the Doujinshi, Pressing the whole nhentai, pururin, hentaifox, and more.. where the official one is lack.",
"main": "build/src/index.js",
"scripts": {

ファイルの表示

@ -171,7 +171,7 @@ export function maybeError(success: boolean, message: string) {
*/
export function nhentaiStrategy() {
let strategy: string;
if (process.env.NHENTAI_IP_ORIGIN === "true" || process.env.NHENTAI_IP_ORIGIN === undefined) strategy = c.NHENTAI_IP_3;
if (process.env.NHENTAI_IP_ORIGIN === "true" || process.env.NHENTAI_IP_ORIGIN === undefined) strategy = c.NHENTAI_IP_4;
else strategy = c.NHENTAI;
return strategy;
}

ファイルの表示

@ -8,6 +8,7 @@ export default {
NHENTAI_IP: "http://35.186.156.165",
NHENTAI_IP_2: "http://173.82.30.99:3002",
NHENTAI_IP_3: "http://138.2.77.198:3002",
NHENTAI_IP_4: "http://129.150.63.211:3002",
ASMHENTAI: "https://asmhentai.com",
THREEHENTAI: "http://3hentai.net"
};

ファイルの表示

@ -1,15 +1,32 @@
import c from "../src/utils/options";
import p from "phin";
import { name, version } from "../package.json";
for (const url of
[c.HENTAIFOX, c.PURURIN, c.HENTAI2READ, c.SIMPLY_HENTAI,
c.SIMPLY_HENTAI_PROXIFIED, c.NHENTAI, c.NHENTAI_IP_3, c.ASMHENTAI]) {
p({ url }).then(res => {
if (res.statusCode !== 200) {
console.log(`${url} is not available, status code: ${res.statusCode}`);
function getKeyByValue(data: any, value: string) {
return Object.keys(data).find(key => data[key] === value);
}
for (const url of
[
c.NHENTAI_IP_4,
c.HENTAIFOX,
c.PURURIN,
c.ASMHENTAI,
c.SIMPLY_HENTAI_PROXIFIED,
c.HENTAI2READ,
c.THREEHENTAI
]) {
p({
url: url,
headers: {
"User-Agent": `${name}/${version} Node.js/16.9.1`,
}
}).then(res => {
if (res.statusCode !== 200 && res.statusCode !== 308 && res.statusCode !== 301) {
throw new Error(`${url} of ${getKeyByValue(c, url)} is not available, status: ${res.statusCode}, couldn't be scrape`);
}
else {
console.log(`${url} is available, can be scraped`);
console.log(`${url} is available status: ${res.statusCode}, could be scrape`);
}
});
}