Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upcomming features in v2.0.0 #4

Closed
26 tasks done
anthonyraymond opened this issue Apr 23, 2017 · 13 comments
Closed
26 tasks done

Upcomming features in v2.0.0 #4

anthonyraymond opened this issue Apr 23, 2017 · 13 comments
Assignees

Comments

@anthonyraymond
Copy link
Owner

anthonyraymond commented Apr 23, 2017

Feel 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.
  • Hot-reloading JOAL configuration config.json. (This is still and idea, i'm not a 100% sure to include this features).

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.
  • Try if re-enabling log4j shutdown hook is possible (currently, last announce log is skipped if not disabled). [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.
  • 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. [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

@iHmD
Copy link

iHmD commented Jun 25, 2017

seed multiple files at once?

@anthonyraymond
Copy link
Owner Author

I mean that you'll be able to seed more than one torrent concurently

@iHmD
Copy link

iHmD commented Jun 25, 2017

Woops it was there! sorry

@JourneyOver
Copy link
Contributor

except there is a bug with it currently (reported it in slack)

@anthonyraymond
Copy link
Owner Author

anthonyraymond commented Jun 25, 2017

I'll take a look at that asap, thanks for reporting

@Z-42PO
Copy link

Z-42PO commented Jul 4, 2017

a param in the config file to choose a port or a range of ports would be great :)

@anthonyraymond
Copy link
Owner Author

Why not. I'll add it on v2.0.0 or 2.0.1.

@Z-42PO
Copy link

Z-42PO commented Jul 7, 2017

Cool, thanks :)

@anthonyraymond
Copy link
Owner Author

Some major improvements have been made on v2 beta.

If you want to join beta tester let me know.

@Hexalyse
Copy link

Hexalyse commented Jul 26, 2017

Do you have an estimate release date for the v2 ? If it's not in a near future, I'd be glad to join the beta test. (I was hesitated to checkout the dev-v2 branch but wasn't sure it will be functionnal)

@anthonyraymond
Copy link
Owner Author

anthonyraymond commented Jul 26, 2017

Yep checkout the dev-v2 might not be a good idea there is some experimental features.

The release is panned to be released in a relatively near future (before christmass) but if you are interested in beta testing send a mail at [email protected].

I'll reply to you with a slack invite

@Hlidskialf7
Copy link

There is anyway to set upload until reaches ratio 1.0?

@anthonyraymond
Copy link
Owner Author

Not yet, and it's not planned in a near future. I'm not saying that i'll never implement this functionnality, but it is not planned yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants