├── resource
├── home.png
├── login.png
└── mission.png
├── public
├── assets
│ ├── iyuu.png
│ ├── iyuu_gui.png
│ ├── client
│ │ ├── deluge.ico
│ │ ├── qbittorrent.ico
│ │ ├── rutorrent.ico
│ │ └── transmission.ico
│ └── donate
│ │ ├── Rhilip
│ │ ├── alipay.jpg
│ │ └── wechat.png
│ │ └── ledccn
│ │ └── wechat.png
└── index.html
├── babel.config.js
├── src
├── shims-vue.d.ts
├── plugins
│ ├── uuid.ts
│ ├── dayjs.ts
│ ├── element.ts
│ ├── sites
│ │ ├── default.ts
│ │ ├── hdchina.ts
│ │ ├── hdsky.ts
│ │ ├── hdcity.ts
│ │ └── factory.ts
│ ├── common.ts
│ ├── btclient
│ │ ├── factory.ts
│ │ ├── deluge.ts
│ │ ├── transmission.ts
│ │ └── qbittorrent.ts
│ ├── cookies.ts
│ ├── iyuu.ts
│ ├── backup.ts
│ └── mission
│ │ └── reseed.ts
├── interfaces
│ ├── store.ts
│ ├── IYUU
│ │ ├── Site.ts
│ │ └── Forms.ts
│ └── BtClient
│ │ ├── deluge.ts
│ │ ├── AbstractClient.ts
│ │ ├── transmission.ts
│ │ └── qbittorrent.ts
├── main.ts
├── shims-tsx.d.ts
├── App.vue
├── views
│ ├── Layer.vue
│ ├── Gratitude
│ │ ├── Donate.vue
│ │ └── Declare.vue
│ ├── Home.vue
│ ├── Setting
│ │ ├── Other.vue
│ │ ├── BtClient.vue
│ │ ├── Site.vue
│ │ └── Backup.vue
│ ├── Mission.vue
│ └── Login.vue
├── components
│ ├── StateCard.vue
│ ├── Gratitude
│ │ └── ShowPersons.vue
│ ├── Setting
│ │ ├── Other
│ │ │ ├── weChat.vue
│ │ │ └── Normal.vue
│ │ ├── BtClient
│ │ │ ├── ClientEdit.vue
│ │ │ └── ClientAdd.vue
│ │ └── Site
│ │ │ ├── SiteEdit.vue
│ │ │ └── SiteAdd.vue
│ ├── Aside.vue
│ └── Mission
│ │ └── Reseed.vue
├── store
│ ├── modules
│ │ ├── Status.ts
│ │ ├── Mission.ts
│ │ └── IYUU.ts
│ ├── store-accessor.ts
│ └── index.ts
├── router
│ └── index.ts
└── background.ts
├── .gitignore
├── README.md
├── tsconfig.json
├── vue.config.js
├── .github
└── workflows
│ └── build.yml
└── package.json
/resource/home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rhilip/IYUU-GUI/HEAD/resource/home.png
--------------------------------------------------------------------------------
/resource/login.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rhilip/IYUU-GUI/HEAD/resource/login.png
--------------------------------------------------------------------------------
/resource/mission.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rhilip/IYUU-GUI/HEAD/resource/mission.png
--------------------------------------------------------------------------------
/public/assets/iyuu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rhilip/IYUU-GUI/HEAD/public/assets/iyuu.png
--------------------------------------------------------------------------------
/public/assets/iyuu_gui.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rhilip/IYUU-GUI/HEAD/public/assets/iyuu_gui.png
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/cli-plugin-babel/preset'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/src/shims-vue.d.ts:
--------------------------------------------------------------------------------
1 | declare module '*.vue' {
2 | import Vue from 'vue'
3 | export default Vue
4 | }
5 |
--------------------------------------------------------------------------------
/public/assets/client/deluge.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rhilip/IYUU-GUI/HEAD/public/assets/client/deluge.ico
--------------------------------------------------------------------------------
/src/plugins/uuid.ts:
--------------------------------------------------------------------------------
1 | import Vue from "vue";
2 | import UUID from "vue-uuid";
3 |
4 | // @ts-ignore
5 | Vue.use(UUID);
--------------------------------------------------------------------------------
/public/assets/client/qbittorrent.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rhilip/IYUU-GUI/HEAD/public/assets/client/qbittorrent.ico
--------------------------------------------------------------------------------
/public/assets/client/rutorrent.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rhilip/IYUU-GUI/HEAD/public/assets/client/rutorrent.ico
--------------------------------------------------------------------------------
/public/assets/client/transmission.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rhilip/IYUU-GUI/HEAD/public/assets/client/transmission.ico
--------------------------------------------------------------------------------
/public/assets/donate/Rhilip/alipay.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rhilip/IYUU-GUI/HEAD/public/assets/donate/Rhilip/alipay.jpg
--------------------------------------------------------------------------------
/public/assets/donate/Rhilip/wechat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rhilip/IYUU-GUI/HEAD/public/assets/donate/Rhilip/wechat.png
--------------------------------------------------------------------------------
/public/assets/donate/ledccn/wechat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rhilip/IYUU-GUI/HEAD/public/assets/donate/ledccn/wechat.png
--------------------------------------------------------------------------------
/src/interfaces/store.ts:
--------------------------------------------------------------------------------
1 | // 一些不是很适合放在子项里面的 Vuex 中类型定义
2 |
3 | export interface LogInfo {
4 | timestamp: number,
5 | message: string
6 | }
--------------------------------------------------------------------------------
/src/plugins/dayjs.ts:
--------------------------------------------------------------------------------
1 | import dayjs from 'dayjs'
2 | import duration from 'dayjs/plugin/duration'
3 |
4 | dayjs.extend(duration)
5 |
6 | export default dayjs
--------------------------------------------------------------------------------
/src/plugins/element.ts:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import Element from 'element-ui'
3 | import 'element-ui/lib/theme-chalk/index.css'
4 |
5 | Vue.use(Element)
6 |
--------------------------------------------------------------------------------
/src/main.ts:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './App.vue'
3 |
4 | import store from './store'
5 | import router from './router'
6 |
7 | import './plugins/element.ts'
8 | import './plugins/uuid.ts'
9 |
10 | Vue.config.productionTip = false
11 |
12 | new Vue({
13 | store,
14 | router,
15 | render: h => h(App)
16 | }).$mount('#app')
17 |
--------------------------------------------------------------------------------
/src/shims-tsx.d.ts:
--------------------------------------------------------------------------------
1 | import Vue, { VNode } from 'vue'
2 |
3 | declare global {
4 | namespace JSX {
5 | // tslint:disable no-empty-interface
6 | interface Element extends VNode {}
7 | // tslint:disable no-empty-interface
8 | interface ElementClass extends Vue {}
9 | interface IntrinsicElements {
10 | [elem: string]: any
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /dist
4 |
5 | # local env files
6 | .env.local
7 | .env.*.local
8 |
9 | # Log files
10 | npm-debug.log*
11 | yarn-debug.log*
12 | yarn-error.log*
13 | pnpm-debug.log*
14 |
15 | # Editor directories and files
16 | .idea
17 | .vscode
18 | *.suo
19 | *.ntvs*
20 | *.njsproj
21 | *.sln
22 | *.sw?
23 |
24 | #Electron-builder output
25 | /dist_electron
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 | # IYUU GUI
4 |
5 | 这是一个基于IYUU提供的API,产生的一个可视化操作项目。
6 | 目的是为了降低直接上手PHP版IYUUAutoReseed的难度。
7 |
8 | ## 各级页面预览
9 |
10 | - 登录页
11 |
12 | 
13 |
14 | - 首页
15 |
16 | 
17 |
18 | - 任务启动页
19 |
20 | 
21 |
22 | ## 任务计划
23 |
24 | - [ ] 完善 `IYUU GUI` 的文档
25 | - [ ] 支持转种任务的建立
26 | - [ ] 支持其他类型的下载客户端
27 |
28 |
29 |
--------------------------------------------------------------------------------
/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
4 | {{ title }} 5 |
6 |7 | {{ data }} 8 | 9 | {{ prepend }} 10 | 11 |
12 |{{ formatLogs(logs) }}
51 | https://pt.example.com/download.php?id={}&passkey=abcdefgh2321234323{key}={value};格式 以及 EditCookies插件的导出格式。
5 |