Upcomming features in v2.0.0
See original GitHub issueFeel free to discuss about features and tell me if you have idea to improve v2.0.0
Features
- GUI compatible. (GUI will NOT be in this repository, JOAL is and will remain a command line tool. But it will be possible to connect a GUI with some kind of RPC or Websocket). An official Electron (for desktop) and webui are both planned as separate repositories. (follow desktop app progress at https://github.com/anthonyraymond/joal-electron)
- More security, joal will be able to disable himself. In case of a major bug has been detected, all joal client will be remortly shutted down. (Don’t be affraid, there will be nothing on your computer that will report stats to any server, JOAL will simply check if a file is present in a certain directory in https://github.com/anthonyraymond/joal).
- Brand new upload speed manager, more safe and more close to real client than ever. And more performant than every seed faker.
- Ability to seed multiple torrent concurently.
- The pause between seed will be removed, it wasn’t a good idea in the first place, and does not improve security. As long a JOAL will be started, it will seed.
- Bulletproof! v1.x.x was developped in a hurry (so far it seems to work perfectly), but v2.x.x will be insanely tested and much more extensible.
- <del>Hot-reloading JOAL configuration config.json. (This is still and idea, i’m not a 100% sure to include this features).</del>
ROADMAP
In progress
Todo
Done
- Switch from Gson to Jackson.
- Introduce spring(boot).
- Make ConfigProvider injectable.
- Make BitTorrentClientProvider injectable.
- Make TorrentFileProvider injectable.
- Turn SeedManager in components to allow injection.
- <del>Try if re-enabling log4j shutdown hook is possible (currently, last announce log is skipped if not disabled).</del> [Not possible]
- Make TorrentFileProvider returns MockedTorrent instead of FilePath.
- Huge refactoring effort to make classes more responsible of their own state and less dependant of others classes.
- Ensure core components are tested.
- <del>Find a way to reduce number of Thread required to prevent critical thread (
BandwithManager
) to be put in idle state when joal is running on cheap computers like raspberry.</del> [Not needed] - Chose between RPC and Websocket (or both…) protocol to allow remote control (Stomp event messaging was chosen).
- Refactor key generation to allow key refresh on (NEVER, RESTART, ANNOUNCE, TORRENT).
- Add ipv6 support for tracker requests.
- Rework all .clients files to take care of the new changes.
- Add a config flag to completly disable web resources exposure.
- Ensure exposed method won’t be reachable by anybody (both websocket and http).
- Add more version of µTorrent and Deluge.
- Expose control over Stomp messaging.
- Implement authentication for websocket. Login / password or maybe a secret token.
Rescheduled for v2.0.1
- Ensure web component are fully covered by Functional tests.
- Ensure web component are fully covered by Integration tests.
- Add the ability to disable JOAL for all users by checking if a file is present on the GitHub repository (in case a major bug has been detected and thus making the usage unsafe).
- Add the ability to dispatch message to users by reading a file present on the GitHub repository.
- Replace SimpleMessageBrocker with FullFeaturedMessageBrocker (http://docs.spring.io/spring/docs/current/spring-framework-reference/html/websocket.html#websocket-stomp-handle-broker-relay) and (https://github.com/BijanVan/Spring-Boot-Websocket-Sample/blob/master/src/main/java/com/bijansoft/spring/config/WebSocketConfig.java)
- Write Stomp messaging documentation.
Issue Analytics
- State:
- Created 6 years ago
- Comments:13 (7 by maintainers)
Top Results From Across the Web
eFootball™ 2023 v2.0.0 Patch Notes - Konami
In this update, we have implemented enhancements on the movement response of players during both attacking and defending scenarios. We are aware that...
Read more >Exciting new features in nRF Connect SDK v2.0.0
In this webinar, we talk about the exciting new features in this major release. Some highlights include: Simplified Software License Report ...
Read more >v2.0 Release Notes — Open OnDemand 2.0.13 documentation
Custom dashboard widgets and layout; New File Manager app; Tighter integration between the Dashboard, Active Jobs, and Files apps; Adding metadata to app ......
Read more >TestCafe v2.0.0 Released | Framework | Release Notes
0.0 Released. TestCafe 2.0 is the first stable TestCafe update to include breaking changes. TestCafe now supports TypeScript 4.7 out of the box....
Read more >What's New in Animal Crossing New Horizons v2.0 Update ...
For those who have been itching for new things to do in the game or just want an excuse to log back on...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
a param in the config file to choose a port or a range of ports would be great 😃
except there is a bug with it currently (reported it in slack)