gitextract_qifrln_6/ ├── .editorconfig ├── .gitattributes ├── .github/ │ ├── CODEOWNERS │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yaml │ │ └── feature_request.yml │ ├── dependabot.yml │ └── workflows/ │ ├── dependabot-fix.yml │ ├── docker.yml │ ├── docs.yml │ ├── master.yml │ └── release.yml ├── .gitignore ├── .golangci.yaml ├── .goreleaser.yaml ├── Dockerfile ├── LICENSE ├── Makefile ├── README.md ├── README_zh.md ├── app/ │ ├── chat/ │ │ ├── export.go │ │ ├── export_enum.go │ │ ├── ls.go │ │ ├── ls_enum.go │ │ └── users.go │ ├── dl/ │ │ ├── dl.go │ │ ├── elem.go │ │ ├── iter.go │ │ ├── iter_test.go │ │ ├── progress.go │ │ ├── serve.go │ │ └── serve.go.tmpl │ ├── extension/ │ │ └── extension.go │ ├── forward/ │ │ ├── elem.go │ │ ├── forward.go │ │ ├── iter.go │ │ └── progress.go │ ├── internal/ │ │ └── tctx/ │ │ └── tctx.go │ ├── login/ │ │ ├── code.go │ │ ├── desktop.go │ │ ├── login.go │ │ ├── login_enum.go │ │ └── qr.go │ ├── migrate/ │ │ ├── backup.go │ │ ├── migrate.go │ │ └── recover.go │ └── up/ │ ├── elem.go │ ├── iter.go │ ├── progress.go │ ├── up.go │ └── walk.go ├── cmd/ │ ├── chat.go │ ├── dl.go │ ├── extension.go │ ├── forward.go │ ├── gen.go │ ├── login.go │ ├── migrate.go │ ├── root.go │ ├── up.go │ ├── version.go │ └── version.tmpl ├── core/ │ ├── dcpool/ │ │ ├── dcpool.go │ │ └── middlewares.go │ ├── downloader/ │ │ ├── downloader.go │ │ ├── iter.go │ │ └── progress.go │ ├── forwarder/ │ │ ├── clone.go │ │ ├── forwarder.go │ │ ├── forwarder_enum.go │ │ ├── iter.go │ │ └── progress.go │ ├── go.mod │ ├── go.sum │ ├── logctx/ │ │ └── logctx.go │ ├── middlewares/ │ │ ├── recovery/ │ │ │ └── recovery.go │ │ ├── retry/ │ │ │ └── retry.go │ │ └── takeout/ │ │ ├── middleware.go │ │ └── takeout.go │ ├── storage/ │ │ ├── keygen/ │ │ │ └── keygen.go │ │ ├── peers.go │ │ ├── session.go │ │ ├── state.go │ │ └── storage.go │ ├── tclient/ │ │ └── tclient.go │ ├── tmedia/ │ │ ├── convert.go │ │ ├── document.go │ │ ├── media.go │ │ └── photo.go │ ├── uploader/ │ │ ├── iter.go │ │ ├── progress.go │ │ └── uploader.go │ └── util/ │ ├── fsutil/ │ │ └── fsutil.go │ ├── logutil/ │ │ └── logutil.go │ ├── mediautil/ │ │ └── mediautil.go │ ├── netutil/ │ │ └── netutil.go │ └── tutil/ │ ├── device.go │ └── tutil.go ├── docs/ │ ├── assets/ │ │ └── _custom.scss │ ├── content/ │ │ ├── en/ │ │ │ ├── _index.md │ │ │ ├── getting-started/ │ │ │ │ ├── _index.md │ │ │ │ ├── installation.md │ │ │ │ ├── quick-start.md │ │ │ │ └── shell-completion.md │ │ │ ├── guide/ │ │ │ │ ├── _index.md │ │ │ │ ├── download.md │ │ │ │ ├── extensions.md │ │ │ │ ├── forward.md │ │ │ │ ├── global-config.md │ │ │ │ ├── login.md │ │ │ │ ├── migration.md │ │ │ │ ├── template.md │ │ │ │ ├── tools/ │ │ │ │ │ ├── _index.md │ │ │ │ │ ├── export-members.md │ │ │ │ │ ├── export-messages.md │ │ │ │ │ └── list-chats.md │ │ │ │ └── upload.md │ │ │ ├── more/ │ │ │ │ ├── _index.md │ │ │ │ ├── cli/ │ │ │ │ │ └── _index.md │ │ │ │ ├── data.md │ │ │ │ ├── env.md │ │ │ │ └── troubleshooting.md │ │ │ ├── reference/ │ │ │ │ ├── _index.md │ │ │ │ └── expr.md │ │ │ └── snippets/ │ │ │ ├── _index.md │ │ │ ├── chat.md │ │ │ └── link.md │ │ └── zh/ │ │ ├── _index.md │ │ ├── getting-started/ │ │ │ ├── _index.md │ │ │ ├── installation.md │ │ │ ├── quick-start.md │ │ │ └── shell-completion.md │ │ ├── guide/ │ │ │ ├── _index.md │ │ │ ├── download.md │ │ │ ├── extensions.md │ │ │ ├── forward.md │ │ │ ├── global-config.md │ │ │ ├── login.md │ │ │ ├── migration.md │ │ │ ├── template.md │ │ │ ├── tools/ │ │ │ │ ├── _index.md │ │ │ │ ├── export-members.md │ │ │ │ ├── export-messages.md │ │ │ │ └── list-chats.md │ │ │ └── upload.md │ │ ├── more/ │ │ │ ├── _index.md │ │ │ ├── cli/ │ │ │ │ └── _index.md │ │ │ ├── data.md │ │ │ ├── env.md │ │ │ └── troubleshooting.md │ │ ├── reference/ │ │ │ ├── _index.md │ │ │ └── expr.md │ │ └── snippets/ │ │ ├── _index.md │ │ ├── chat.md │ │ └── link.md │ ├── go.mod │ ├── go.sum │ ├── hugo.yaml │ ├── layouts/ │ │ ├── partials/ │ │ │ └── docs/ │ │ │ └── inject/ │ │ │ ├── footer.html │ │ │ └── head.html │ │ └── shortcodes/ │ │ ├── command.html │ │ ├── image.html │ │ └── include.html │ └── resources/ │ └── _gen/ │ └── assets/ │ └── scss/ │ ├── book.scss_e129fe35b8d0a70789c8a08429469073.content │ └── book.scss_e129fe35b8d0a70789c8a08429469073.json ├── extension/ │ ├── extension.go │ ├── go.mod │ └── go.sum ├── go.mod ├── go.sum ├── go.work ├── go.work.sum ├── hack/ │ ├── lib.sh │ └── release_mod.sh ├── main.go ├── pkg/ │ ├── clock/ │ │ └── clock.go │ ├── consts/ │ │ ├── consts.go │ │ ├── flag.go │ │ ├── path.go │ │ └── version.go │ ├── extensions/ │ │ ├── extensions.go │ │ ├── extensions_enum.go │ │ ├── extensions_test.go │ │ ├── github.go │ │ ├── local.go │ │ ├── local_test.go │ │ └── manager.go │ ├── filterMap/ │ │ └── filterMap.go │ ├── key/ │ │ └── key.go │ ├── kv/ │ │ ├── bolt.go │ │ ├── file.go │ │ ├── kv.go │ │ ├── kv_enum.go │ │ ├── kv_test.go │ │ └── legacy.go │ ├── prog/ │ │ ├── prog.go │ │ └── tracker.go │ ├── ps/ │ │ └── ps.go │ ├── tclient/ │ │ ├── app.go │ │ └── tclient.go │ ├── tdesktop/ │ │ ├── .s │ │ └── tdesktop.go │ ├── texpr/ │ │ ├── env.go │ │ ├── env_test.go │ │ ├── expr.go │ │ ├── fields.go │ │ └── fields_test.go │ ├── tmessage/ │ │ ├── files.go │ │ ├── tmessage.go │ │ └── urls.go │ ├── tpath/ │ │ ├── tpath.go │ │ ├── tpath_darwin.go │ │ ├── tpath_linux.go │ │ ├── tpath_other.go │ │ └── tpath_windows.go │ ├── tplfunc/ │ │ ├── date.go │ │ ├── date_test.go │ │ ├── func.go │ │ ├── math.go │ │ ├── math_test.go │ │ ├── string.go │ │ └── string_test.go │ ├── utils/ │ │ ├── byte.go │ │ └── cmd.go │ └── validator/ │ └── validator.go ├── scripts/ │ ├── install.ps1 │ └── install.sh └── test/ ├── archive_test.go ├── chat_ls_test.go ├── chat_users_test.go ├── download_test.go ├── suite_test.go ├── testserver/ │ ├── public_key.pem │ └── testserver.go └── upload_test.go