Skip to main content

文件外链生成工具

Project description

sxyz

集成多个后端的文件外链生成工具。

可以用来做什么?

这个工具可以通过统一的方式将你的文件上传到各种平台上,并生成外链。可以用作图床等。

目前支持的后端

  • 阿里OSS
  • 七牛对象存储
  • gitee

环境需求

  • Python 3.5+

用法

  1. 使用pip安装
pip install sxyz
  1. 配置后端

工具支持多个上传后端,每个后端有不同的配置。

首先执行sxyz config -d > sxyz.json生成默认的配置文件;然后编辑这个文件以配置你想要使用的后端。

  • 阿里OSS

进入阿里OSS的管理界面,选择一个Bucket,就可以看到所需的信息。

{
    "oss": {
        # bucket的外网域名,可以使用绑定的域名;如果不使用自己的域名,可以不填,之后会自动生成
        "domain": null,
        # bucket的名字
        "bktname": null,
        # bucket的地域节点(外网访问)
        "endpoint": null,
        # 阿里云的access_key,鼠标放在自己的头像上面可以看到
        "access_key": null,
        # 阿里云的secret,和access_key在一起
        "secret": null,
        # 是否使用https,可在bucket概览信息中查看域名是否支持https
        "https": false
    }
}
  • 七牛对象存储

进入七牛对象存储的管理界面,获取以下字段的值。

{
    "qiniu": {
        # 域名
        "domain": null,
        # bucket的名字
        "bktname": null,
        # 七牛云的access_key,在密钥管理处可以找到
        "access_key": null,
        # 七牛云的secret_key,和access_key在一起
        "secret": null,
        # 是否使用https
        "https": false
    }
}
  • gitee

这个相对简单,在gitee中新增一个仓库就可以使用。

{
    "gitee": {
        # 在用户中心的私人令牌处可以找到
        "access_token": null,
        # 你的用户名,点进你的一个仓库,仓库的url构成就是`https://gitee.com/你的用户名/你的仓库名`
        "username": null,
        # 要使用的仓库名
        "repo": null
    }
}

你也可以通过python sxyz.py config -k KEY -v VALUE子命令来配置各个字段。
对于通用配置,KEY就是配置项的名字;对于各个模块的配置,要以模块名:作为前缀。
比如,要配置默认的后端,也就是通用配置的default_backend项,那么使用-k default_backend -v oss的组合;又比如,要配置oss的domain项,则使用-k oss:domain -v DOMAIN

  1. 上传你的第一个文件
sxyz upload YOUR_FILE --backend gitee --init-backend

默认只支持几种常见的图片格式,要增加其他格式,需要在sxyz.json中配置valid_filetype项,内容为文件的mime字符串。在Linux可以使用xdg-mime query filetype YOUR_FILE获取。

oss和qiniu后端支持定时过期,过期后自动删除,使用--expired_days选项指定,过期时间可选项由配置文件中expired_days_options项指定。为0表示永不过期。

需要注意的是,有的后端在第一次上传的时候需要做一些初始化(目前只有阿里OSS),比如设置文件过期规则等。所以在第一次上传的时候记得加上--init-backend选项。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for sxyz, version 0.1.post1
Filename, size File type Python version Upload date Hashes
Filename, size sxyz-0.1.post1-py3-none-any.whl (9.6 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size sxyz-0.1.post1.tar.gz (8.1 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page