Archived

This topic is now archived and is closed to further replies.

psychowood

ng-torrent-ui : An alternative WebUI - multilanguage - with the classical UI also embedded (continued)

Recommended Posts

-- Continued from the previous topic since it was archived.

 

Hi all,

Recently I invested some time to create a WebUI that fitted more my needs. Since I found out it works quite well, I decided to share it  :)

 

Just a small introduction about why I decided to start this project:

  • I'm using uTorrent on a very low power box
  • I use to queue lots, and I mean lots, of torrents (right now 7k, more or less), because I prefer to download massively from RSS feeds and then filter manually what I want to start
  • The official WebUI, even if it served well for a long time, it is starting to feel slow and unconfortable to use (filtering, queue cleaning, multiple selections not working well with filters applied, context menu broken on the latest OS X Chrome releases)
  • I'm experiencing performance issues because of the previous points
  • I wanted a mobile interface
  • I wanted the ability to browse between torrents easily, with more filters (l33t and scene format parsing)
  • I'm stuck with uTorrent 2.2.1 for various reasons, and the official WebUI does not like it so much

The webui.zip can be downloaded from the github repo.

 
If you want to see it in action, you can test it on the demo page. It's just a demo with a randomly generated download queue, without a real backend. You can play with the frontend, just don't expect the downloads to change status or to complete  :)
 
favicon.png?raw=true   ng-torrent-ui

v0.7.1

- Added: Highlight sorted value
- Fixed: Drag'n'drop supported file types (some platforms did not accept .torrent files)
- Fixed: Version not reported when opening a new issue
- Fixed: Correct version number not shown when using Live version

v0.7.0

- Added: Persist filters and sort order when refreshing the page
- Added: Download button (for completed files) from details dialog (requires uTorrent 3). You can also copy (long tap or right click) the link and open it in a video player to stream the file without downloading it (tested with VLC)
- Added: Ratio column
- Fixed: Reversed up/down queue buttons actions
- Added: Error message on torrent loading (usually when session expired)

v0.6.7

- Fixed: minor (major?) compatibility issues with non-Chrome browsers.

v0.6.6

- Added: a second tap on lens icon (direct search) toggles between filter active/not active
- Fixed: Some dialogs stopped working after last update (sorry about that)
- Fixed: Select all checkbox in Details Dialog -> Torrent Files

v0.6.5

  • Added Fuzzy search (try to show similar torrents using a guess search: e.g. ignoring episode number and quality suffixes like '1080p'). This is the default when selecting the direct search button for non-starred torrents.
  • First steps to generalize ng-torrent-ui to be used with other apps besides uTorrent (sorry, live version will break if you don't have at least 0.6.5).
  • Minor fixes 

v0.6.0

  • Added Direct search button: if selected on a favorite torrent, it will filter by its "favorite name"; on a non-favorite torrent, it will search by its full name
  • Added Actions menu (tap on the status column) with direct access to main actions
  • Fixed "live" version (resources moved to github-pages) 

v0.5.5

  • Added long press/tap to select multiple torrents (same as shift key)
  • Added clickable QRCode with magnet link in details dialog
  • Added tap to label icon on torrent row to set label filter directly
  • Added social sharing tab (shares magnet link, using a github page as a proxy to allow url shortening in twitter/faceboook/...). Not really tested besides the main socials.

v0.5.0

  • Added Save/Load Favorites to uTorrent, to sync data between different clients
  • Added Sort by Favorite status (starred torrents first/last)
  • Added Trackers in Detail Dialog
  • Added ETA column and in Detail Dialog
  • Fixed width problems on Firefox
  • Added preference to prevent filename automatic filtering of separators
  • Sort by Name when current sort is not available (e.g. queue position for completed torrents)

v0.4.5

  • Added "Favorites" torrents: define a set of tags that, will highlight all matching torrents. Define tags by tapping on the star or going into Preferences. Favorites are saved in cookies.
  • Revised preferences section (ng-torrent-ui, uTorrent, Advanced)
  • Added "Clear all filters" button
  • Show applied "label" and "status" ffilte

v0.4.0

  • Added "Preferences" tab to view and edit uTorrent settings
  • Added support for homescreen pinning (browser menu -> add to HomeScreen on mobile) with dedicated icon and fullscreen view
  • Added 'No label' filter
  • Added 'Status: error' filter
  • Fix for uTorrent bad character handling (caused crash of both ng-torrent-un and official WebUI)
  • Prevent text highlighting when selecting on grid

v0.3.4

  • Added 'availability' in grid (in seeds/peers column) and details dialog
  • Added 'added on' in grid and details dialog (uTorrent 3+)
  • Added 'completed on' in details dialog (uTorrent 3+)
  • Added 'save as' (download location) in details dialog (uTorrent 3+)
  • Better grid auto-height handling
  • Fixed minor typos
v0.3.3
  • Added selection for download location when adding a torrent (needs uTorrent 3+)
v0.3.2
  • Better responsive support (almost complete rewrite of the toolbar), support for multiple resolutions and fit longer texts (e.g. Russian translations)
  • Added tooltips for action buttons
  • Changed label presentation: added colored tag icon, works well for less than 16 labels. Label color is assigned based on torrent quantity, to preserve color between different sessions
  • Added self-updating url: point yout browser to /gui/latest.html to always get the latest version without having to update the webui.zip file! (BETA); needs internet access from the browser to work.
v0.3.1
  • Added: Server version in header
  • Fixed: Language not recognized before first set
  • Support for multi-value strings (caused problems with russian language) [thanks *lukas-by*]
  • Fixed: notification for newer version after update
v0.3.0
  • Added: Inherited translations from uTorrent resource files. Jump to 47 supported languages  :) (Various strings missing, I'll need help from the community to complete).
v0.2.9
  • Added: Report issue via mail
  • Added: Online new version check (using GitHub API to check releases)

v0.2.8

  • Added: Report issue in the About tab
  • Fixed: Touch not recognized on mobile devices in torrent details modal
  • Added: Remove label
  • Added: Create new label
  • Fixed: Set label for multiple torrents
  • Added: upload of torrent files (not supported for uTorrent 2.X)
  • Added: close button in torrent details modal
  • First tests with the current uTorrent (v3.4.2 build 37594)
v0.2.7 
  • Added: change file priority and files filter in torrent details
  • Added: Global speed tracking
  • Better responsive reflowing
v0.2.6 
  • Embedded the classic WebUI, v0.388, the latest version found in the official uTorrent forum. It can be reached at /gui/classic/index.html and is also linked in the 'About' tab), just in case you don't feel comfortable enough to completely leave the old way  :) .
  • GZipped files in the uTorrent release (less than half of the previous archive size)
  • Minor graphical glitches fixed
 
v0.2.5 
  • Show primary label the grid
  • Show seeds/peers in grid
  • Show torrent details with properties and files list
  • Fixed name filter with spaces
  • Fixed non working actions (queue up/down, recheck)
 
v0.2.0 
  • Got a brand new logo. Deserved a version bump.  :)
  • Reference to G+ community
  • Multiple selection with Shift key modifier
  • New filter: Show only selected torrents
  • New filter: Filter by status (downloading, seeding, paused, ...)
  • L33t filter rewrite
  • Angular version upgraded to 1.3.6
  • Pruned unused dependencies
 
 
v0.1.0 
  • Generinc information os download status (progress, size, current speed, queue position)
  • Reponsive design (mobile and desktop views)
  • Custimizable auto-refresh time
  • Non-paged list (virtual scrolling, on-demand rendering of a row, supports for high number of rows with limited impact)
  • Name filtering with l33t support ('arrow' finds both 'ARROW' and '4RR0W')
  • Label filtering
  • Basic name cleanup (replacement of . and _ with spaces, moving of [...] tags after the name
  • Basic operations (start/pause/stop/force/remove/queue moving)
  • Multiple selection of torrents, even on different searches, to apply batch operations
  • Add torrent by url (http and magnet)
  • Ctrl/Cmd multiple selection
  • Sortable headers (queue, name, downloaded %, size, up speed, down speed)

 

I've been using it as my daily driver for some time now, without any kind of problems. Even so, use with care, I'm not responsible for any kind of data loss that could occur (not that it should   :) ).

 

Let me know what you think about it, if you care.

Share this post


Link to post
Share on other sites

hello, I just tried your new gui and I like it very much, but I noticed what I think to be a bug

if I select a bunch of torrents and stop them they stop fine, but if I use the "select all" checkbox (with 20 torrents or so in queue) it does not work, neither stop nor resume

otherwise it's really a good substitute for the default one!

hope you can fix it :)

Share this post


Link to post
Share on other sites

@Frankino sorry for the very late reply, I didn't receive any kind of notification... Happy to hear that you solved the issue!

And, by the way... v0.5.0 released :)

- Added Save/Load Favorites to uTorrent, to sync data between different clients
- Added Sort by Favorite status (starred torrents first/last)
- Added Trackers in Detail Dialog
- Added ETA column and in Detail Dialog
- Fixed width problems on Firefox
- Added preference to prevent filename automatic filtering of separators
- Sort by Name when current sort is not available (e.g. queue position for completed torrents)

Share this post


Link to post
Share on other sites

Here's a (useless?) social release!

v0.5.5

- Added long press/tap to select multiple torrents (same as shift key)
- Added clickable QRCode with magnet link in details dialog
- Added tap to label icon on torrent row to set label filter directly
- Added social sharing tab (shares magnet link, using a github page as a proxy to allow url shortening in twitter/faceboook/...). Not really tested besides the main socials.

Share this post


Link to post
Share on other sites

v0.6.0

  • Added Direct search button: if selected on a favorite torrent, it will filter by its "favorite name"; on a non-favorite torrent, it will search by its full name
  • Added Actions menu (tap on the status column) with direct access to main actions
  • Fixed "live" version (resources moved to github-pages) 

Share this post


Link to post
Share on other sites

v0.6.5

 

  • Added Fuzzy search (try to show similar torrents using a guess search: e.g. ignoring episode number and quality suffixes like '1080p'). This is the default when selecting the direct search button for non-starred torrents.
  • First steps to generalize ng-torrent-ui to be used with other apps besides uTorrent (sorry, live version will break if you don't have at least 0.6.5).
  • Minor fixes 

Share this post


Link to post
Share on other sites

v0.6.6

- Added: a second tap on lens icon (direct search) toggles between filter active/not active
- Fixed: Some dialogs stopped working after last update (sorry about that)
- Fixed: Select all checkbox in Details Dialog -> Torrent Files

Share this post


Link to post
Share on other sites

v0.7.0

- Added: Persist filters and sort order when refreshing the page
- Added: Download button (for completed files) from details dialog (requires uTorrent 3). You can also copy (long tap or right click) the link and open it in a video player to stream the file without downloading it (tested with VLC)
- Added: Ratio column
- Fixed: Reversed up/down queue buttons actions
- Added: Error message on torrent loading (usually when session expired)

Share this post


Link to post
Share on other sites

First version distributed also via torrent (at least, I'm trying...)

v0.7.1

- Added: Highlight sorted value
- Fixed: Drag'n'drop supported file types (some platforms did not accept .torrent files)
- Fixed: Version not reported when opening a new issue
- Fixed: Correct version number not shown when using Live version

Share this post


Link to post
Share on other sites

Looks good, should solve my query of how to add label when using an iPad- classic UI doesn't seem able to show context menu

 

one thing I did want to note, the first time I loaded the demo the grid layout was really messed up in portrait mode on an iPad mini, to the extent that I thought a style sheet hadn't loaded properly. I havent since been able to reproduce it really well, as every time I've refreshed its looked a lot better - and the dummy data always seems to have a short torrent name and long label or vice versa. Attached screenshot shows a slight misalign though. The column headers are also a bit misaligned with resort to name/eta/label but this may be intentional if that column  isn't supposed to be grid like. At the top, the word "selected" has fallen out of its box

 

By way of feature suggestion, might it be better to settle on megabytes for every unit and put the units in the column header so they aren't cluttering up the grid? Also how about a faint grey for the empty part of the progress bar, as it's not easy to see how "full" it is if one does not know where the end of the bar is. Lastly, could the column headers have a darker grey line between?

 

image.png

Share this post


Link to post
Share on other sites

I saw an interesting behaviour that I wasn't sure was by design, but could perhaps be turned into a feature..

 

single tap torrent - deselect other torrents and select tapped torrent

tap and hold a torrent other than the one selected - multi select fills from current selected torrent to held torrent, but the multi selection disappears when taking finger off, leaving just the held torrent selected

tap and hold torrent then drag finger after iPad's magnifying glass has appeared - multiselect follows drag but disappears as above when finger removed

select one torrent then tap and hold another, and drag the list to scroll it (don't wait for iPad magnifying glass to appear) - multi select fills in betwee current torrent and torrent that is under finger as list is scrolling, multiselect remains when finger removed. Can be done multiple times to select large numbers of torrents, so long as the magnifying glass isn't brought out (at which point the multi selection will be lost when magnifying glass closes)

Share this post


Link to post
Share on other sites

@cjard Sorry for the delay, was a bit busy lately :)

I'll try to clean up the demo, right now it probably has some bad data (as you reported, very long label names, probably edge cases not really likely to happen with real data). I'll also check a little bit better the portrait tablet view to fix the misalignments.

Regarding the suggestions:

  • Adding MB to the header may be a good idea, I'm not sure if very big (or small) torrents would behave. I'll check.
  • Showing the remaining part in the progress bar is something I recall I tried to do before, without success. I'll give it another shot, maybe I'm luckier this time...
  • There aren't separators in the headers because they don't completely align with the data below, I'm not sure they would give a nice result :)

The selection behaviour should just be the following one:

  • single tap torrent - deselect other torrents and select tapped torrent
  • tap and hold a torrent name (or mouse click with shift key pressed) other than the one selected - multi select fills from current selected torrent to held torrent. You can repeat multiple times extending the selection

I'd say there are some conflicts with iOS's magnifiying glass, it should be possible to disable it using some CSS. I'll let you know when the demo is updated, so you can give it a try if you can.

Share this post


Link to post
Share on other sites