mirror of
https://github.com/OpenListTeam/OpenList.git
synced 2025-09-20 04:36:09 +08:00
Compare commits
13 Commits
Author | SHA1 | Date | |
---|---|---|---|
c0a8321461 | |||
680501a8a8 | |||
83913a8031 | |||
929d4e65b9 | |||
6717d02f94 | |||
9d2a71e3eb | |||
62de731d37 | |||
7277163b0a | |||
98f65d5478 | |||
312e04ea69 | |||
6ddb4359d3 | |||
cf444c2f63 | |||
0176cfb0c9 |
22
.github/workflows/issue_close_question.yml
vendored
Normal file
22
.github/workflows/issue_close_question.yml
vendored
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
name: Close need info
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: "0 0 */1 * *"
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
close-need-info:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: close-issues
|
||||||
|
uses: actions-cool/issues-helper@v3
|
||||||
|
with:
|
||||||
|
actions: 'close-issues'
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
labels: 'question'
|
||||||
|
inactive-day: 3
|
||||||
|
close-reason: 'not_planned'
|
||||||
|
body: |
|
||||||
|
Hello @${{ github.event.issue.user.login }}, this issue was closed due to no activities in 3 days.
|
||||||
|
你好 @${{ github.event.issue.user.login }},此issue因超过3天未回复被关闭。
|
21
.github/workflows/issue_close_stale.yml
vendored
Normal file
21
.github/workflows/issue_close_stale.yml
vendored
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
name: Close inactive
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: "0 0 */7 * *"
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
close-inactive:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: close-issues
|
||||||
|
uses: actions-cool/issues-helper@v3
|
||||||
|
with:
|
||||||
|
actions: 'close-issues'
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
labels: 'stale'
|
||||||
|
inactive-day: 8
|
||||||
|
close-reason: 'not_planned'
|
||||||
|
body: |
|
||||||
|
Hello @${{ github.event.issue.user.login }}, this issue was closed due to inactive more than 52 days. You can reopen or recreate it if you think it should continue. Thank you for your contributions again.
|
25
.github/workflows/issue_duplicate.yml
vendored
Normal file
25
.github/workflows/issue_duplicate.yml
vendored
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
name: Issue Duplicate
|
||||||
|
|
||||||
|
on:
|
||||||
|
issues:
|
||||||
|
types: [labeled]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
create-comment:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: github.event.label.name == 'duplicate'
|
||||||
|
steps:
|
||||||
|
- name: Create comment
|
||||||
|
uses: actions-cool/issues-helper@v3
|
||||||
|
with:
|
||||||
|
actions: 'create-comment'
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
issue-number: ${{ github.event.issue.number }}
|
||||||
|
body: |
|
||||||
|
Hello @${{ github.event.issue.user.login }}, your issue is a duplicate and will be closed.
|
||||||
|
你好 @${{ github.event.issue.user.login }},你的issue是重复的,将被关闭。
|
||||||
|
- name: Close issue
|
||||||
|
uses: actions-cool/issues-helper@v3
|
||||||
|
with:
|
||||||
|
actions: 'close-issue'
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
25
.github/workflows/issue_invalid.yml
vendored
Normal file
25
.github/workflows/issue_invalid.yml
vendored
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
name: Issue Invalid
|
||||||
|
|
||||||
|
on:
|
||||||
|
issues:
|
||||||
|
types: [labeled]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
create-comment:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: github.event.label.name == 'invalid'
|
||||||
|
steps:
|
||||||
|
- name: Create comment
|
||||||
|
uses: actions-cool/issues-helper@v3
|
||||||
|
with:
|
||||||
|
actions: 'create-comment'
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
issue-number: ${{ github.event.issue.number }}
|
||||||
|
body: |
|
||||||
|
Hello @${{ github.event.issue.user.login }}, your issue is invalid and will be closed.
|
||||||
|
你好 @${{ github.event.issue.user.login }},你的issue无效,将被关闭。
|
||||||
|
- name: Close issue
|
||||||
|
uses: actions-cool/issues-helper@v3
|
||||||
|
with:
|
||||||
|
actions: 'close-issue'
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
17
.github/workflows/issue_on_close.yml
vendored
Normal file
17
.github/workflows/issue_on_close.yml
vendored
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
name: Remove working label when issue closed
|
||||||
|
|
||||||
|
on:
|
||||||
|
issues:
|
||||||
|
types: [closed]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
rm-working:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Remove working label
|
||||||
|
uses: actions-cool/issues-helper@v3
|
||||||
|
with:
|
||||||
|
actions: 'remove-labels'
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
issue-number: ${{ github.event.issue.number }}
|
||||||
|
labels: 'working,pr-welcome'
|
20
.github/workflows/issue_question.yml
vendored
Normal file
20
.github/workflows/issue_question.yml
vendored
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
name: Issue Question
|
||||||
|
|
||||||
|
on:
|
||||||
|
issues:
|
||||||
|
types: [labeled]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
create-comment:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: github.event.label.name == 'question'
|
||||||
|
steps:
|
||||||
|
- name: Create comment
|
||||||
|
uses: actions-cool/issues-helper@v3.6.0
|
||||||
|
with:
|
||||||
|
actions: 'create-comment'
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
issue-number: ${{ github.event.issue.number }}
|
||||||
|
body: |
|
||||||
|
Hello @${{ github.event.issue.user.login }}, please input issue by template and add detail. Issues labeled by `question` will be closed if no activities in 3 days.
|
||||||
|
你好 @${{ github.event.issue.user.login }},请按照issue模板填写, 并详细说明问题/日志记录/复现步骤/复现链接/实现思路或提供更多信息等, 3天内未回复issue自动关闭。
|
19
.github/workflows/issue_similarity.yml
vendored
Normal file
19
.github/workflows/issue_similarity.yml
vendored
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
name: Issues Similarity Analysis
|
||||||
|
|
||||||
|
on:
|
||||||
|
issues:
|
||||||
|
types: [opened, edited]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
similarity-analysis:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: analysis
|
||||||
|
uses: actions-cool/issues-similarity-analysis@v1
|
||||||
|
with:
|
||||||
|
filter-threshold: 0.5
|
||||||
|
comment-title: '### See'
|
||||||
|
comment-body: '${index}. ${similarity} #${number}'
|
||||||
|
show-footer: false
|
||||||
|
show-mentioned: true
|
||||||
|
since-days: 730
|
13
.github/workflows/issue_translate.yml
vendored
Normal file
13
.github/workflows/issue_translate.yml
vendored
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
name: Translation Helper
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request_target:
|
||||||
|
types: [opened]
|
||||||
|
issues:
|
||||||
|
types: [opened]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
translate:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions-cool/translation-helper@v1.2.0
|
25
.github/workflows/issue_wontfix.yml
vendored
Normal file
25
.github/workflows/issue_wontfix.yml
vendored
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
name: Issue Wontfix
|
||||||
|
|
||||||
|
on:
|
||||||
|
issues:
|
||||||
|
types: [labeled]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lock-issue:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: github.event.label.name == 'wontfix'
|
||||||
|
steps:
|
||||||
|
- name: Create comment
|
||||||
|
uses: actions-cool/issues-helper@v3
|
||||||
|
with:
|
||||||
|
actions: 'create-comment'
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
issue-number: ${{ github.event.issue.number }}
|
||||||
|
body: |
|
||||||
|
Hello @${{ github.event.issue.user.login }}, this issue will not be worked on and will be closed.
|
||||||
|
你好 @${{ github.event.issue.user.login }},这不会被处理,将被关闭。
|
||||||
|
- name: Close issue
|
||||||
|
uses: actions-cool/issues-helper@v3
|
||||||
|
with:
|
||||||
|
actions: 'close-issue'
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
28
.github/workflows/release_docker.yml
vendored
28
.github/workflows/release_docker.yml
vendored
@ -2,19 +2,6 @@ name: release_docker
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
|
||||||
manual_tag:
|
|
||||||
description: 'Tag name (like v0.1.0). Required if as_latest is true.'
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
as_latest:
|
|
||||||
description: 'Tag as latest?'
|
|
||||||
required: true
|
|
||||||
default: 'false'
|
|
||||||
type: choice
|
|
||||||
options:
|
|
||||||
- 'true'
|
|
||||||
- 'false'
|
|
||||||
push:
|
push:
|
||||||
tags:
|
tags:
|
||||||
- 'v*'
|
- 'v*'
|
||||||
@ -30,11 +17,11 @@ env:
|
|||||||
REGISTRY: ghcr.io
|
REGISTRY: ghcr.io
|
||||||
ARTIFACT_NAME: 'binaries_docker_release'
|
ARTIFACT_NAME: 'binaries_docker_release'
|
||||||
RELEASE_PLATFORMS: 'linux/amd64,linux/arm64,linux/arm/v7,linux/386,linux/arm/v6,linux/s390x,linux/ppc64le,linux/riscv64'
|
RELEASE_PLATFORMS: 'linux/amd64,linux/arm64,linux/arm/v7,linux/386,linux/arm/v6,linux/s390x,linux/ppc64le,linux/riscv64'
|
||||||
IMAGE_PUSH: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }}
|
IMAGE_PUSH: ${{ github.event_name == 'push' }}
|
||||||
IMAGE_IS_PROD: ${{ github.ref_type == 'tag' || github.event.inputs.as_latest == 'true' }}
|
IMAGE_IS_PROD: ${{ github.ref_type == 'tag' }}
|
||||||
IMAGE_TAGS_BETA: |
|
IMAGE_TAGS_BETA: |
|
||||||
type=raw,value=beta,enable={{is_default_branch}}
|
type=raw,value=beta,enable={{is_default_branch}}
|
||||||
|
|
||||||
permissions: write-all
|
permissions: write-all
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
@ -142,14 +129,9 @@ jobs:
|
|||||||
images: |
|
images: |
|
||||||
${{ env.REGISTRY }}/${{ env.ORG_NAME }}/${{ env.IMAGE_NAME }}
|
${{ env.REGISTRY }}/${{ env.ORG_NAME }}/${{ env.IMAGE_NAME }}
|
||||||
${{ env.ORG_NAME }}/${{ env.IMAGE_NAME_DOCKERHUB }}
|
${{ env.ORG_NAME }}/${{ env.IMAGE_NAME_DOCKERHUB }}
|
||||||
tags: >
|
tags: ${{ env.IMAGE_IS_PROD == 'true' && '' || env.IMAGE_TAGS_BETA }}
|
||||||
${{ env.IMAGE_IS_PROD == 'true' && (
|
|
||||||
github.event_name == 'workflow_dispatch'
|
|
||||||
&& format('type=raw,value={0}', github.event.inputs.manual_tag)
|
|
||||||
|| format('type=raw,value={0}', github.ref_name)
|
|
||||||
) || env.IMAGE_TAGS_BETA }}
|
|
||||||
flavor: |
|
flavor: |
|
||||||
latest=${{ env.IMAGE_IS_PROD }}
|
${{ env.IMAGE_IS_PROD == 'true' && 'latest=true' || '' }}
|
||||||
${{ matrix.tag_favor }}
|
${{ matrix.tag_favor }}
|
||||||
|
|
||||||
- name: Build and push
|
- name: Build and push
|
||||||
|
@ -95,8 +95,7 @@ English | [中文](./README_cn.md) | [日本語](./README_ja.md) | [Contributing
|
|||||||
|
|
||||||
## Document
|
## Document
|
||||||
|
|
||||||
- https://docs.oplist.org
|
<https://docs.openlist.team>
|
||||||
- https://docs.openlist.team
|
|
||||||
|
|
||||||
## Demo
|
## Demo
|
||||||
|
|
||||||
@ -126,4 +125,4 @@ The `OpenList` is open-source software licensed under the AGPL-3.0 license.
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
> [@GitHub](https://github.com/OpenListTeam) · [Telegram Group](https://t.me/OpenListTeam) · [Telegram Channel](https://t.me/OpenListOfficial)
|
> [@GitHub](https://github.com/OpenListTeam) · [Telegram Group](https://t.me/OpenListTeam)
|
||||||
|
@ -93,7 +93,6 @@
|
|||||||
|
|
||||||
## 文档
|
## 文档
|
||||||
|
|
||||||
<https://docs.oplist.org>
|
|
||||||
<https://docs.openlist.team>
|
<https://docs.openlist.team>
|
||||||
|
|
||||||
## Demo
|
## Demo
|
||||||
@ -124,4 +123,4 @@ N/A(重建中)
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
> [@GitHub](https://github.com/OpenListTeam) · [Telegram 交流群](https://t.me/OpenListTeam) · [Telegram 频道](https://t.me/OpenListOfficial)
|
> [@GitHub](https://github.com/OpenListTeam) · [Telegram 交流群](https://t.me/OpenListTeam)
|
||||||
|
@ -94,8 +94,7 @@
|
|||||||
|
|
||||||
## ドキュメント
|
## ドキュメント
|
||||||
|
|
||||||
- https://docs.oplist.org
|
<https://docs.openlist.team>
|
||||||
- https://docs.openlist.team
|
|
||||||
|
|
||||||
## デモ
|
## デモ
|
||||||
|
|
||||||
@ -125,4 +124,4 @@ N/A (再構築中)
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
> [@GitHub](https://github.com/OpenListTeam) · [Telegram Group](https://t.me/OpenListTeam) · [Telegram Channel](https://t.me/OpenListOfficial)
|
> [@GitHub](https://github.com/OpenListTeam) · [Telegram Group](https://t.me/OpenListTeam)
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
version: '3.3'
|
||||||
services:
|
services:
|
||||||
openlist:
|
openlist:
|
||||||
restart: always
|
restart: always
|
||||||
@ -12,4 +13,4 @@ services:
|
|||||||
- UMASK=022
|
- UMASK=022
|
||||||
- TZ=UTC
|
- TZ=UTC
|
||||||
container_name: openlist
|
container_name: openlist
|
||||||
image: 'openlistteam/openlist:latest'
|
image: 'ghcr.io/openlistteam/openlist:latest'
|
||||||
|
@ -82,6 +82,7 @@ func (d *Open123) Upload(ctx context.Context, file model.FileStreamer, createRes
|
|||||||
retry.Attempts(3),
|
retry.Attempts(3),
|
||||||
retry.Delay(time.Second),
|
retry.Delay(time.Second),
|
||||||
retry.DelayType(retry.BackOffDelay))
|
retry.DelayType(retry.BackOffDelay))
|
||||||
|
threadG.SetLimit(3)
|
||||||
|
|
||||||
for partIndex := int64(0); partIndex < uploadNums; partIndex++ {
|
for partIndex := int64(0); partIndex < uploadNums; partIndex++ {
|
||||||
if utils.IsCanceled(uploadCtx) {
|
if utils.IsCanceled(uploadCtx) {
|
||||||
|
@ -504,6 +504,7 @@ func (y *Cloud189PC) StreamUpload(ctx context.Context, dstDir model.Obj, file mo
|
|||||||
retry.Attempts(3),
|
retry.Attempts(3),
|
||||||
retry.Delay(time.Second),
|
retry.Delay(time.Second),
|
||||||
retry.DelayType(retry.BackOffDelay))
|
retry.DelayType(retry.BackOffDelay))
|
||||||
|
threadG.SetLimit(3)
|
||||||
|
|
||||||
count := int(size / sliceSize)
|
count := int(size / sliceSize)
|
||||||
lastPartSize := size % sliceSize
|
lastPartSize := size % sliceSize
|
||||||
|
@ -295,6 +295,7 @@ func (d *BaiduNetdisk) Put(ctx context.Context, dstDir model.Obj, stream model.F
|
|||||||
retry.Attempts(1),
|
retry.Attempts(1),
|
||||||
retry.Delay(time.Second),
|
retry.Delay(time.Second),
|
||||||
retry.DelayType(retry.BackOffDelay))
|
retry.DelayType(retry.BackOffDelay))
|
||||||
|
threadG.SetLimit(3)
|
||||||
|
|
||||||
for i, partseq := range precreateResp.BlockList {
|
for i, partseq := range precreateResp.BlockList {
|
||||||
if utils.IsCanceled(upCtx) {
|
if utils.IsCanceled(upCtx) {
|
||||||
|
@ -342,6 +342,7 @@ func (d *BaiduPhoto) Put(ctx context.Context, dstDir model.Obj, stream model.Fil
|
|||||||
retry.Attempts(3),
|
retry.Attempts(3),
|
||||||
retry.Delay(time.Second),
|
retry.Delay(time.Second),
|
||||||
retry.DelayType(retry.BackOffDelay))
|
retry.DelayType(retry.BackOffDelay))
|
||||||
|
threadG.SetLimit(3)
|
||||||
|
|
||||||
for i, partseq := range precreateResp.BlockList {
|
for i, partseq := range precreateResp.BlockList {
|
||||||
if utils.IsCanceled(upCtx) {
|
if utils.IsCanceled(upCtx) {
|
||||||
|
@ -298,6 +298,7 @@ func (d *MoPan) Put(ctx context.Context, dstDir model.Obj, stream model.FileStre
|
|||||||
retry.Attempts(3),
|
retry.Attempts(3),
|
||||||
retry.Delay(time.Second),
|
retry.Delay(time.Second),
|
||||||
retry.DelayType(retry.BackOffDelay))
|
retry.DelayType(retry.BackOffDelay))
|
||||||
|
threadG.SetLimit(3)
|
||||||
|
|
||||||
// step.3
|
// step.3
|
||||||
parts, err := d.client.GetAllMultiUploadUrls(initUpdload.UploadFileID, initUpdload.PartInfos)
|
parts, err := d.client.GetAllMultiUploadUrls(initUpdload.UploadFileID, initUpdload.PartInfos)
|
||||||
|
@ -165,10 +165,6 @@ func (d *downloader) download() (io.ReadCloser, error) {
|
|||||||
if maxPart < d.cfg.Concurrency {
|
if maxPart < d.cfg.Concurrency {
|
||||||
d.cfg.Concurrency = maxPart
|
d.cfg.Concurrency = maxPart
|
||||||
}
|
}
|
||||||
if d.params.Range.Length == 0 {
|
|
||||||
d.cfg.Concurrency = 1
|
|
||||||
}
|
|
||||||
|
|
||||||
log.Debugf("cfgConcurrency:%d", d.cfg.Concurrency)
|
log.Debugf("cfgConcurrency:%d", d.cfg.Concurrency)
|
||||||
|
|
||||||
if d.cfg.Concurrency == 1 {
|
if d.cfg.Concurrency == 1 {
|
||||||
|
Reference in New Issue
Block a user