Aria2TUI 0.1.5.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- aria2tui-0.1.5.0/PKG-INFO +160 -0
- aria2tui-0.1.5.0/README.md +132 -0
- aria2tui-0.1.5.0/setup.cfg +29 -0
- aria2tui-0.1.5.0/setup.py +37 -0
- aria2tui-0.1.5.0/src/Aria2TUI.egg-info/PKG-INFO +160 -0
- aria2tui-0.1.5.0/src/Aria2TUI.egg-info/SOURCES.txt +22 -0
- aria2tui-0.1.5.0/src/Aria2TUI.egg-info/dependency_links.txt +1 -0
- aria2tui-0.1.5.0/src/Aria2TUI.egg-info/requires.txt +5 -0
- aria2tui-0.1.5.0/src/Aria2TUI.egg-info/top_level.txt +1 -0
- aria2tui-0.1.5.0/src/aria2tui/__init__.py +0 -0
- aria2tui-0.1.5.0/src/aria2tui/aria2tui_app.py +289 -0
- aria2tui-0.1.5.0/src/aria2tui/graphing/__init__.py +0 -0
- aria2tui-0.1.5.0/src/aria2tui/graphing/speed_graph.py +213 -0
- aria2tui-0.1.5.0/src/aria2tui/graphing/speed_graph_plain_text.py +56 -0
- aria2tui-0.1.5.0/src/aria2tui/lib/__init__.py +0 -0
- aria2tui-0.1.5.0/src/aria2tui/lib/aria2c_wrapper.py +314 -0
- aria2tui-0.1.5.0/src/aria2tui/ui/__init__.py +0 -0
- aria2tui-0.1.5.0/src/aria2tui/ui/aria2_detailing.py +179 -0
- aria2tui-0.1.5.0/src/aria2tui/ui/aria2tui_keys.py +122 -0
- aria2tui-0.1.5.0/src/aria2tui/ui/aria2tui_menu_options.py +145 -0
- aria2tui-0.1.5.0/src/aria2tui/utils/__init__.py +0 -0
- aria2tui-0.1.5.0/src/aria2tui/utils/aria2c_utils.py +943 -0
- aria2tui-0.1.5.0/src/aria2tui/utils/aria_adduri.py +189 -0
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: Aria2TUI
|
|
3
|
+
Version: 0.1.5.0
|
|
4
|
+
Summary: Aria2TUI: A TUI Frontend for the Aria2c Download Manager
|
|
5
|
+
Home-page: https://github.com/grimandgreedy/Aria2TUI
|
|
6
|
+
Author: Grim
|
|
7
|
+
Author-email: grimandgreedy@protonmail.com
|
|
8
|
+
Project-URL: Bug Tracker, https://github.com/grimandgreedy/Aria2TUI/issues
|
|
9
|
+
Classifier: Programming Language :: Python :: 3
|
|
10
|
+
Classifier: Operating System :: Unix
|
|
11
|
+
Requires-Python: >=3.0
|
|
12
|
+
Description-Content-Type: text/markdown
|
|
13
|
+
Requires-Dist: plotille
|
|
14
|
+
Requires-Dist: Requests
|
|
15
|
+
Requires-Dist: tabulate
|
|
16
|
+
Requires-Dist: toml
|
|
17
|
+
Requires-Dist: listpick
|
|
18
|
+
Dynamic: author
|
|
19
|
+
Dynamic: author-email
|
|
20
|
+
Dynamic: classifier
|
|
21
|
+
Dynamic: description
|
|
22
|
+
Dynamic: description-content-type
|
|
23
|
+
Dynamic: home-page
|
|
24
|
+
Dynamic: project-url
|
|
25
|
+
Dynamic: requires-dist
|
|
26
|
+
Dynamic: requires-python
|
|
27
|
+
Dynamic: summary
|
|
28
|
+
|
|
29
|
+
# Aria2TUI
|
|
30
|
+
|
|
31
|
+
Aria2TUI is a TUI frontend for the Aria2 download utility.
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
https://github.com/user-attachments/assets/07ab1f63-3a5e-42dd-bddb-56c948ecd620
|
|
35
|
+
|
|
36
|
+
## Quickstart
|
|
37
|
+
|
|
38
|
+
Aria2TUI fetches the download data from the aria2c daemon over RPC and displays it using list_picker. As both Aria2TUI and list_picker are in active development you will need to clone both repositories.
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
git clone https://github.com/grimandgreedy/Aria2TUI
|
|
42
|
+
|
|
43
|
+
cd Aria2TUI && python -m pip install -r requirements
|
|
44
|
+
|
|
45
|
+
cd ..
|
|
46
|
+
|
|
47
|
+
git clone https://github.com/grimandgreedy/list_picker
|
|
48
|
+
|
|
49
|
+
cd list_picker && python -m pip install -r requirements
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Edit the config.toml in the aria2tui repo and make sure your url, port, and secret token are correct.
|
|
53
|
+
|
|
54
|
+
- Note that starting/restarting the aria2 daemon is done using systemd by default. There is a sample service file that you can put in ~/.config/systemd/user/. You can also change the cmds that are run in the config.
|
|
55
|
+
|
|
56
|
+
Navigate to the aria2tui repo and run aria2tui.py
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
python aria2tui.py
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
or if you have multiple daemons you can specify another config file:
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
ARIA2TUI_CONFIG_PATH=/path/to/config/aria2c_torrents.toml python aria2tui.py
|
|
66
|
+
|
|
67
|
+
ARIA2TUI_CONFIG_PATH=/path/to/config/aria_on_home_server_config.toml python aria2tui.py
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
If you wish to use it regularly, then for the moment the best way to make it accessible to your PATH is to simply add aliases to your ~/.bashrc.
|
|
71
|
+
```
|
|
72
|
+
alias a2="python /path/to/Aria2TUI/aria2tui.py"
|
|
73
|
+
|
|
74
|
+
alias a2t="ARIA2TUI_CONFIG_PATH=/path/to/config/aria2c_torrents.toml python /path/to/Aria2TUI/aria2tui.py"
|
|
75
|
+
|
|
76
|
+
alias a2n="ARIA2TUI_CONFIG_PATH=/path/to/config/aria_on_home_server_config.toml python /path/to/Aria2TUI/aria2tui.py"
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
in addition to those requirements the application uses:
|
|
80
|
+
- `yazi` for opening download locations
|
|
81
|
+
- `nvim` for viewing/editing download options as well as adding URIs, magnet links and torrent files
|
|
82
|
+
- `xdg-open` and `gio` for opening files.
|
|
83
|
+
|
|
84
|
+
## Tips
|
|
85
|
+
|
|
86
|
+
- Press '?' to see the help page which will list the available keys.
|
|
87
|
+
|
|
88
|
+
## Features
|
|
89
|
+
|
|
90
|
+
- Dynamic display of downloads
|
|
91
|
+
- View active, queue, errored, stopped
|
|
92
|
+
- Sort/filter/search using regular expressions
|
|
93
|
+
- Add downloads with options
|
|
94
|
+
- Simply dump a list of links;
|
|
95
|
+
- or specify options:
|
|
96
|
+
- proxy
|
|
97
|
+
- User agent
|
|
98
|
+
- ... Many more!
|
|
99
|
+
- See [this section of the aria2c manual](https://aria2.github.io/manual/en/html/aria2c.html#input-file) for all available options all of which are supported
|
|
100
|
+
- Add magnet links and torrent files
|
|
101
|
+
- Operations on downloads:
|
|
102
|
+
- Pause/unpause
|
|
103
|
+
- Remove
|
|
104
|
+
- Change position in queue
|
|
105
|
+
- Open downloaded files
|
|
106
|
+
- Open download location (with yazi)
|
|
107
|
+
- Change download options by value of keys in nvim
|
|
108
|
+
|
|
109
|
+
- Select download(s) you wish to change the value
|
|
110
|
+
- Change save directory
|
|
111
|
+
- Specify proxy, proxy user, and proxy password
|
|
112
|
+
- Specify user-agent
|
|
113
|
+
- Specify download piece length
|
|
114
|
+
- ... Many more!
|
|
115
|
+
- See [this section of the aria2c manual](https://aria2.github.io/manual/en/html/aria2c.html#input-file) for all available options all of which are supported.
|
|
116
|
+
|
|
117
|
+
<div align="center"> <img src="assets/change_options.gif" alt="change_options" width="70%"> </div>
|
|
118
|
+
|
|
119
|
+
- View current options of download
|
|
120
|
+
- Retry download
|
|
121
|
+
- Interact with aria2 daemon
|
|
122
|
+
- Edit config
|
|
123
|
+
- Pause all
|
|
124
|
+
- Restart aria
|
|
125
|
+
- Global and particular download transfer speed *graphs*.
|
|
126
|
+
|
|
127
|
+
<div align="center"> <img src="assets/transfer_speed_graph.png" alt="speed_graph" width="70%"> </div>
|
|
128
|
+
|
|
129
|
+
- Visual options
|
|
130
|
+
- Modify theme
|
|
131
|
+
- '~' to view settings and then select theme
|
|
132
|
+
|
|
133
|
+
<div align="center"> <img src="assets/themes.png" alt="themes" width="70%"> </div>
|
|
134
|
+
|
|
135
|
+
- Show/hide columns
|
|
136
|
+
- Press Shift+Column_number to toggle or press '~' to view settings and find the column you wish to toggle.
|
|
137
|
+
- Quick-toggle footer: press '_'
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
## Important
|
|
141
|
+
|
|
142
|
+
While I use Aria2TUI every day, it is still in development and there are many things that still need to be cleaned up.
|
|
143
|
+
|
|
144
|
+
Some things that should be mentioned:
|
|
145
|
+
|
|
146
|
+
- Realistically Aria2TUI will only work in a UNIX (linux, macos) environment. If you register your interest I might be able to look into what I would need to change.
|
|
147
|
+
- If you are performing bulk operations and the downloads are changing state rapidly--e.g., hundreds of images are changing from active/waiting to completed--it is recommended to stop the auto-refresh and operate on a static list.
|
|
148
|
+
- This can be done by either:
|
|
149
|
+
- exiting to the main menu ('q') and going to "View Downloads"; or
|
|
150
|
+
- Pressing ~ and toggling the auto-refresh in the default "Watch Downloads" viewer.
|
|
151
|
+
- You know that auto-refresh is active because there is a refresh symbol in the top right.
|
|
152
|
+
- Note: This was created for personal use and so some of the code is quite ugly and/or buggy and simply needs to be re-written.
|
|
153
|
+
|
|
154
|
+
## Similar Projects
|
|
155
|
+
|
|
156
|
+
- [Ariang](https://github.com/mayswind/AriaNg) A web client for aria2c.
|
|
157
|
+
|
|
158
|
+
## Support and Feedback
|
|
159
|
+
|
|
160
|
+
Feel free to request features. Please report any errors you encounter with appropriate context.
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# Aria2TUI
|
|
2
|
+
|
|
3
|
+
Aria2TUI is a TUI frontend for the Aria2 download utility.
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
https://github.com/user-attachments/assets/07ab1f63-3a5e-42dd-bddb-56c948ecd620
|
|
7
|
+
|
|
8
|
+
## Quickstart
|
|
9
|
+
|
|
10
|
+
Aria2TUI fetches the download data from the aria2c daemon over RPC and displays it using list_picker. As both Aria2TUI and list_picker are in active development you will need to clone both repositories.
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
git clone https://github.com/grimandgreedy/Aria2TUI
|
|
14
|
+
|
|
15
|
+
cd Aria2TUI && python -m pip install -r requirements
|
|
16
|
+
|
|
17
|
+
cd ..
|
|
18
|
+
|
|
19
|
+
git clone https://github.com/grimandgreedy/list_picker
|
|
20
|
+
|
|
21
|
+
cd list_picker && python -m pip install -r requirements
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Edit the config.toml in the aria2tui repo and make sure your url, port, and secret token are correct.
|
|
25
|
+
|
|
26
|
+
- Note that starting/restarting the aria2 daemon is done using systemd by default. There is a sample service file that you can put in ~/.config/systemd/user/. You can also change the cmds that are run in the config.
|
|
27
|
+
|
|
28
|
+
Navigate to the aria2tui repo and run aria2tui.py
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
python aria2tui.py
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
or if you have multiple daemons you can specify another config file:
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
ARIA2TUI_CONFIG_PATH=/path/to/config/aria2c_torrents.toml python aria2tui.py
|
|
38
|
+
|
|
39
|
+
ARIA2TUI_CONFIG_PATH=/path/to/config/aria_on_home_server_config.toml python aria2tui.py
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
If you wish to use it regularly, then for the moment the best way to make it accessible to your PATH is to simply add aliases to your ~/.bashrc.
|
|
43
|
+
```
|
|
44
|
+
alias a2="python /path/to/Aria2TUI/aria2tui.py"
|
|
45
|
+
|
|
46
|
+
alias a2t="ARIA2TUI_CONFIG_PATH=/path/to/config/aria2c_torrents.toml python /path/to/Aria2TUI/aria2tui.py"
|
|
47
|
+
|
|
48
|
+
alias a2n="ARIA2TUI_CONFIG_PATH=/path/to/config/aria_on_home_server_config.toml python /path/to/Aria2TUI/aria2tui.py"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
in addition to those requirements the application uses:
|
|
52
|
+
- `yazi` for opening download locations
|
|
53
|
+
- `nvim` for viewing/editing download options as well as adding URIs, magnet links and torrent files
|
|
54
|
+
- `xdg-open` and `gio` for opening files.
|
|
55
|
+
|
|
56
|
+
## Tips
|
|
57
|
+
|
|
58
|
+
- Press '?' to see the help page which will list the available keys.
|
|
59
|
+
|
|
60
|
+
## Features
|
|
61
|
+
|
|
62
|
+
- Dynamic display of downloads
|
|
63
|
+
- View active, queue, errored, stopped
|
|
64
|
+
- Sort/filter/search using regular expressions
|
|
65
|
+
- Add downloads with options
|
|
66
|
+
- Simply dump a list of links;
|
|
67
|
+
- or specify options:
|
|
68
|
+
- proxy
|
|
69
|
+
- User agent
|
|
70
|
+
- ... Many more!
|
|
71
|
+
- See [this section of the aria2c manual](https://aria2.github.io/manual/en/html/aria2c.html#input-file) for all available options all of which are supported
|
|
72
|
+
- Add magnet links and torrent files
|
|
73
|
+
- Operations on downloads:
|
|
74
|
+
- Pause/unpause
|
|
75
|
+
- Remove
|
|
76
|
+
- Change position in queue
|
|
77
|
+
- Open downloaded files
|
|
78
|
+
- Open download location (with yazi)
|
|
79
|
+
- Change download options by value of keys in nvim
|
|
80
|
+
|
|
81
|
+
- Select download(s) you wish to change the value
|
|
82
|
+
- Change save directory
|
|
83
|
+
- Specify proxy, proxy user, and proxy password
|
|
84
|
+
- Specify user-agent
|
|
85
|
+
- Specify download piece length
|
|
86
|
+
- ... Many more!
|
|
87
|
+
- See [this section of the aria2c manual](https://aria2.github.io/manual/en/html/aria2c.html#input-file) for all available options all of which are supported.
|
|
88
|
+
|
|
89
|
+
<div align="center"> <img src="assets/change_options.gif" alt="change_options" width="70%"> </div>
|
|
90
|
+
|
|
91
|
+
- View current options of download
|
|
92
|
+
- Retry download
|
|
93
|
+
- Interact with aria2 daemon
|
|
94
|
+
- Edit config
|
|
95
|
+
- Pause all
|
|
96
|
+
- Restart aria
|
|
97
|
+
- Global and particular download transfer speed *graphs*.
|
|
98
|
+
|
|
99
|
+
<div align="center"> <img src="assets/transfer_speed_graph.png" alt="speed_graph" width="70%"> </div>
|
|
100
|
+
|
|
101
|
+
- Visual options
|
|
102
|
+
- Modify theme
|
|
103
|
+
- '~' to view settings and then select theme
|
|
104
|
+
|
|
105
|
+
<div align="center"> <img src="assets/themes.png" alt="themes" width="70%"> </div>
|
|
106
|
+
|
|
107
|
+
- Show/hide columns
|
|
108
|
+
- Press Shift+Column_number to toggle or press '~' to view settings and find the column you wish to toggle.
|
|
109
|
+
- Quick-toggle footer: press '_'
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
## Important
|
|
113
|
+
|
|
114
|
+
While I use Aria2TUI every day, it is still in development and there are many things that still need to be cleaned up.
|
|
115
|
+
|
|
116
|
+
Some things that should be mentioned:
|
|
117
|
+
|
|
118
|
+
- Realistically Aria2TUI will only work in a UNIX (linux, macos) environment. If you register your interest I might be able to look into what I would need to change.
|
|
119
|
+
- If you are performing bulk operations and the downloads are changing state rapidly--e.g., hundreds of images are changing from active/waiting to completed--it is recommended to stop the auto-refresh and operate on a static list.
|
|
120
|
+
- This can be done by either:
|
|
121
|
+
- exiting to the main menu ('q') and going to "View Downloads"; or
|
|
122
|
+
- Pressing ~ and toggling the auto-refresh in the default "Watch Downloads" viewer.
|
|
123
|
+
- You know that auto-refresh is active because there is a refresh symbol in the top right.
|
|
124
|
+
- Note: This was created for personal use and so some of the code is quite ugly and/or buggy and simply needs to be re-written.
|
|
125
|
+
|
|
126
|
+
## Similar Projects
|
|
127
|
+
|
|
128
|
+
- [Ariang](https://github.com/mayswind/AriaNg) A web client for aria2c.
|
|
129
|
+
|
|
130
|
+
## Support and Feedback
|
|
131
|
+
|
|
132
|
+
Feel free to request features. Please report any errors you encounter with appropriate context.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
[metadata]
|
|
2
|
+
name = Aria2TUI
|
|
3
|
+
version = 0.1.5
|
|
4
|
+
author = Grim
|
|
5
|
+
author_email = grimandgreedy@protonmail.com
|
|
6
|
+
description = Aria2TUI: A TUI Frontend for the Aria2c Download Manager
|
|
7
|
+
long_description = file: README.md
|
|
8
|
+
long_description_content_type = text/markdown
|
|
9
|
+
url = https://github.com/grimandgreedy/Aria2TUI
|
|
10
|
+
project_urls =
|
|
11
|
+
Bug Tracker = https://github.com/grimandgreedy/Aria2TUI/issues
|
|
12
|
+
repository = https://github.com/grimandgreedy/Aria2TUI
|
|
13
|
+
classifiers =
|
|
14
|
+
Programming Language :: Python :: 3
|
|
15
|
+
Operating System :: UNIX
|
|
16
|
+
|
|
17
|
+
[options]
|
|
18
|
+
package_dir =
|
|
19
|
+
= aria2tui
|
|
20
|
+
packages = find:
|
|
21
|
+
python_requires = >=3.1
|
|
22
|
+
|
|
23
|
+
[options.packages.find]
|
|
24
|
+
where = aria2tui
|
|
25
|
+
|
|
26
|
+
[egg_info]
|
|
27
|
+
tag_build =
|
|
28
|
+
tag_date = 0
|
|
29
|
+
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import setuptools
|
|
2
|
+
|
|
3
|
+
with open("README.md", "r", encoding = "utf-8") as fh:
|
|
4
|
+
long_description = fh.read()
|
|
5
|
+
|
|
6
|
+
required = [
|
|
7
|
+
"plotille",
|
|
8
|
+
"Requests",
|
|
9
|
+
"tabulate",
|
|
10
|
+
"toml",
|
|
11
|
+
"listpick",
|
|
12
|
+
],
|
|
13
|
+
|
|
14
|
+
setuptools.setup(
|
|
15
|
+
name = "Aria2TUI",
|
|
16
|
+
version = "0.1.5.0",
|
|
17
|
+
author = "Grim",
|
|
18
|
+
author_email = "grimandgreedy@protonmail.com",
|
|
19
|
+
description = "Aria2TUI: A TUI Frontend for the Aria2c Download Manager",
|
|
20
|
+
long_description = long_description,
|
|
21
|
+
long_description_content_type = "text/markdown",
|
|
22
|
+
url = "https://github.com/grimandgreedy/Aria2TUI",
|
|
23
|
+
project_urls = {
|
|
24
|
+
"Bug Tracker": "https://github.com/grimandgreedy/Aria2TUI/issues",
|
|
25
|
+
},
|
|
26
|
+
classifiers = [
|
|
27
|
+
"Programming Language :: Python :: 3",
|
|
28
|
+
# "License :: OSI Approved :: MIT License",
|
|
29
|
+
"Operating System :: Unix",
|
|
30
|
+
],
|
|
31
|
+
package_dir = {"": "src"},
|
|
32
|
+
packages = setuptools.find_packages(where="src"),
|
|
33
|
+
# package_dir = {"": "src"},
|
|
34
|
+
# packages = setuptools.find_packages(where="src"),
|
|
35
|
+
python_requires = ">=3.0",
|
|
36
|
+
install_requires = required,
|
|
37
|
+
)
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: Aria2TUI
|
|
3
|
+
Version: 0.1.5.0
|
|
4
|
+
Summary: Aria2TUI: A TUI Frontend for the Aria2c Download Manager
|
|
5
|
+
Home-page: https://github.com/grimandgreedy/Aria2TUI
|
|
6
|
+
Author: Grim
|
|
7
|
+
Author-email: grimandgreedy@protonmail.com
|
|
8
|
+
Project-URL: Bug Tracker, https://github.com/grimandgreedy/Aria2TUI/issues
|
|
9
|
+
Classifier: Programming Language :: Python :: 3
|
|
10
|
+
Classifier: Operating System :: Unix
|
|
11
|
+
Requires-Python: >=3.0
|
|
12
|
+
Description-Content-Type: text/markdown
|
|
13
|
+
Requires-Dist: plotille
|
|
14
|
+
Requires-Dist: Requests
|
|
15
|
+
Requires-Dist: tabulate
|
|
16
|
+
Requires-Dist: toml
|
|
17
|
+
Requires-Dist: listpick
|
|
18
|
+
Dynamic: author
|
|
19
|
+
Dynamic: author-email
|
|
20
|
+
Dynamic: classifier
|
|
21
|
+
Dynamic: description
|
|
22
|
+
Dynamic: description-content-type
|
|
23
|
+
Dynamic: home-page
|
|
24
|
+
Dynamic: project-url
|
|
25
|
+
Dynamic: requires-dist
|
|
26
|
+
Dynamic: requires-python
|
|
27
|
+
Dynamic: summary
|
|
28
|
+
|
|
29
|
+
# Aria2TUI
|
|
30
|
+
|
|
31
|
+
Aria2TUI is a TUI frontend for the Aria2 download utility.
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
https://github.com/user-attachments/assets/07ab1f63-3a5e-42dd-bddb-56c948ecd620
|
|
35
|
+
|
|
36
|
+
## Quickstart
|
|
37
|
+
|
|
38
|
+
Aria2TUI fetches the download data from the aria2c daemon over RPC and displays it using list_picker. As both Aria2TUI and list_picker are in active development you will need to clone both repositories.
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
git clone https://github.com/grimandgreedy/Aria2TUI
|
|
42
|
+
|
|
43
|
+
cd Aria2TUI && python -m pip install -r requirements
|
|
44
|
+
|
|
45
|
+
cd ..
|
|
46
|
+
|
|
47
|
+
git clone https://github.com/grimandgreedy/list_picker
|
|
48
|
+
|
|
49
|
+
cd list_picker && python -m pip install -r requirements
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Edit the config.toml in the aria2tui repo and make sure your url, port, and secret token are correct.
|
|
53
|
+
|
|
54
|
+
- Note that starting/restarting the aria2 daemon is done using systemd by default. There is a sample service file that you can put in ~/.config/systemd/user/. You can also change the cmds that are run in the config.
|
|
55
|
+
|
|
56
|
+
Navigate to the aria2tui repo and run aria2tui.py
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
python aria2tui.py
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
or if you have multiple daemons you can specify another config file:
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
ARIA2TUI_CONFIG_PATH=/path/to/config/aria2c_torrents.toml python aria2tui.py
|
|
66
|
+
|
|
67
|
+
ARIA2TUI_CONFIG_PATH=/path/to/config/aria_on_home_server_config.toml python aria2tui.py
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
If you wish to use it regularly, then for the moment the best way to make it accessible to your PATH is to simply add aliases to your ~/.bashrc.
|
|
71
|
+
```
|
|
72
|
+
alias a2="python /path/to/Aria2TUI/aria2tui.py"
|
|
73
|
+
|
|
74
|
+
alias a2t="ARIA2TUI_CONFIG_PATH=/path/to/config/aria2c_torrents.toml python /path/to/Aria2TUI/aria2tui.py"
|
|
75
|
+
|
|
76
|
+
alias a2n="ARIA2TUI_CONFIG_PATH=/path/to/config/aria_on_home_server_config.toml python /path/to/Aria2TUI/aria2tui.py"
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
in addition to those requirements the application uses:
|
|
80
|
+
- `yazi` for opening download locations
|
|
81
|
+
- `nvim` for viewing/editing download options as well as adding URIs, magnet links and torrent files
|
|
82
|
+
- `xdg-open` and `gio` for opening files.
|
|
83
|
+
|
|
84
|
+
## Tips
|
|
85
|
+
|
|
86
|
+
- Press '?' to see the help page which will list the available keys.
|
|
87
|
+
|
|
88
|
+
## Features
|
|
89
|
+
|
|
90
|
+
- Dynamic display of downloads
|
|
91
|
+
- View active, queue, errored, stopped
|
|
92
|
+
- Sort/filter/search using regular expressions
|
|
93
|
+
- Add downloads with options
|
|
94
|
+
- Simply dump a list of links;
|
|
95
|
+
- or specify options:
|
|
96
|
+
- proxy
|
|
97
|
+
- User agent
|
|
98
|
+
- ... Many more!
|
|
99
|
+
- See [this section of the aria2c manual](https://aria2.github.io/manual/en/html/aria2c.html#input-file) for all available options all of which are supported
|
|
100
|
+
- Add magnet links and torrent files
|
|
101
|
+
- Operations on downloads:
|
|
102
|
+
- Pause/unpause
|
|
103
|
+
- Remove
|
|
104
|
+
- Change position in queue
|
|
105
|
+
- Open downloaded files
|
|
106
|
+
- Open download location (with yazi)
|
|
107
|
+
- Change download options by value of keys in nvim
|
|
108
|
+
|
|
109
|
+
- Select download(s) you wish to change the value
|
|
110
|
+
- Change save directory
|
|
111
|
+
- Specify proxy, proxy user, and proxy password
|
|
112
|
+
- Specify user-agent
|
|
113
|
+
- Specify download piece length
|
|
114
|
+
- ... Many more!
|
|
115
|
+
- See [this section of the aria2c manual](https://aria2.github.io/manual/en/html/aria2c.html#input-file) for all available options all of which are supported.
|
|
116
|
+
|
|
117
|
+
<div align="center"> <img src="assets/change_options.gif" alt="change_options" width="70%"> </div>
|
|
118
|
+
|
|
119
|
+
- View current options of download
|
|
120
|
+
- Retry download
|
|
121
|
+
- Interact with aria2 daemon
|
|
122
|
+
- Edit config
|
|
123
|
+
- Pause all
|
|
124
|
+
- Restart aria
|
|
125
|
+
- Global and particular download transfer speed *graphs*.
|
|
126
|
+
|
|
127
|
+
<div align="center"> <img src="assets/transfer_speed_graph.png" alt="speed_graph" width="70%"> </div>
|
|
128
|
+
|
|
129
|
+
- Visual options
|
|
130
|
+
- Modify theme
|
|
131
|
+
- '~' to view settings and then select theme
|
|
132
|
+
|
|
133
|
+
<div align="center"> <img src="assets/themes.png" alt="themes" width="70%"> </div>
|
|
134
|
+
|
|
135
|
+
- Show/hide columns
|
|
136
|
+
- Press Shift+Column_number to toggle or press '~' to view settings and find the column you wish to toggle.
|
|
137
|
+
- Quick-toggle footer: press '_'
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
## Important
|
|
141
|
+
|
|
142
|
+
While I use Aria2TUI every day, it is still in development and there are many things that still need to be cleaned up.
|
|
143
|
+
|
|
144
|
+
Some things that should be mentioned:
|
|
145
|
+
|
|
146
|
+
- Realistically Aria2TUI will only work in a UNIX (linux, macos) environment. If you register your interest I might be able to look into what I would need to change.
|
|
147
|
+
- If you are performing bulk operations and the downloads are changing state rapidly--e.g., hundreds of images are changing from active/waiting to completed--it is recommended to stop the auto-refresh and operate on a static list.
|
|
148
|
+
- This can be done by either:
|
|
149
|
+
- exiting to the main menu ('q') and going to "View Downloads"; or
|
|
150
|
+
- Pressing ~ and toggling the auto-refresh in the default "Watch Downloads" viewer.
|
|
151
|
+
- You know that auto-refresh is active because there is a refresh symbol in the top right.
|
|
152
|
+
- Note: This was created for personal use and so some of the code is quite ugly and/or buggy and simply needs to be re-written.
|
|
153
|
+
|
|
154
|
+
## Similar Projects
|
|
155
|
+
|
|
156
|
+
- [Ariang](https://github.com/mayswind/AriaNg) A web client for aria2c.
|
|
157
|
+
|
|
158
|
+
## Support and Feedback
|
|
159
|
+
|
|
160
|
+
Feel free to request features. Please report any errors you encounter with appropriate context.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
README.md
|
|
2
|
+
setup.cfg
|
|
3
|
+
setup.py
|
|
4
|
+
src/Aria2TUI.egg-info/PKG-INFO
|
|
5
|
+
src/Aria2TUI.egg-info/SOURCES.txt
|
|
6
|
+
src/Aria2TUI.egg-info/dependency_links.txt
|
|
7
|
+
src/Aria2TUI.egg-info/requires.txt
|
|
8
|
+
src/Aria2TUI.egg-info/top_level.txt
|
|
9
|
+
src/aria2tui/__init__.py
|
|
10
|
+
src/aria2tui/aria2tui_app.py
|
|
11
|
+
src/aria2tui/graphing/__init__.py
|
|
12
|
+
src/aria2tui/graphing/speed_graph.py
|
|
13
|
+
src/aria2tui/graphing/speed_graph_plain_text.py
|
|
14
|
+
src/aria2tui/lib/__init__.py
|
|
15
|
+
src/aria2tui/lib/aria2c_wrapper.py
|
|
16
|
+
src/aria2tui/ui/__init__.py
|
|
17
|
+
src/aria2tui/ui/aria2_detailing.py
|
|
18
|
+
src/aria2tui/ui/aria2tui_keys.py
|
|
19
|
+
src/aria2tui/ui/aria2tui_menu_options.py
|
|
20
|
+
src/aria2tui/utils/__init__.py
|
|
21
|
+
src/aria2tui/utils/aria2c_utils.py
|
|
22
|
+
src/aria2tui/utils/aria_adduri.py
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
aria2tui
|
|
File without changes
|