├── README.md ├── example.py ├── f115api.py ├── screenshot ├── 1.png └── 2.png └── torrents ├── 2012 ├── 2012年10月(自压).torrent ├── 2012年11月.torrent ├── 2012年12月.torrent ├── 2012年1月.torrent ├── 2012年2月.torrent ├── 2012年3月.torrent ├── 2012年4月.torrent ├── 2012年5月.torrent ├── 2012年6月.torrent ├── 2012年7月.torrent ├── 2012年8月.torrent └── 2012年9月.torrent ├── 2013 ├── 2013年10月.torrent ├── 2013年11月.torrent ├── 2013年12月.torrent ├── 2013年1月.torrent ├── 2013年2月.torrent ├── 2013年3月.torrent ├── 2013年4月.torrent ├── 2013年5月.torrent ├── 2013年6月.torrent ├── 2013年7月.torrent ├── 2013年8月.torrent └── 2013年9月.torrent ├── 2014 ├── 2014年10月.torrent ├── 2014年11月.torrent ├── 2014年12月.torrent ├── 2014年1月.torrent ├── 2014年2月.torrent ├── 2014年3月.torrent ├── 2014年4月.torrent ├── 2014年5月.torrent ├── 2014年6月.torrent ├── 2014年7月.torrent ├── 2014年8月.torrent └── 2014年9月.torrent ├── 2015 ├── 2015年10月魔穗x宵夜.torrent ├── 2015年11月魔穗x宵夜.torrent ├── 2015年12月魔穗.torrent ├── 2015年1月宵夜.torrent ├── 2015年1月魔穗.torrent ├── 2015年2月宵夜.torrent ├── 2015年2月魔穗.torrent ├── 2015年3月宵夜.torrent ├── 2015年3月魔穗.torrent ├── 2015年4月宵夜.torrent ├── 2015年4月魔穗.torrent ├── 2015年5月宵夜.torrent ├── 2015年5月魔穗.torrent ├── 2015年6月魔穗x宵夜x夜樱.torrent ├── 2015年7月魔穗x宵夜.torrent ├── 2015年8月魔穗x宵夜.torrent └── 2015年9月魔穗x宵夜.torrent └── 2016 ├── 2016年1月魔穗.torrent └── 2016年2月魔穗.torrent /README.md: -------------------------------------------------------------------------------- 1 | # 115API 2 | 3 | 环境 python >= 2.7.9 依赖 pyquery、requests 4 | 2016/03/23 更新批量种子离线下载 5 | 6 | 在舍友的要求下更新批量种子离线下载 7 | 8 | 使用方法:把种子放在`torrents` 下,在`main()` 后调用`add_many_bt()` 9 | 10 | ps:`upload_torrent()` 是提交一个种子离线下载 11 | 12 | ​ 13 | 14 | --- 15 | 16 | 网页版115云盘API,暂时能登陆,和新建离线任务。 17 | 18 | 19 | 20 | ## 115 API Pipeline 21 | 22 | --- 23 | 24 | ``` 25 | +------------+ 26 | | | +--------------+ 27 | | getInfos | | | 28 | | | | getUserinfo | 29 | +----+-------+ | | 30 | | +------+-------+ +------------+ 31 | | ^ | | 32 | | | | | 33 | +-----v-------+ +------+-------+ +-----+------+ | 34 | | | | | | | | 35 | | getQrcode +-- waitLogin------>+ login +----> | keepLogin | <---+ 36 | | | ^ | | | | 37 | +-----+-------+ | +-------+------+ +------------+ 38 | | | | 39 | | | | 40 | v | | 41 | QRCode Scaned +--------+ | 42 | | 43 | +---------------+ +-------v-----+ +--------------+ 44 | | | | | | | 45 | | addLinktasks +<----+ getTasksign +---->+ addLinktask | 46 | | | | | | | 47 | +---------------+ +-------------+ +--------------+ 48 | ``` 49 | 50 | ## Demo 51 | 52 | --- 53 | 54 | `example.py` 文件可以作为使用参考例子。(批量添加Javbus的推荐) 55 | 56 | 先调用`f115api.main() ` 使得账号处于登陆状态。 57 | 使用`addLinktask()` 可以添加单条任务 58 | `f115api.addLinktask("magnet:?xt=urn:btih:XXXXX")` 59 | 可以是HTTP、HTTPS、FTP、磁力链或电驴链接 60 | 使用`addLinktasks()`可以添加多条任务 61 | `f115api.addLinktasks(list)` 62 | 其中list是列表链接列表。 63 | ![2](screenshot/2.png) 64 | ![1](screenshot/1.png) 65 | 66 | ## 有什么卵用 67 | - 批量下载片片 68 | - 可以做一个老司机发车网,扫码即上车。 69 | - 。。。 70 | -------------------------------------------------------------------------------- /example.py: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | import json 3 | import requests 4 | import time 5 | from pyquery import PyQuery as pq 6 | from gevent import monkey 7 | from gevent.pool import Pool 8 | import ssl 9 | import re 10 | import f115api 11 | 12 | 13 | monkey.patch_all() 14 | proxy_pool = [] 15 | pool_num = 20 16 | gpool = Pool(pool_num) 17 | base_url = "https://www.seedmm.com/uncensored" 18 | headers = { 19 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36', 20 | 'Referer':'https://www.javbus.me/SDSI-026', 21 | 'Upgrade-Insecure-Requests':'1', 22 | } 23 | 24 | 25 | def crawl(page): 26 | if page != 1: 27 | url = base_url + "/page/" + str(page) 28 | else: 29 | url = base_url 30 | print url 31 | resp = requests.get(url) 32 | response = pq(url, headers=headers) 33 | one_page_av = [] 34 | for each in response('#waterfall a').items(): 35 | one_page_av.append(detail_page(each.attr.href)) 36 | # print one_page_av 37 | f115api.addLinktasks(one_page_av) 38 | 39 | 40 | 41 | 42 | def detail_page(link): 43 | response = requests.get(link, headers=headers).text 44 | m = re.search('gid = (\d+)',response) 45 | gid = m.group(0).strip("gid =") 46 | url = 'https://www.seedmm.com/ajax/uncledatoolsbyajax.php' 47 | params = { 48 | 'gid': gid, 49 | 'uc': "1", 50 | } 51 | r = requests.get(url=url, params=params,headers=headers) 52 | r.encoding = 'utf-8' 53 | magnets = pq(r.text)("a[style='color:#333']") 54 | for magnet in magnets.items(): 55 | return magnet.attr("href") 56 | 57 | if __name__ == "__main__": 58 | ssl._create_default_https_context = ssl._create_unverified_context 59 | f115api.main() 60 | links = range(1, 5) 61 | for link in links: 62 | gpool.spawn(crawl, link) 63 | gpool.join() 64 | -------------------------------------------------------------------------------- /f115api.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # coding=utf-8 3 | import requests,ssl,json,time,os 4 | import threading 5 | import sys 6 | import re 7 | import os.path 8 | import os 9 | from pyquery import PyQuery as pq 10 | QRImagePath = os.path.join(os.getcwd(), 'qrcode.jpg') 11 | 12 | 13 | 14 | def getInfos(): 15 | global uid,uidTime,sign,session_id 16 | url = 'http://passport.115.com' 17 | params = { 18 | 'ct': 'login', 19 | 'ac': 'qrcode_token', 20 | 'is_ssl': '1', 21 | } 22 | 23 | r= mySession.get(url=url, params=params) 24 | r.encoding = 'utf-8' 25 | data = r.text 26 | try: 27 | uid = json.loads(data)['uid'] 28 | uidTime = json.loads(data)['time'] 29 | sign = json.loads(data)['sign'] 30 | except Exception, e: 31 | return False 32 | url = 'http://msg.115.com/proapi/anonymous.php' 33 | params = { 34 | 'ac':'signin', 35 | 'user_id':uid, 36 | 'sign':sign, 37 | 'time':uidTime, 38 | '_': str(int(time.time()*1000)), 39 | } 40 | r = mySession.get(url=url, params=params) 41 | session_id = json.loads(r.text)['session_id'] 42 | return True 43 | 44 | 45 | 46 | 47 | def getQrcode(): 48 | global QrcodeUrl 49 | url = 'http://qrcode.115.com/api/qrcode.php' 50 | params = { 51 | 'qrfrom':'1', 52 | 'uid':uid, 53 | '_'+str(uidTime):'', 54 | '_t':str(int(time.time()*1000)), 55 | } 56 | 57 | r = mySession.get(url=url, params=params) 58 | QrcodeUrl = r.url 59 | r.encoding = 'utf-8' 60 | f = open(QRImagePath, 'wb') 61 | f.write(r.content) 62 | f.close() 63 | print(u"使用115手机客户端扫码登录") 64 | time.sleep(1) 65 | 66 | 67 | def getUserinfo(): 68 | global userid 69 | url = 'http://passport.115.com/' 70 | params = { 71 | 'ct':'ajax', 72 | 'ac':'islogin', 73 | 'is_ssl':'1', 74 | '_'+str(int(time.time()*1000)):'', 75 | } 76 | uinfos = json.loads(mySession.get(url=url, params=params).text) 77 | userid = uinfos['data']['USER_ID'] 78 | 79 | print("====================") 80 | print(u"用户ID:"+userid) 81 | print(u"用户名:"+uinfos['data']['USER_NAME']) 82 | if uinfos['data']['IS_VIP'] == 1: 83 | print(u"会员") 84 | url = 'http://115.com/web/lixian/?ct=lixian&ac=task_lists' 85 | data = { 86 | 'page':'1', 87 | 'uid':userid, 88 | 'sign': tsign, 89 | 'time': ttime, 90 | } 91 | quota = json.loads(mySession.post(url=url, data=data).text)['quota'] 92 | total = json.loads(mySession.post(url=url, data=data).text)['total'] 93 | print(u"本月离线配额:"+str(quota)+u"个,总共"+str(total)+u"个。") 94 | else: 95 | print(u"非会员") 96 | print("===================") 97 | 98 | 99 | 100 | def keepLogin(): 101 | while True: 102 | url = 'http://im37.115.com/chat/r' 103 | params = { 104 | 'VER':'2', 105 | 'c':'b0', 106 | 's':session_id, 107 | '_t':str(int(time.time()*1000)), 108 | } 109 | r = mySession.get(url=url, params=params) 110 | time.sleep(60) 111 | 112 | 113 | def waitLogin(): 114 | while True: 115 | url = 'http://im37.115.com/chat/r' 116 | params = { 117 | 'VER':'2', 118 | 'c':'b0', 119 | 's':session_id, 120 | '_t':str(int(time.time()*1000)), 121 | } 122 | r = mySession.get(url=url, params=params) 123 | try: 124 | status = json.loads(r.text)[0]['p'][0]['status'] 125 | if status == 1001: 126 | print(u"请点击登录") 127 | elif status == 1002: 128 | print(u"登录成功") 129 | return 130 | else: 131 | return 132 | except Exception, e: 133 | print(u"超时,请重试") 134 | sys.exit(0) 135 | 136 | def login(): # 触发登陆 137 | url = 'http://passport.115.com/' 138 | params = { 139 | 'ct':'login', 140 | 'ac':'qrcode', 141 | 'key':uid, 142 | 'v':'android', 143 | 'goto':'http%3A%2F%2Fwww.J3n5en.com' 144 | } 145 | r = mySession.get(url=url, params=params) 146 | 147 | 148 | def getTasksign(): # 获取登陆后的sign 149 | global tsign,ttime 150 | url = 'http://115.com/' 151 | params = { 152 | 'ct':'offline', 153 | 'ac':'space', 154 | '_':str(int(time.time()*1000)), 155 | } 156 | r = mySession.get(url=url, params=params) 157 | tsign = json.loads(r.text)['sign'] 158 | ttime = json.loads(r.text)['time'] 159 | 160 | def addLinktask(link): 161 | url = "http://115.com/web/lixian/?ct=lixian&ac=add_task_url" 162 | data = { 163 | 'url':link, 164 | 'uid':userid, 165 | 'sign':tsign, 166 | 'time':ttime 167 | } 168 | linkinfo = json.loads(mySession.post(url,data=data).content) 169 | try: 170 | print(linkinfo['error_msg']) 171 | except Exception, e: 172 | print(linkinfo['name']) 173 | 174 | def addLinktasks(linklist): 175 | if len(linklist) > 15: 176 | for i in range(0,len(linklist),15): 177 | newlist = linklist[i:i+15] 178 | addLinktasks(newlist) 179 | else: 180 | url = "http://115.com/web/lixian/?ct=lixian&ac=add_task_urls" 181 | data = { 182 | 'uid':userid, 183 | 'sign':tsign, 184 | 'time':ttime 185 | } 186 | for i in range(len(linklist)): 187 | data['url['+str(i)+']'] = linklist[i] 188 | linksinfo = json.loads(mySession.post(url,data=data).text) 189 | # print linksinfo['result'] 190 | for linkinfo in linksinfo['result']: 191 | try: 192 | print(linkinfo['error_msg']) 193 | except Exception, e: 194 | print(linkinfo['name']) 195 | 196 | def get_bt_upload_info(): 197 | global cid,upload_url 198 | # getTasksign() 199 | url = 'http://115.com/' 200 | params = { 201 | 'ct':'lixian', 202 | 'ac':'get_id', 203 | 'torrent': '1', 204 | '_':str(int(time.time()*1000)), 205 | } 206 | cid = json.loads(mySession.post(url,params=params).text)['cid'] 207 | req = mySession.get('http://115.com/?tab=offline&mode=wangpa').content 208 | reg = re.compile('upload\?(\S+?)"') 209 | ids = re.findall(reg, req) 210 | upload_url = ids[0] 211 | 212 | 213 | def upload_torrent(filename,filedir): 214 | url = 'http://upload.115.com/upload?' + upload_url 215 | files = { 216 | 'Filename':('', 'torrent.torrent', ''), 217 | 'target': ('', 'U_1_'+str(cid), ''), 218 | 'Filedata':('torrent.torrent',open(filedir,'rb'),'application/octet-stream'), 219 | 'Upload':('', 'Submit Query', ''), 220 | } 221 | # mySession.get('http://upload.115.com/crossdomain.xml') 222 | req = mySession.post(url = url, files = files) 223 | req = json.loads(req.content) 224 | if req['state'] is False: 225 | print("上传种子出错了1") 226 | return False 227 | data = {'file_id': req['data']['file_id']} 228 | post_url = 'http://115.com/lixian/?ct=lixian&ac=torrent' 229 | data = { 230 | 'pickcode': req['data']['pick_code'], 231 | 'sha1': req['data']['sha1'], 232 | 'uid':userid, 233 | 'sign': tsign, 234 | 'time': ttime, 235 | } 236 | resp = mySession.post(url=post_url,data=data) 237 | resp = json.loads(resp.content) 238 | if resp['state'] is False: 239 | print("上传种子出错2") 240 | return False 241 | wanted = None 242 | idx = 0 243 | for item in resp['torrent_filelist_web']: 244 | if item['wanted'] != -1: 245 | if wanted is None: 246 | wanted = str(idx) 247 | else: 248 | wanted = wanted + ',' + str(idx) 249 | idx += 1 250 | post_url = 'http://115.com/lixian/?ct=lixian&ac=add_task_bt' 251 | data = { 252 | 'info_hash': resp['info_hash'], 253 | 'wanted': wanted, 254 | 'savepath': resp['torrent_name'].replace('\'', ''), 255 | 'uid':userid, 256 | 'sign': tsign, 257 | 'time': ttime, 258 | } 259 | resp = mySession.post(post_url,data).content 260 | ret = json.loads(resp) 261 | print ret['name'] 262 | if 'error_msg' in ret: 263 | print(ret['error_msg']) 264 | 265 | def add_many_bt(): 266 | get_bt_upload_info() 267 | for parent,dirnames,filenames in os.walk("torrents"): 268 | for filename in filenames: 269 | filedir = os.path.join(parent,filename) 270 | # time.sleep(1) 271 | upload_torrent(filename,filedir) 272 | # print open(qq,'rb') 273 | 274 | def main(): 275 | global mySession 276 | ssl._create_default_https_context = ssl._create_unverified_context 277 | headers = {'User-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2663.0 Safari/537.36'} 278 | mySession = requests.Session() 279 | mySession.headers.update(headers) 280 | if not getInfos(): 281 | print(u'获取信息失败') 282 | return 283 | getQrcode() # 取二维码 284 | waitLogin() # 等待手机确认登录 285 | login() # 触发登陆 286 | print('开启心跳线程') 287 | threading.Thread(target=keepLogin) # 开启心跳,防止掉线 288 | getTasksign() # 获取操作task所需信息 289 | getUserinfo() # 获取登陆用户信息 290 | # addLinktask("magnet:?xt=urn:btih:690ba0361597ffb2007ad717bd805447f2acc624") 291 | # addLinktasks([link]) 传入一个list 292 | # print tsign 293 | # print "fuck" 294 | # get_bt_upload_info() 295 | # upload_torrent() 296 | add_many_bt() 297 | 298 | 299 | if __name__ == '__main__': 300 | main() 301 | # print cid 302 | # print requests.get("http://j3n5en.com", proxies=proxies).text 303 | -------------------------------------------------------------------------------- /screenshot/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/screenshot/1.png -------------------------------------------------------------------------------- /screenshot/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/screenshot/2.png -------------------------------------------------------------------------------- /torrents/2012/2012年10月(自压).torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2012/2012年10月(自压).torrent -------------------------------------------------------------------------------- /torrents/2012/2012年11月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2012/2012年11月.torrent -------------------------------------------------------------------------------- /torrents/2012/2012年12月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2012/2012年12月.torrent -------------------------------------------------------------------------------- /torrents/2012/2012年1月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2012/2012年1月.torrent -------------------------------------------------------------------------------- /torrents/2012/2012年2月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2012/2012年2月.torrent -------------------------------------------------------------------------------- /torrents/2012/2012年3月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2012/2012年3月.torrent -------------------------------------------------------------------------------- /torrents/2012/2012年4月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2012/2012年4月.torrent -------------------------------------------------------------------------------- /torrents/2012/2012年5月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2012/2012年5月.torrent -------------------------------------------------------------------------------- /torrents/2012/2012年6月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2012/2012年6月.torrent -------------------------------------------------------------------------------- /torrents/2012/2012年7月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2012/2012年7月.torrent -------------------------------------------------------------------------------- /torrents/2012/2012年8月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2012/2012年8月.torrent -------------------------------------------------------------------------------- /torrents/2012/2012年9月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2012/2012年9月.torrent -------------------------------------------------------------------------------- /torrents/2013/2013年10月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2013/2013年10月.torrent -------------------------------------------------------------------------------- /torrents/2013/2013年11月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2013/2013年11月.torrent -------------------------------------------------------------------------------- /torrents/2013/2013年12月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2013/2013年12月.torrent -------------------------------------------------------------------------------- /torrents/2013/2013年1月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2013/2013年1月.torrent -------------------------------------------------------------------------------- /torrents/2013/2013年2月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2013/2013年2月.torrent -------------------------------------------------------------------------------- /torrents/2013/2013年3月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2013/2013年3月.torrent -------------------------------------------------------------------------------- /torrents/2013/2013年4月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2013/2013年4月.torrent -------------------------------------------------------------------------------- /torrents/2013/2013年5月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2013/2013年5月.torrent -------------------------------------------------------------------------------- /torrents/2013/2013年6月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2013/2013年6月.torrent -------------------------------------------------------------------------------- /torrents/2013/2013年7月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2013/2013年7月.torrent -------------------------------------------------------------------------------- /torrents/2013/2013年8月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2013/2013年8月.torrent -------------------------------------------------------------------------------- /torrents/2013/2013年9月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2013/2013年9月.torrent -------------------------------------------------------------------------------- /torrents/2014/2014年10月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2014/2014年10月.torrent -------------------------------------------------------------------------------- /torrents/2014/2014年11月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2014/2014年11月.torrent -------------------------------------------------------------------------------- /torrents/2014/2014年12月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2014/2014年12月.torrent -------------------------------------------------------------------------------- /torrents/2014/2014年1月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2014/2014年1月.torrent -------------------------------------------------------------------------------- /torrents/2014/2014年2月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2014/2014年2月.torrent -------------------------------------------------------------------------------- /torrents/2014/2014年3月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2014/2014年3月.torrent -------------------------------------------------------------------------------- /torrents/2014/2014年4月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2014/2014年4月.torrent -------------------------------------------------------------------------------- /torrents/2014/2014年5月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2014/2014年5月.torrent -------------------------------------------------------------------------------- /torrents/2014/2014年6月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2014/2014年6月.torrent -------------------------------------------------------------------------------- /torrents/2014/2014年7月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2014/2014年7月.torrent -------------------------------------------------------------------------------- /torrents/2014/2014年8月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2014/2014年8月.torrent -------------------------------------------------------------------------------- /torrents/2014/2014年9月.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2014/2014年9月.torrent -------------------------------------------------------------------------------- /torrents/2015/2015年10月魔穗x宵夜.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2015/2015年10月魔穗x宵夜.torrent -------------------------------------------------------------------------------- /torrents/2015/2015年11月魔穗x宵夜.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2015/2015年11月魔穗x宵夜.torrent -------------------------------------------------------------------------------- /torrents/2015/2015年12月魔穗.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2015/2015年12月魔穗.torrent -------------------------------------------------------------------------------- /torrents/2015/2015年1月宵夜.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2015/2015年1月宵夜.torrent -------------------------------------------------------------------------------- /torrents/2015/2015年1月魔穗.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2015/2015年1月魔穗.torrent -------------------------------------------------------------------------------- /torrents/2015/2015年2月宵夜.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2015/2015年2月宵夜.torrent -------------------------------------------------------------------------------- /torrents/2015/2015年2月魔穗.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2015/2015年2月魔穗.torrent -------------------------------------------------------------------------------- /torrents/2015/2015年3月宵夜.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2015/2015年3月宵夜.torrent -------------------------------------------------------------------------------- /torrents/2015/2015年3月魔穗.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2015/2015年3月魔穗.torrent -------------------------------------------------------------------------------- /torrents/2015/2015年4月宵夜.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2015/2015年4月宵夜.torrent -------------------------------------------------------------------------------- /torrents/2015/2015年4月魔穗.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2015/2015年4月魔穗.torrent -------------------------------------------------------------------------------- /torrents/2015/2015年5月宵夜.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2015/2015年5月宵夜.torrent -------------------------------------------------------------------------------- /torrents/2015/2015年5月魔穗.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2015/2015年5月魔穗.torrent -------------------------------------------------------------------------------- /torrents/2015/2015年6月魔穗x宵夜x夜樱.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2015/2015年6月魔穗x宵夜x夜樱.torrent -------------------------------------------------------------------------------- /torrents/2015/2015年7月魔穗x宵夜.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2015/2015年7月魔穗x宵夜.torrent -------------------------------------------------------------------------------- /torrents/2015/2015年8月魔穗x宵夜.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2015/2015年8月魔穗x宵夜.torrent -------------------------------------------------------------------------------- /torrents/2015/2015年9月魔穗x宵夜.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2015/2015年9月魔穗x宵夜.torrent -------------------------------------------------------------------------------- /torrents/2016/2016年1月魔穗.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2016/2016年1月魔穗.torrent -------------------------------------------------------------------------------- /torrents/2016/2016年2月魔穗.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/J3n5en/the-115-api/d8e53743aae606467c3491291b1dafcc0a85ab6a/torrents/2016/2016年2月魔穗.torrent --------------------------------------------------------------------------------