【Github】项目名:pan – light:百度网盘不限速客户端
项目简介
pan – light是一款基于golang + Qt5开发的百度网盘不限速客户端。它具有一些特性,如利用golang轻量级协程、高并发分段下载(可调节并发数优化下载速度),下载进度状态数据持久化以实现断点续传,客户端本地实现简单代理突破百度防盗链来在线播放视频等。同时它还有在线体验功能,其原理是利用闲置个人pc通过docker开启虚拟机,用户网页通过webrtc与闲置pc建立p2p连接,进而连接虚拟机vnc服务进行远程控制体验部分功能。
项目目的
探究golang在图形界面客户端、web服务端、事件调度、websocket、p2p长连接等方面的应用和实践,并且作者希望这个项目能对go语言初学者起到一定的帮助作用。
核心技术
主要基于golang和Qt5技术,利用golang的轻量级协程实现高并发分段下载,在与百度网盘交互方面可能涉及到突破防盗链等技术手段(通过本地代理等)。
项目总结
这是作者第一个完整的go语言实战项目,虽然目前是开发中的项目且存在一些不足(如代码严谨性方面,像大量使用未做严格类型判断的map[string]interface{}类型、省掉低频竞争数据的锁等),但已完成主要功能并发布了预览版。项目所有源码开源,欢迎广大golang开发者参与完善项目。如果你对这个项目有任何想法,欢迎留言参与讨论。