├── .gitignore ├── LICENSE ├── Makefile ├── README.md ├── api ├── README.md ├── router.go └── v0 │ ├── checkpoint.go │ ├── download.go │ ├── healthcheck.go │ ├── link.go │ ├── proxy.go │ ├── resume.go │ └── upload.go ├── app ├── README.md ├── app.go ├── middleware │ ├── README.md │ ├── cors.go │ ├── panic.go │ ├── requestlogger.go │ └── tracelogger.go ├── models │ ├── README.md │ ├── metadatainfo.go │ ├── multipartinfo.go │ ├── taskinfo.go │ └── uid.go └── pkg │ ├── README.md │ ├── base │ ├── dbgenerate.go │ ├── encryption.go │ ├── fileop.go │ ├── httpclient.go │ ├── httpparam.go │ ├── network.go │ ├── redislock.go │ ├── registanddiscover.go │ ├── snowflaker.go │ └── storage.go │ ├── event │ ├── README.md │ ├── dispatch │ │ ├── consumer.go │ │ ├── dispatch.go │ │ └── producer.go │ ├── event.go │ └── handlers │ │ ├── partdelete.go │ │ └── partmerge.go │ ├── repo │ ├── metadatainfo.go │ ├── multipartinfo.go │ ├── taskinfo.go │ ├── tasklog.go │ └── uid.go │ ├── storage │ ├── cosstorage.go │ ├── customstorage.go │ ├── localstorage.go │ ├── miniostorage.go │ └── ossstorage.go │ ├── thirdparty │ └── proxy.go │ ├── utils │ ├── array.go │ ├── array_test.go │ └── constant.go │ └── web │ ├── request.go │ └── response.go ├── bootstrap ├── README.md ├── config.go ├── log.go └── plugins │ ├── cos.go │ ├── database.go │ ├── local.go │ ├── minio.go │ ├── oss.go │ ├── plugins.go │ └── redis.go ├── cmd ├── README.md └── main.go ├── conf ├── README.md └── config.yaml ├── config ├── README.md ├── app.go ├── config.go ├── log.go └── plugins │ ├── cos.go │ ├── database.go │ ├── local.go │ ├── minio.go │ ├── oss.go │ └── redis.go ├── deploy ├── Dockerfile ├── build_docker_push.sh ├── config.yaml ├── http │ ├── docker-compose.yaml │ └── nginx.conf ├── https │ ├── docker-compose.yaml │ └── nginx.conf ├── server.key └── server.pem ├── docs ├── docs.go ├── img.png ├── swagger.json └── swagger.yaml ├── go.mod ├── go.sum ├── image ├── author.jpg ├── group.jpg ├── img.png ├── img1.png └── img2.png ├── localstore └── README.md ├── static └── README.md ├── test ├── 7620 65921.jpg ├── example file.txt ├── httptest.go └── xxx.jpg └── utils ├── README.md └── path.go /.gitignore: -------------------------------------------------------------------------------- 1 | .idea/* 2 | localstore/11* -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/README.md -------------------------------------------------------------------------------- /api/README.md: -------------------------------------------------------------------------------- 1 | # api 2 | api的handler和路由管理 -------------------------------------------------------------------------------- /api/router.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/api/router.go -------------------------------------------------------------------------------- /api/v0/checkpoint.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/api/v0/checkpoint.go -------------------------------------------------------------------------------- /api/v0/download.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/api/v0/download.go -------------------------------------------------------------------------------- /api/v0/healthcheck.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/api/v0/healthcheck.go -------------------------------------------------------------------------------- /api/v0/link.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/api/v0/link.go -------------------------------------------------------------------------------- /api/v0/proxy.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/api/v0/proxy.go -------------------------------------------------------------------------------- /api/v0/resume.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/api/v0/resume.go -------------------------------------------------------------------------------- /api/v0/upload.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/api/v0/upload.go -------------------------------------------------------------------------------- /app/README.md: -------------------------------------------------------------------------------- 1 | # app 2 | 中间件、模型及业务逻辑 -------------------------------------------------------------------------------- /app/app.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/app.go -------------------------------------------------------------------------------- /app/middleware/README.md: -------------------------------------------------------------------------------- 1 | ## middleware 2 | 中间件 -------------------------------------------------------------------------------- /app/middleware/cors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/middleware/cors.go -------------------------------------------------------------------------------- /app/middleware/panic.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/middleware/panic.go -------------------------------------------------------------------------------- /app/middleware/requestlogger.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/middleware/requestlogger.go -------------------------------------------------------------------------------- /app/middleware/tracelogger.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/middleware/tracelogger.go -------------------------------------------------------------------------------- /app/models/README.md: -------------------------------------------------------------------------------- 1 | # models 2 | 数据库scheme及requestModel -------------------------------------------------------------------------------- /app/models/metadatainfo.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/models/metadatainfo.go -------------------------------------------------------------------------------- /app/models/multipartinfo.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/models/multipartinfo.go -------------------------------------------------------------------------------- /app/models/taskinfo.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/models/taskinfo.go -------------------------------------------------------------------------------- /app/models/uid.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/models/uid.go -------------------------------------------------------------------------------- /app/pkg/README.md: -------------------------------------------------------------------------------- 1 | # pkg 2 | 内部封装 -------------------------------------------------------------------------------- /app/pkg/base/dbgenerate.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/pkg/base/dbgenerate.go -------------------------------------------------------------------------------- /app/pkg/base/encryption.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/pkg/base/encryption.go -------------------------------------------------------------------------------- /app/pkg/base/fileop.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/pkg/base/fileop.go -------------------------------------------------------------------------------- /app/pkg/base/httpclient.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/pkg/base/httpclient.go -------------------------------------------------------------------------------- /app/pkg/base/httpparam.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/pkg/base/httpparam.go -------------------------------------------------------------------------------- /app/pkg/base/network.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/pkg/base/network.go -------------------------------------------------------------------------------- /app/pkg/base/redislock.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/pkg/base/redislock.go -------------------------------------------------------------------------------- /app/pkg/base/registanddiscover.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/pkg/base/registanddiscover.go -------------------------------------------------------------------------------- /app/pkg/base/snowflaker.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/pkg/base/snowflaker.go -------------------------------------------------------------------------------- /app/pkg/base/storage.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/pkg/base/storage.go -------------------------------------------------------------------------------- /app/pkg/event/README.md: -------------------------------------------------------------------------------- 1 | # 任务调度 -------------------------------------------------------------------------------- /app/pkg/event/dispatch/consumer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/pkg/event/dispatch/consumer.go -------------------------------------------------------------------------------- /app/pkg/event/dispatch/dispatch.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/pkg/event/dispatch/dispatch.go -------------------------------------------------------------------------------- /app/pkg/event/dispatch/producer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/pkg/event/dispatch/producer.go -------------------------------------------------------------------------------- /app/pkg/event/event.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/pkg/event/event.go -------------------------------------------------------------------------------- /app/pkg/event/handlers/partdelete.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/pkg/event/handlers/partdelete.go -------------------------------------------------------------------------------- /app/pkg/event/handlers/partmerge.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/pkg/event/handlers/partmerge.go -------------------------------------------------------------------------------- /app/pkg/repo/metadatainfo.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/pkg/repo/metadatainfo.go -------------------------------------------------------------------------------- /app/pkg/repo/multipartinfo.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/pkg/repo/multipartinfo.go -------------------------------------------------------------------------------- /app/pkg/repo/taskinfo.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/pkg/repo/taskinfo.go -------------------------------------------------------------------------------- /app/pkg/repo/tasklog.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/pkg/repo/tasklog.go -------------------------------------------------------------------------------- /app/pkg/repo/uid.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/pkg/repo/uid.go -------------------------------------------------------------------------------- /app/pkg/storage/cosstorage.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/pkg/storage/cosstorage.go -------------------------------------------------------------------------------- /app/pkg/storage/customstorage.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/pkg/storage/customstorage.go -------------------------------------------------------------------------------- /app/pkg/storage/localstorage.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/pkg/storage/localstorage.go -------------------------------------------------------------------------------- /app/pkg/storage/miniostorage.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/pkg/storage/miniostorage.go -------------------------------------------------------------------------------- /app/pkg/storage/ossstorage.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/pkg/storage/ossstorage.go -------------------------------------------------------------------------------- /app/pkg/thirdparty/proxy.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/pkg/thirdparty/proxy.go -------------------------------------------------------------------------------- /app/pkg/utils/array.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/pkg/utils/array.go -------------------------------------------------------------------------------- /app/pkg/utils/array_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/pkg/utils/array_test.go -------------------------------------------------------------------------------- /app/pkg/utils/constant.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/pkg/utils/constant.go -------------------------------------------------------------------------------- /app/pkg/web/request.go: -------------------------------------------------------------------------------- 1 | package web 2 | -------------------------------------------------------------------------------- /app/pkg/web/response.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/app/pkg/web/response.go -------------------------------------------------------------------------------- /bootstrap/README.md: -------------------------------------------------------------------------------- 1 | # bootstrap 2 | 3 | 项目配置资源自举,其中DB、Redis、Minio支持插件管理 -------------------------------------------------------------------------------- /bootstrap/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/bootstrap/config.go -------------------------------------------------------------------------------- /bootstrap/log.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/bootstrap/log.go -------------------------------------------------------------------------------- /bootstrap/plugins/cos.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/bootstrap/plugins/cos.go -------------------------------------------------------------------------------- /bootstrap/plugins/database.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/bootstrap/plugins/database.go -------------------------------------------------------------------------------- /bootstrap/plugins/local.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/bootstrap/plugins/local.go -------------------------------------------------------------------------------- /bootstrap/plugins/minio.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/bootstrap/plugins/minio.go -------------------------------------------------------------------------------- /bootstrap/plugins/oss.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/bootstrap/plugins/oss.go -------------------------------------------------------------------------------- /bootstrap/plugins/plugins.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/bootstrap/plugins/plugins.go -------------------------------------------------------------------------------- /bootstrap/plugins/redis.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/bootstrap/plugins/redis.go -------------------------------------------------------------------------------- /cmd/README.md: -------------------------------------------------------------------------------- 1 | # cmd 2 | 项目启动入口 -------------------------------------------------------------------------------- /cmd/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/cmd/main.go -------------------------------------------------------------------------------- /conf/README.md: -------------------------------------------------------------------------------- 1 | # conf 2 | 项目配置文件 -------------------------------------------------------------------------------- /conf/config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/conf/config.yaml -------------------------------------------------------------------------------- /config/README.md: -------------------------------------------------------------------------------- 1 | # config 2 | 配置文件对应的结构体定义 -------------------------------------------------------------------------------- /config/app.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/config/app.go -------------------------------------------------------------------------------- /config/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/config/config.go -------------------------------------------------------------------------------- /config/log.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/config/log.go -------------------------------------------------------------------------------- /config/plugins/cos.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/config/plugins/cos.go -------------------------------------------------------------------------------- /config/plugins/database.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/config/plugins/database.go -------------------------------------------------------------------------------- /config/plugins/local.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/config/plugins/local.go -------------------------------------------------------------------------------- /config/plugins/minio.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/config/plugins/minio.go -------------------------------------------------------------------------------- /config/plugins/oss.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/config/plugins/oss.go -------------------------------------------------------------------------------- /config/plugins/redis.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/config/plugins/redis.go -------------------------------------------------------------------------------- /deploy/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/deploy/Dockerfile -------------------------------------------------------------------------------- /deploy/build_docker_push.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/deploy/build_docker_push.sh -------------------------------------------------------------------------------- /deploy/config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/deploy/config.yaml -------------------------------------------------------------------------------- /deploy/http/docker-compose.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/deploy/http/docker-compose.yaml -------------------------------------------------------------------------------- /deploy/http/nginx.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/deploy/http/nginx.conf -------------------------------------------------------------------------------- /deploy/https/docker-compose.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/deploy/https/docker-compose.yaml -------------------------------------------------------------------------------- /deploy/https/nginx.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/deploy/https/nginx.conf -------------------------------------------------------------------------------- /deploy/server.key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/deploy/server.key -------------------------------------------------------------------------------- /deploy/server.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/deploy/server.pem -------------------------------------------------------------------------------- /docs/docs.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/docs/docs.go -------------------------------------------------------------------------------- /docs/img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/docs/img.png -------------------------------------------------------------------------------- /docs/swagger.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/docs/swagger.json -------------------------------------------------------------------------------- /docs/swagger.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/docs/swagger.yaml -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/go.sum -------------------------------------------------------------------------------- /image/author.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/image/author.jpg -------------------------------------------------------------------------------- /image/group.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/image/group.jpg -------------------------------------------------------------------------------- /image/img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/image/img.png -------------------------------------------------------------------------------- /image/img1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/image/img1.png -------------------------------------------------------------------------------- /image/img2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/image/img2.png -------------------------------------------------------------------------------- /localstore/README.md: -------------------------------------------------------------------------------- 1 | # 本地存储目录 -------------------------------------------------------------------------------- /static/README.md: -------------------------------------------------------------------------------- 1 | # static 2 | 静态资源 -------------------------------------------------------------------------------- /test/7620 65921.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/test/7620 65921.jpg -------------------------------------------------------------------------------- /test/example file.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/test/example file.txt -------------------------------------------------------------------------------- /test/httptest.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/test/httptest.go -------------------------------------------------------------------------------- /test/xxx.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/test/xxx.jpg -------------------------------------------------------------------------------- /utils/README.md: -------------------------------------------------------------------------------- 1 | # utils 2 | 工具 -------------------------------------------------------------------------------- /utils/path.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qinguoyi/osproxy/HEAD/utils/path.go --------------------------------------------------------------------------------