Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
🚀🔥 简单、易用、可扩展的 阿里云盘 API 接口库 👍👍
文档写得很简单,详情请查看 代码提示 + 文档注释
有任何疑问 请 issue 或 加入 aligo交流反馈群 (群二维码在底部)
附带一份文档 阿里云盘开放平台文档
pip install -U aligo
pip install git+https://github.com/foyoux/aligo.git
Notes: 最近官方更新了接口,导致
get_file_list
无法直接获取下载链接,现在需要单独使用get_download_url
接口获取下载链接。对于不常用(没有封装)的接口,可以直接通过
self.post
方法直接发送请求。接口变动较多,有问题请反馈,我会尽快修复。
"""快速入门"""
from aligo import Aligo
if __name__ == '__main__':
ali = Aligo() # 第一次使用,会弹出二维码,供扫描登录
user = ali.get_user() # 获取用户信息
print(user.user_name, user.nick_name, user.phone) # 打印用户信息
file_list = ali.get_file_list() # 获取网盘根目录文件列表
for file in file_list: # 遍历文件列表
# 注意:print(file) 默认只显示部分信息,但是实际上file有很多的属性
print(file.file_id, file.name, file.type) # 打印文件信息
Notes:
- 由于秒传链接的失效,自定分享信息的有效期只有4个小时。
- 阿里云盘不同于其他网盘或系统,其定位文件不是基于文件名(路径),而是通过
file_id
,这才是唯一定位文件的方式,aligo 中提供了简便函数get_file_by_path
/get_folder_by_path
,通过网盘路径获取文件对象,通过 其上的file_id
属性即可获取所需文件标识。但不建议频繁使用此方法,因为内部是通过get_file_list
遍历得到的。- 在保存超大分享时(分享中的文件特别多),执行保存全部的方法 -
share_file_save_all_to_drive
,它会立刻执行完毕,但是文件不会立刻被保存到网盘中,阿里云盘服务器会帮你在后台陆续将所有文件存到你的网盘中;所有当你使用share_file_save_all_to_drive
保存超大分享时,却只看到一部分文件时,不用疑惑,这是正常情况。
网页扫码登录
from aligo import Aligo
# 提供 port 参数即可, 之后打开浏览器访问 http://<YOUR_IP>:<port>
ali = Aligo(port=8080)
发送登录二维码到邮箱(推荐)
最佳实践:建议将邮箱绑定到微信,这样能实时收到提醒,登录过期后也可以第一时间收到登录请求。
from aligo import Aligo, EMailConfig
if __name__ == '__main__':
email_config = EMailConfig(
email='<接收登录邮件的邮箱地址>',
# 自配邮箱
user='',
password='',
host='',
port=0,
)
ali = Aligo(email=email_config)
from aligo import Aligo
if __name__ == '__main__':
ali = Aligo()
drives = ali.list_my_drives()
# resource_drive_id = [drive.drive_id for drive in drives if drive.drive_name == 'resource'][0]
v2_user = ali.v2_user_get()
resource_drive_id = v2_user.resource_drive_id
# 如果后续默认操作资源盘
# ali.default_drive_id = resource_drive_id
file_list = ali.get_file_list(drive_id=resource_drive_id)
for file in file_list:
print(file)
from aligo import set_config_folder, Aligo
if __name__ == '__main__':
# 创建 Aligo 对象前,先设置配置文件目录,默认是 <用户目录>/.aligo
set_config_folder('/home/aligo')
# 会创建 /home/aligo/小号1.json 配置文件
ali1 = Aligo(name='小号1')
# 会创建 /home/aligo/小号2.json 配置文件
ali2 = Aligo(name='小号2')
一般步骤:
1. 使用浏览器或其他抓包工具,观察通信过程;
2. 获取 url/path + 请求体;
3. 继承 `Aligo`, 使用现有的方法 `self._post` 等,进行发送请求;
会自动维护 token, 你只需关注如何发送请求即可
无需先移动文件到回收站
此功能太危险,aligo 未直接提供。不过 这里 扩展了该功能,请小心使用!
此项目仅供学习交流,若有不妥之处,侵联必删。
❤️🔥欢迎加入🤝🏼 |
😃 添加时,请附上留言消息 “aligo” 😜 |
本来是群二维码,但是加进来发广告的太多了,所以改成了个人二维码。
FAQs
aliyun drive sdk
We found that aligo demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.