Compare commits

..

2 Commits

Author SHA1 Message Date
fad66e6945 handle payload error 2024-05-20 14:14:55 -07:00
e3f39e37a1 add warnings 2024-05-20 14:06:46 -07:00

View File

@ -74,7 +74,9 @@ export async function pixivToPleroma(illust_id) {
try { try {
var {illust, images} = await downloadPixivIllust(illust_id); var {illust, images} = await downloadPixivIllust(illust_id);
await postStatus({ await postStatus({
status: `https://www.pixiv.net/en/artworks/${illust_id}`, status: `https://www.pixiv.net/en/artworks/${illust_id}`
+ ((images.length > 4) ? '\n⚠ >4 img' : '')
+ ((illust.illustType == 2) ? '\n⚠ ugoira conversion not implemented' : ''),
files: images, files: images,
visibility: "unlisted", visibility: "unlisted",
sensitive: Boolean(illust.xRestrict) sensitive: Boolean(illust.xRestrict)
@ -94,36 +96,41 @@ if (import.meta.main) Deno.serve({
hostname: "127.0.0.1" hostname: "127.0.0.1"
}, async (req, info) => { }, async (req, info) => {
var {pathname} = new URL(req.url); var {pathname} = new URL(req.url);
console.log(info.remoteAddr.hostname, pathname); console.log(info.remoteAddr.hostname, req.headers.get('x-forwarded-for'), pathname);
switch (pathname) { try {
case "/ajax/illusts/bookmarks/add": switch (pathname) {
var payload = await req.clone().json(); case "/ajax/illusts/bookmarks/add":
console.log(payload); var payload = await req.clone().json();
var {comment, illust_id, restrict, tags} = payload; console.log(payload);
pixivToPleroma(illust_id); var {comment, illust_id, restrict, tags} = payload;
break; pixivToPleroma(illust_id);
case "/ajax/illusts/bookmarks/delete": break;
var payload = await req.clone().formData(); case "/ajax/illusts/bookmarks/delete":
console.log(payload); var payload = await req.clone().formData();
// todo console.log(payload);
break;
case "/touch/ajax_api/ajax_api.php":
var payload = await req.clone().formData();
console.log(payload);
var mode = payload.get("mode");
if (mode == "add_bookmark_illust") {
var restrict = payload.get("restrict");
var tag = payload.get("tag");
var id = payload.get("id");
var comment = payload.get("comment");
pixivToPleroma(id);
} else if (mode == "delete_bookmark_illust") {
var id = payload.get("id");
// todo // todo
} break;
break; case "/touch/ajax_api/ajax_api.php":
var payload = await req.clone().formData();
console.log(payload);
var mode = payload.get("mode");
if (mode == "add_bookmark_illust") {
var restrict = payload.get("restrict");
var tag = payload.get("tag");
var id = payload.get("id");
var comment = payload.get("comment");
pixivToPleroma(id);
} else if (mode == "delete_bookmark_illust") {
var id = payload.get("id");
// todo
}
break;
}
} catch (error) {
console.error("payload error:", error.stack);
} }
return fetch("https://www.pixiv.net"+pathname, { return fetch("https://www.pixiv.net"+pathname, {
method: req.method, method: req.method,
headers: req.headers, headers: req.headers,