pan-light README

The project's README from github.com/peterq/pan-light. As one markdown file: README.md.

pan-light

                     _ _       _     _   
                    | (_)     | |   | |  
 _ __   __ _ _ __   | |_  __ _| |__ | |_ 
| '_ \ / _` | '_ \  | | |/ _` | '_ \| __|
| |_) | (_| | | | | | | | (_| | | | | |_ 
| .__/ \__,_|_| |_| |_|_|\__, |_| |_|\__|
| |                       __/ |          
|_|                      |___/       
                             

pan-light

 pan-light 是一款不限速的百度网盘客户端, 基于 golang + Qt5 开发. 本项意义在于探究 golang 在图形界面客户端; web 服务端; 事件调度, websocket, p2p 长连接 等方面的应用和实践. 欢迎广大 golang 开发者参与本项目.

软件官网 | 在线体验 | 技术文档 | 技术交流群: 438604465 | 用户交流群: 222718962

特性

关于

本项目是作者第一个完整的go语言实战项目. 希望对于一些找不到好的实战项目的go语言初学者能起到一点帮助, 欢迎你们阅读项目技术文档, 源码, 并参与到项目开发. 但也正由于作者也是初学者且项目工作量挺大,个人精力有限等一些原因, 在代码严谨方面还有待后续跟进. 比如,你会看到为了网络数据的传递方便, 项目用了大量的map[string]interface{}类型, 并且没有做严格类型判断; 有些低频竞争数据的锁也省掉了, 等等; 欢迎大家一起来完善.

软件截图

截图1

截图2

截图3

截图4

其他

pan-light (peterq/pan-light)

Searching Database…

12.1K ·GitHub
这是什么?一个开源的百度网盘桌面客户端,下载文件不限速,用 Go 编写,界面基于 Qt5 图形库。
那它是装在电脑上的程序,还是一个在线服务?它是一个跨平台的桌面图形界面应用:下载引擎用 Go 编写,界面用 Qt5/QML。官网只提供部分功能的在线演示,真正的产品是这个桌面应用。
我怎么把它装到自己电脑上?从 README 中链接的项目官网下载体验版——README 本身没有一步一步的安装教程。如果想先试用再安装,在线演示可以直接在浏览器里运行这个应用。
有什么坑吗?我能天天靠它用吗?不太行:它还是一个开发中的项目的体验版。主要功能能用,但缺少正式客户端应有的很多打磨,bug 也不少,所以作者建议不懂技术的用户选择更成熟的替代品。
那它到底适合谁用?这是作者写下的第一个完整的 Go 项目,也被当作真实的学习练习材料:欢迎 Go 初学者阅读技术文档和源码并参与开发。项目有不少 fork,但仍然欢迎提交 PR。
它为什么下载这么快?它把文件切成分块,用轻量的 Go 协程并行下载,你还可以在设置里调整并发数,找到最快的数值。README 说设成 256 时,即使是免费账号也能达到 6-8 MB/s 左右。
如果下载到一半应用或电脑崩了,我要从头再来吗?不用。下载进度会保存到磁盘上,重启之后软件会从上次中断的地方继续下载没完成的任务。
我能不先下载就在线看网盘里的视频吗?可以。客户端会在本地运行一个小型代理,绕过百度的防盗链机制,把视频直接喂给内置的 Qt 播放器组件在线播放。
网站上的“在线体验”是什么?一个不用安装就能试用部分功能的演示系统:闲置的电脑会运行预装了 pan-light 和 VNC 服务端的 Docker“虚拟机”,你的浏览器通过 WebRTC p2p 隧道连上去远程操作。
作者为什么要做这个东西?他说这是一个技术实验,也是他第一个完整的 Go 项目——用来练习 GUI 客户端、Web 服务、事件调度、websocket 和 p2p 连接等各方面的 Go 开发——同时也是给 Go 学习者的上手项目。
VIP 加速通道怎么了?已经没了:太多用户挤这一个共享 VIP 账号,结果被百度封了。不过所有源码都是公开的(仓库里是 LGPL-3.0 协议),你可以自己部署一套——但作者对你用它做什么不承担任何责任。
Creator
peterq
Size
25.6 MB
Stars
12.1K
Updated
CommitNov 08
Age
7y
Commits · 90 Days