PikPak离线下载,磁力网盘

在这里插入图片描述
PikPak这个网盘目前官方只有安卓客户端,对于PC和MAC电脑用户就十分不友好。
好在网友的力量是强大的,现在Win,Mac,Web的第三方客户端都被开发了出来。
教大家怎么用Github+cloudflare worker搭建一个免费的PikPak网页版出来,教程偏新手向。
提醒:这样部署的需要你能够访问github,不然你还要再用Cloudflare Worker部署一个反向代理服务,去反向代理github,反代的教程一搜一大把,我就不说了。

代码地址:https://pikpak-web.vercel.app

注册必须的账号

分别是pikpak github cloudflare,如果你已经都有了,请跳过这一步

pikpak账号

使用官方的安卓客户端注册,没有安卓手机的,要么借一个手机,要么电脑上用模拟器,要么电脑上用第三方客户端注册吧。
PS:如果你最开始登录PIkPak客户端是用的谷歌账号关联登录,请在客户端内点击右下角图标,再点击左上角你的头像,修改密码/找回密码。

GitHub

注册地址(https://github.com/signup)
输入邮箱地址和密码,选择免费计划,验证邮箱地址,按照提示操作,创建您的个人帐户。
PS:如果你感觉部分内容是英文的识别困难,用浏览器的翻译功能吧。

CloudFlare

注册地址(https://dash.cloudflare.com/sign-up)
输入您的电子邮箱地址和密码。单击 Create Account。
PS:CloudFlare有中文界面,在右上角切换

Cloudflare Workers部署

  1. 登录你的Cloudflare
  2. 在主页右侧找到【Workers】
  3. 点进【Workers】选择一个预设的子域,点击【set up】之后,我们选择免费套餐。
  4. 点进【Workers】,选择【创建Workers】
  5. (非必须)在服务名称里起个好记好写的名字,比如pikpak,方便自己记忆。记住下边写的那行
    您的服务将被部署到:https://pikpak.XXXXX.workers.dev
    下边的【简介】、【HTTP处理程序】随便选一个就行。点【创建服务】
  6. 删除页面左侧代码框内一切内容后,把这里的代码 粘贴到页面左侧的输入框,覆盖原有内容。
  7. 点击【保存并部署】按钮,
  8. 记住你在第5步里的Worker的域名pikpak.XXXX.workers.dev之后要用到

GitHub部署

Github Aciton
登录你的Github,并且进入项目
点击右上角的【Fork】将项目复刻到你自己的仓库
点击上侧一排的最后一个按钮【settings】切换到设置页面
选择左侧的【secrets】项,点击【new repository secrets】
Name填CF_DOMAIN,Value填你Worker的域名(Cloudflare Workers部署第五步里让你记住的那个,比如)pikpak.XXXX.workers.dev(注意只是域名本身,不带https://之类的累赘),点【Add secret】
如果你修改了仓库名则进行这一步,否则直接执行下边的第7步 :
点击【new repository secrets】,Name填BASE_PATH,Value填你的仓库名如tjskypikpak
点击上侧一排的【actions】按钮,点【I understand my workdlows, go ahead and enable them】表示你明白你要干啥。
点击左侧的【deploy】,点右侧的【Run workflow ▽】切换到main分支,选择绿色的【Run workflow】 按钮。等待代码被构架并运行,如果没出什么问题,你会看到一个绿色√出现。(不超过5分钟)
Github Page
再次点击上侧那一排按钮中最后的【settings】切换到设置页面
这次选择左侧的【pages】
把Source这一项的branch切换到【gh-pages】【/(root)】,然后点击保存。
等1分钟左右你就可以通过页面上部显示的
Your site is published at
访问你的PikPak网页版客户端了。
后期更新
因为网页版还在不断的迭代中,上游代码更新后,如果你希望更新,那么需要这样更新一下。

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
Java实现离线下载功能,可以通过以下步骤进行: 1. 解析下载链接:用户提供的下载链接可以是HTTP链接或者磁力链接,需要对链接进行解析,获取文件名称、文件大小、文件类型等信息,以便后续操作。 2. 创建下载任务:根据解析出的文件信息,创建下载任务,包含下载地址、文件名称、文件大小等信息。 3. 下载文件:使用Java的IO流和多线程技术来执行下载操作。可以通过HttpURLConnection或者第三方库如OkHttp等来下载文件,将下载任务放入线程池中执行。 4. 更新下载进度:下载过程中,需要实时更新下载进度,可以使用定时任务或者线程池,在一定时间间隔内获取已下载文件大小和总文件大小,计算出下载进度,将进度信息存储到数据库中。 5. 下载完成后通知用户:当下载完成后,需要通知用户,可以通过邮件、短信、消息队列等方式来通知用户。 6. 断点续传:对于大文件下载,可能会因为网络不稳定或者其他原因中断下载,需要实现断点续传功能,可以在下载任务中添加已下载文件大小信息,当下载中断时,下次下载可以从已下载文件大小处继续下载。 代码示例: ```java //解析下载链接 String downloadUrl = "http://example.com/download.mp4"; URL url = new URL(downloadUrl); URLConnection connection = url.openConnection(); long fileSize = connection.getContentLength(); String fileName = connection.getHeaderField("Content-Disposition"); //创建下载任务 DownloadTask task = new DownloadTask(downloadUrl, fileName, fileSize); //下载文件 ExecutorService executorService = Executors.newFixedThreadPool(10); executorService.execute(task); //更新下载进度 timer.scheduleAtFixedRate(new TimerTask() { @Override public void run() { long downloadedSize = task.getDownloadedSize(); long totalSize = task.getTotalSize(); double progress = (double) downloadedSize / totalSize; //将下载进度信息存储到数据库中 DownloadProgress progressInfo = new DownloadProgress(task.getDownloadUrl(), progress); //更新数据库中的下载进度信息 updateDownloadProgress(progressInfo); } }, 0, 1000); //下载完成后通知用户 if (task.isDone()) { //发送邮件或短信通知用户 sendNotification(task.getDownloadUrl()); } //断点续传 if (task.isInterrupted()) { long downloadedSize = task.getDownloadedSize(); //从已下载文件大小处继续下载 DownloadTask newTask = new DownloadTask(downloadUrl, fileName, fileSize, downloadedSize); executorService.execute(newTask); } ``` 注:以上代码仅为示例,实际实现需要根据具体情况进行调整和完善。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

unstorm

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值