📖Lofter

https://newsmiss.lofter.com

guaner001125 (317)06/20 23:19

需登录
◎搜索格式◎
1、搜索用户<关闭精确搜索>
@用户名
2、搜索合集<关闭精确搜索>
#合集
3、搜索粮单
%粮单名<关闭精确搜索>
4、搜索文章,直接搜索

发现规则格式
                                    🏷标签
标签名::https://api.lofter.com/oldapi/tagPosts.api?product=lofter-android-6.13.0&method=newTagSearch&offset={{(page-1) *22}}&limit=22&firstpermalink=null&tag=标签名&type=new,{"method": "POST","body":"null"}
📃用户(搜索可以得到)
部分目录章节比较多,加载时间久,出现目录加载失败,请尝试刷新,因为可能是请求失败导致的
二维码导入
{
    "bookSourceComment": "需登录\n◎搜索格式◎\n1、搜索用户<关闭精确搜索>\n@用户名\n2、搜索合集<关闭精确搜索>\n#合集\n3、搜索粮单\n%粮单名<关闭精确搜索>\n4、搜索文章,直接搜索\n\n发现规则格式\n                                    🏷标签\n标签名::https:\/\/api.lofter.com\/oldapi\/tagPosts.api?product=lofter-android-6.13.0&method=newTagSearch&offset={{(page-1) *22}}&limit=22&firstpermalink=null&tag=标签名&type=new,{\"method\": \"POST\",\"body\":\"null\"}\n📃用户(搜索可以得到)\n部分目录章节比较多,加载时间久,出现目录加载失败,请尝试刷新,因为可能是请求失败导致的",
    "bookSourceName": "📖Lofter",
    "bookSourceType": 0,
    "bookSourceUrl": "https:\/\/newsmiss.lofter.com",
    "customOrder": 73,
    "enabled": true,
    "enabledCookieJar": true,
    "enabledExplore": true,
    "exploreUrl": "              ----------     🏷标签     ----------               ::\n百合::https:\/\/api.lofter.com\/oldapi\/tagPosts.api?product=lofter-android-6.13.0&method=newTagSearch&offset={{(page-1) *22}}&limit=22&firstpermalink=null&tag=百合&type=new,{\"method\": \"POST\",\"body\":\"null\"}\n\n               ----------     📃用户     ----------               ::\n砂上雪::http:\/\/api.lofter.com\/v2.0\/blogHomePage.api?product=lofter-android-6.13.0,{\"method\":\"POST\",\"body\":\"targetblogid=514131314&supportposttypes=1%2C2%2C3%2C4%2C5%2C6&blogdomain=taste-s.lofter.com&offset={{(page-1)*18}}&method=getPostLists&postdigestnew=1&returnData=1&limit=18&checkpwd=1&needgetpoststat=1\"}\n\n",
    "header": "{\n\"Content-Type\": \"application\/x-www-form-urlencoded;charset=utf-8\"}",
    "lastUpdateTime": "1750432791236",
    "loginUrl": "https:\/\/www.lofter.com\/front\/account\/login?theme=lofter#login",
    "respondTime": 2608,
    "ruleBookInfo": {
        "author": "$.response.blogInfo.blogNickName||$.response.posts[0].post.blogInfo.blogNickName||$.data.blogInfo.blogNickName",
        "canReName": "1",
        "coverUrl": "$.response.collection.coverUrl@put:{\"page\":\"$.response.blogInfo.blogStat.publicPostCount\"}",
        "init": "<js>\ntry{\ncookie = cookie.getCookie(\"https:\/\/newsmiss.lofter.com\");\n\nlofter = String(cookie).match(\/;\\s(LOFTER-[^-]+-LOGIN-AUTH)=(.*?);\/);\n\nheader = {};\nheader[lofter[1]] = lofter[2];\nsource.putLoginHeader(JSON.stringify(header));\nresult;\n}catch(e){\n\tresult = result\n\t}\n<\/js>",
        "intro": "@js:\na='{{$.response.collection.description}}';\nb='{{$.response.blogInfo.blogNickName}}';\nc=java.getString('$.response.posts[0].post.digest||$.response.collection.description||$.response.blogInfo.selfIntro');\n\nresult =c;\n\ncname=\"{{$.response.posts[0].post.postCollection.name}}\";\ncdes=java.getString('$.response.posts[0].post.postCollection.description');\nccount=\"{{$.response.posts[0].post.postCollection.postCount}}\";\nif(cname){\nresult=result+\"\\n&lrm;\\n🈴所属合集:\"+cname+\"\\n📜合集介绍:\"+cdes+\"\\n\"+\"🔢合集章节总数:\"+ccount\n+\"\\n🔍搜索合集:#\"+cname+\"<关闭精确搜索>\";\n\nString(result).replace(\/📜合集介绍:\\n\/,'')+String(book.intro).replace(\/([\\s\\S]+?)--复制\/,'<br>&lrm;<br>--复制').replace(\/.*?::\/,book.author+'::')\n}else{\tString(book.intro).replace(\/.*?::\/,book.author+'::')\n\t}",
        "kind": "$.postCollection",
        "name": "$.response.collection.name",
        "tocUrl": "$.response.blogsetting.blogId\n@js:\nif(result){\nid='{{$.response.blogsetting.blogId}}';\nlink='{{$.response.blogLink}}';\nurl='http:\/\/api.lofter.com\/v2.0\/blogHomePage.api?product=lofter-android-6.9.2,';\npost={\"method\": \"POST\",\n\"body\": \"targetblogid=\"+id+\"&supportposttypes=1%2C2%2C3%2C4%2C5%2C6&blogdomain=\"+link+\"&offset=0&method=getPostLists&postdigestnew=1&returnData=1&limit=500&checkpwd=1&needgetpoststat=1\"}\nresult=url+JSON.stringify(post);\njava.put('url',result)}else if(baseUrl.match(\/postCollection\/)){\nresult=java.get('url')\n}",
        "wordCount": "{{$.data.grainInfo.postCount}}篇文章##^篇文章$"
    },
    "ruleContent": {
        "content": "<js>\nif(\/\\.mp4\/.test(baseUrl)){\n\tresult = \"请点击章节链接观看视频\\n视频链接:\"+baseUrl\n\t}else{\ncontent = java.getString(\"$..content\");\nimgs = eval(String(java.getString(\"$..photoLinks\")));\nvideo =\/video_down_url\\\\\":\\\\\"(.*?)\\\\\"\/.test(result)? \"视频链接:\"+String(result).match(\/video_down_url\\\\\":\\\\\"(.*?)\\\\\"\/)[1]:\"\";\nimg = \"\";\nimgs?imgs.forEach(x=>{\n\tx?img += \"<img src=\\\"\"+x.orign.replace(\/%7C.*\/g,'')+\"\\\">\\n\":\"\"\n\t}):\"\";\ng=\t(\/myReturnGift\/.test(baseUrl)&&\/[\\u4e00-\\u9fa5]\/.test(content))?\"🏷 彩蛋 \"+java.getString(\"$..promotion\")+\"\\n\":\"\";\n\nresult = g+ content + \"\\n\"+img+\"\\n\"+video;\n\nif(video && (chapter.index == book.durChapterIndex)){\n \tjava.startBrowser(video.replace(\/视频链接:\/,''),\"内容\");\n \tresult = \"❗️刷新本章节播放视频❗️\"+result;\n \t\t\t}\n}\nif(result ==\"\\n\\n\")result = \"{{$..msg}}\";\nresult\n<\/js>\n##tbc\\.##<br>&lrm;<br>",
        "imageStyle": "FULL",
        "nextContentUrl": "<js>\nif(!\/myReturnGift\/.test(baseUrl)){\ntry{\n\t\tid = java.getString(\"$..post.id\");\n\t\tid2 = java.getString(\"$..post.blogId\");\nurl =\"https:\/\/api.lofter.com\/v1.1\/trade\/gift\/post\/newSupportInfo?postId=\"+id+\"&blogId=\"+id2+\"&openFansVipPlan=0&vipFans=0\";\n\/\/java.log(JSON.parse(String(java.ajax(url))).code)\n\t$  = JSON.parse(String(java.ajax(url)));\n\/\/\tjava.log(JSON.stringify($))\n\tl = $.data.gainReturnGifts.length?$.data.gainReturnGifts:$.data.returnGifts;\n\tls = []\n\tl.forEach(x=>{\n\t\turl = \"https:\/\/api.lofter.com\/v1.1\/trade\/gift\/myReturnGift?id=\"+x.id+\"&postId=\"+id+\"&blogId=\"+id2;\n\t\tls.push(url)\n\t\t})\n\tresult = ls\n\t}catch(e){\n\t\t}\n\t}\n<\/js>",
        "replaceRegex": "##src=\"(.*?)\"##src=\"$1,{'headers':{'referer':'{{$..blogPageUrl}}'}}\""
    },
    "ruleExplore": {
        "author": "$.post.blogInfo.blogNickName",
        "bookList": "<js>result.replace(\/null\/g,'')<\/js>\n$.response.items[*]||$.response.posts[*]",
        "bookUrl": "@js:url='{{$.post.blogId||$.post.blogPageUrl}}';\nid='{{$.post.id}}';\nmain=url.match(\/_blogid_\\d+\/)?url.match(\/_blogid_(\\d+)\/)[1]:url;\nbody=\"blogdomain=_blogid_\"+main+\".lofter.com&postid=\"+id;\nresult='https:\/\/api.lofter.com\/oldapi\/post\/detail.api?product=lofter-android-7.4.4,{\"method\":\"POST\",\"body\":\"'+String(body)+'\"}';",
        "coverUrl": "$.post\n@js:if(result.match(\/firstImageUrl=\\[\"\",\"\"\\]\/)){\nresult=result.match(\/bigAvaImg=(.*?),\/)?result.match(\/bigAvaImg=(.*?),\/)[1]:'';}else{\nresult=result.match(\/firstImageUrl=\\[\"([^\"]+)\"\/)?result.match(\/firstImageUrl=\\[\"([^\"]+)\"\/)[1]:\"\"\n}",
        "intro": "{{$.post.digest}}\n<br>&lrm;<br>\n--复制下面的文字,粘贴至发现规则添加用户--\n{{$.post.blogInfo.blogNickName}}::http:\/\/api.lofter.com\/v2.0\/blogHomePage.api?product=lofter-android-7.4.4,{\"method\":\"POST\",\"body\":\"targetblogid={{$.post.blogInfo.blogId}}&supportposttypes=1%2C2%2C3%2C4%2C5%2C6&blogdomain={{$.post.blogInfo.blogName}}.lofter.com&offset={{'\\{\\{(page-1)*18\\}\\}&method=getPostLists&postdigestnew=1&returnData=1&limit=18&checkpwd=1&needgetpoststat=1\"}'}}",
        "kind": "$.post.tag",
        "lastChapter": "$.post.publishTime\n@js:result=java.timeFormat(parseInt(result));\njava.put('time',result)",
        "name": "$.post.title||$.post.noticeLinkTitle||$.post.digest||$.post.blogInfo.blogId||$.post.blogPageUrl##<\/*\\w.*?>"
    },
    "ruleSearch": {
        "author": "$.blogInfo.blogNickName||$.blogName",
        "bookList": "$..postData[*]||$.data.posts[*]||$.data.blogs[*]||$.data.collections[*]||$.data.grainList[*]",
        "bookUrl": "$.postPageUrl\n@js:\nif(!result){\n    if(!'{{$.name}}'){\n        id='{{$.blogId}}';\n        result='http:\/\/api.lofter.com\/v2.0\/blogHomePage.api?product=lofter-android-7.4.4,{\"method\": \"POST\",\"body\":\"targetblogid='+id+'&method=getBlogInfoDetail&returnData=1&checkpwd=1&needgetpoststat=1\"}'\n    }else if(\/grain.json\/.test(baseUrl)){\n        result = \"https:\/\/api.lofter.com\/api-grain\/grain\/getDetail.json?grainId={{$.id}}&offset=0&grainUserId={{$.userId}}\"\n    }else{\n        blogid='{{$.blogId}}';\n        id='{{$.id}}';\n        name='{{$.blogName}}';\n        java.put('name',name);\n        result='https:\/\/api.lofter.com\/v1.1\/postCollection.api?product=lofter-android-7.4.4,{\"method\": \"POST\",\"body\":\"blogdomain='+name+'.lofter.com&method=getCollectionSimple&offset=0&limit=2000&blogid='+blogid+'&collectionid='+id+'&order=1\"}';\n        java.put('url',result)\n    }\n}else{\n    body=\"blogdomain=_blogid_{{$.blogId}}.lofter.com&postid={{$.id}}\";\n    result='https:\/\/api.lofter.com\/oldapi\/post\/detail.api?product=lofter-android-7.4.4,{\"method\":\"POST\",\"body\":\"'+String(body)+'\"}';\n};\n",
        "checkKeyWord": "%双女主",
        "coverUrl": "$.firstImageUrl[0]||$.blogInfo.bigAvaImg||$.bigAvaImg||$.coverUrl",
        "intro": "{{$.digest||$.selfIntro||$.posts[0].digest||$.description}}\n<br>&lrm;<br>\n--复制下面的文字,可将用户添加发现或者订阅--\n{{$.blogInfo.blogNickName||$.blogNickName||$.blogName}}::http:\/\/api.lofter.com\/v2.0\/blogHomePage.api?product=lofter-android-6.9.2,{\"method\":\"POST\",\"body\":\"supportposttypes=1%2C2%2C3%2C4%2C5%2C6&blogdomain={{$.blogName||$.blogInfo.blogName}}.lofter.com&offset={{'\\{\\{(page-1)*18\\}\\}&method=getPostLists&postdigestnew=1&returnData=1&limit=18&checkpwd=1&needgetpoststat=1\"}'}}\n<js>\nif(\/grain.json\/.test(baseUrl)){\nresult =\tresult.replace(\/--复制下面[\\s\\S]+\/,'')\n\t}\nresult\n<\/js>",
        "kind": "$.tagList||$.tags",
        "lastChapter": "$.publishTime\n<js>\nif(result){\nresult?result=java.timeFormat(parseInt(result)):'';\njava.put('time',result)}else{\nresult=java.getString('$.posts[0].title||$.posts[0].digest||$.postCount')+\"篇文章\"\n}<\/js>\n##<\/*\\w+.*?>|[^\\d]+篇文章|^0*篇文章$",
        "name": "$.title||$.noticeLinkTitle||$.digest||$.blogInfo.blogNiceName||$.blogNickName||$.name\n<js>\nprefix = java.get(\"prefix\");\nresult = \/[@#%#]\/.test(prefix)?prefix+result:result\n<\/js>\n##<\/*\\w.*?>"
    },
    "ruleToc": {
        "chapterList": "$..posts[*]||$.response.items[*]@put:{\"blogname\":\"$..blogName\"}\n<js>if(result.length){\n\tresult\n\t}else{\n\t\t\"[{'title':'暂无目录'}]\"\n\t\t}\n<\/js>\n$.[*]",
        "chapterName": "$.post.title||$.post.digest||$.post.blogInfo.blogNickName||$..postView.title||$..postView.digest||$.title\n<js>if(result){\nresult=result\n}else{result=book.name}\nString(result).replace(\/<\\\/*\\w.*?>\/g,'')\n<\/js>\n##(^.{1,25})##$1###",
        "chapterUrl": "<js>\nif(\/postCollection|blogHomePage|api-grain\/.test(baseUrl)){\tbody=\"blogdomain=_blogid_{{$.post.blogId||$..postView.blogId}}.lofter.com&postid={{$.post.id||$..postView.id}}\";\nresult='https:\/\/api.lofter.com\/oldapi\/post\/detail.api?product=lofter-android-7.4.4,{\"method\":\"POST\",\"body\":\"'+String(body)+'\"}';\n\t}else\tif(\/video_down_url\":\"(.*?)\"\/.test(result)){\n\t\tresult = String(result).match(\/video_down_url\":\"(.*?)\"\/)[1];\n\t\t}else{\n\t\t\tresult = baseUrl\n\t\t\t}\n<\/js>",
        "nextTocUrl": "<js>\nlist=[];\nif(\/limit=500\/.test(baseUrl)){\npages=java.get(\"page\");\npage=parseInt(pages\/500);\nurl=String(java.get(\"url\"));\nif(page>6){\npage=6\n}else{page=page}\nfor(i=1;i<=page;i++){\nlist.push(url.replace(\/offset=\\d+\/,'offset='+(parseInt(i)*500)))\n}\n}else if(\/api-grain\/.test(baseUrl)){\n\toffset = \"{{$.data.offset}}\";\n\tif(offset!=\"-1\"){\n\tlist = baseUrl.replace(\/offset=\\d+\/,'offset='+offset);\n}\n\t}\nlist\n<\/js>",
        "updateTime": "$.post.publishTime\n<js>\nif(\/api-grain\/.test(baseUrl)){\n\tresult = \"所属合集:\"+java.getString(\"$..postCollection.name\");\n\t}else{\nresult?java.timeFormat(parseInt(result)):java.get('time')\n}\n<\/js>\n##所属合集:$"
    },
    "searchUrl": "@js:\nlet prefix = key.charAt(0);\njava.put(\"prefix\",prefix);\nlet offset = '{\\{(page-1) *' + (prefix === '%' ? '10}' : (prefix === '@' ? '10}' : '20}')) + '}';\nlet baseUrl = \"https:\/\/api.lofter.com\/newsearch\/\"\nswitch(prefix) {\n    case '@':\n        result = baseUrl+'blog.json?key=' + key.slice(1)+ '&limit=10&offset=' + offset;\n        break;\n    case '#':\n    case '#':\n        result = baseUrl+'collection.json?key=' + key.slice(1) + '&limit=20&offset=' + offset;\n        break;\n    case '%':\n        result = baseUrl+'grain.json?key='+key.slice(1)+'&limit=10&offset=' + offset;\n        break;\n    default:\n        let header = {\n            \"headers\": {\n                \"Content-Type\": \"application\/x-www-form-urlencoded;charset=utf-8\",\n                \"deviceid\": java.androidId(),\n                \"if-modified-since\": String(new Date()).replace(\/(.*?)\\s(.*?)\\s(.*?)\\s(.*?)GMT.*\/,'$1, $3 $2 $4 GMT')\n            }\n        };\n        result = baseUrl+'post.json?key=' + key + '&sortType=0&offset=' + offset + '&limit=20,' + JSON.stringify(header);\n}\n",
    "weight": 0
}
广告