qbittorrent / qBittorrent

qBittorrent BitTorrent client
https://www.qbittorrent.org
Other
27.11k stars 3.9k forks source link

[Wishlist] portable version (Windows) #465

Closed jpff closed 7 years ago

jpff commented 11 years ago

Ideally, I'd like to simply have a .zip file with the qBittorrent files in it, ready to run.

Settings and everything would stay contained inside the qBittorrent folder, it wouldn't write outside of it or to the registry.

KozakaiAya commented 6 years ago

@1265578519 English please.

j03bj03 commented 6 years ago

Hi!

This might not be the correct place to post, but after a few searches, I found that not many places talk about qBittorrent portable... So don,t hesitate to kick me out of this discussion if I am wrong posting here!

I want to test qBit portable and maybe eventually use it completely portable if it's as good as when installed...

A few questions before:

Thanks!

1265578519 commented 6 years ago

@j03bj03 便捷式版本文件结构,请参考压缩文件。 qBittorrent Stable (build 4.1.0.0).zip

mzso commented 6 years ago

@j03bj03 commented on 2018. aug. 14. 18:49 CEST:

Hi!

This might not be the correct place to post, but after a few searches, I found that not many places talk about qBittorrent portable... So don,t hesitate to kick me out of this discussion if I am wrong posting here!

I want to test qBit portable and maybe eventually use it completely portable if it's as good as when installed...

A few questions before:

  • I found out that I can either download the pre-made Portableapps version, or make it portable myself by using the --portable switch. Are there any differences between the 2?

I don't know what the portable app is now like, but the standard functionality is rather cumbersome. You always have to provide the --portable switch otherwise a local instance is opened.

  • If I want to copy my settings and torrents from the normal version to the portable version, and vice versa, which files/folders do I have to copy?

Everything in the profile folder

  • I read a little above in this thread that the portable version used to copy stuff to APPDATA folders when starting and when closing it would copy back the data into the self-contained folder... Is it still like that?

I guess you'll need to try it, and find out yourself.

sledgehammer999 commented 6 years ago

I read a little above in this thread that the portable version used to copy stuff to APPDATA folders when starting and when closing it would copy back the data into the self-contained folder... Is it still like that? If yes, what's the purpose of running portable? Any crash would ruin all the purpose of being portable...

Unless I am hugely wrong, this doesn't happen with our portable mode. Only the with the PortableApps version. (which they might changed after we introduced the --portable switch).

I found out that I can either download the pre-made Portableapps version, or make it portable myself by using the --portable switch. Are there any differences between the 2?

I don't know if PortableApps changed their way after we introduced the --portable switch but until then they implemented their way of making an application portable. Just grab our qbittorrent.exe from our installer and run it with portable switch. You might be able to open the extract the .exe from the installer by using 7zip and not actually installing qbittorrent.

avih commented 6 years ago

@sledgehammer999 (or other devs), would you be able to comment on https://github.com/qbittorrent/qBittorrent/issues/465#issuecomment-367237178 ?

zeule commented 6 years ago

If environment variable is not enough, I would rather add reading comamnd line parameters from a named file rather than detecting profile directory. For example, adding qBittorrent.exe.parameters file with contents --portable to the executable directory would trigger the portable mode.

avih commented 6 years ago

For example, adding qBittorrent.exe.parameters file with contents --portable to the executable directory

Sounds fine to me. Might not be super trivial to setup for newbies, but they'll manage, and looks to me like it would do the trick.

Looking forward to it ;)

smaragdus commented 6 years ago

I would like to suggest simpler and better methods (at least fir me) for triggering portable mode:

I find these methods better because if the user forgets to start the program with the portable parameter (qbittorrent.exe --portable) data and settings would be saved to AppData.

bottleblue commented 6 years ago

I was happy to hear there was a portable mode but seeing it used CLI I gave up immediately. That's not simple or intuitive. Who wants to start up a program using CLI?
I agree use a portable flag or check for the data folders in the install directory or just offer a portable version. Other torrent programs have already done this (years ago). Why use a more complicated and annoying method.

1265578519 commented 6 years ago

@bottleblue 开发者技术不行,人品不好

mzso commented 6 years ago

@zeule commented on 2018. aug. 14. 21:56 CEST:

If environment variable is not enough, I would rather add reading comamnd line parameters from a named file rather than detecting profile directory. For example, adding file with contents --portable to the executable directory would trigger the portable mode.

I'm not sure using a generic parameters file for portable mode is such a good idea. I don't know who would use it but I think it's vulnerable to accidental manual, or programmatic deletion.

I think a separate, empty qBittorrent.exe.portable would be more robust.

sledgehammer999 commented 6 years ago

Or have a separate compilation where the default mode is portable (requires some coding). But people can still use either compilation with the appropriate flag to change modes.

mzso commented 6 years ago

@sledgehammer999 commented on 2018. aug. 15. 12:37 CEST:

Or have a separate compilation where the default mode is portable (requires some coding).

But people can still use either compilation with the appropriate flag to change modes.

Even better. One step further would be to integrate into the installer a portable option, so the users could generate any number of portable instances.

avih commented 6 years ago

integrate into the installer a portable option

That partially defeats the purpose IMHO. People who prefer their apps portable also generally prefer not to use installers (and use e.g. a zip package instead) - even if the installer would end up doing nothing more than copying the files into some dir.

However you look at it though, I think it always comes down to the executable looking for something at it's own exe directory - be it portable dir/config/whatever. So whichever approach is taken which does that, I think it would be OK.

fcore117 commented 6 years ago

Old legendary uTorrent used settings.dat and qBt could use folder, if folder named config is detected then it will run as portable on Win and Linux. Blender uses similar idea if config folder is detected inside 0.00(enter version) folder.

1265578519 commented 6 years ago

@fcore117 https://github.com/qbittorrent/qBittorrent/issues/465#issuecomment-412940919 参考此楼,qbit目前的便捷版配置方式,快捷方式自行修改路径。

mzso commented 6 years ago

@avih commented on 2018. aug. 15. 14:45 CEST:

integrate into the installer a portable option

That partially defeats the purpose IMHO. People who prefer their apps portable also generally prefer not to use installers (and use e.g. a zip package instead) - even if the installer would end up doing nothing more than copying the files into some dir.

I fail to see how it defeats anything. You don't have to mess around with anything to get a portable instance. It's just more convenient. Escpecially if you don't have something to unpack the archive.

However you look at it though, I think it always comes down to the executable looking for something at it's own exe directory - be it portable dir/config/whatever. So whichever approach is taken which does that, I think it would be OK.

Well, the dev said otherwise. It could be compiled to be portable.

mzso commented 6 years ago

@sledgehammer999 commented on 2018. aug. 15. 12:37 CEST:

Or have a separate compilation where the default mode is portable (requires some coding).

But people can still use either compilation with the appropriate flag to change modes.

What point would it serve to be able to change modes when you have two separate portable/non-portable builds? It seems like a recipe for confusion to me.

fcore117 commented 6 years ago

1265578519: What are those square blocks you write i do not know? i see square blocks in row.

KozakaiAya commented 6 years ago

@1265578519 Why can't you speak English here?

1265578519 commented 6 years ago

@KozakaiAya 我键盘有问题打不出英语

sledgehammer999 commented 6 years ago

@1265578519 Stop writing with chinese characters. Only the English language is allowed here. If you continue with Chinese I will delete your comments and/or report you.

HulkSmashBurgers commented 6 years ago

Is there a portable version available for the current version? I see 4.1.0.0.zip posted above.

mzso commented 6 years ago

@unknownsoldierx commented on 2018. aug. 24. 11:19 CEST:

Is there a portable version available for the current version? I see 4.1.0.0.zip posted above.

Read the topic more carefully, there's a parameter that you need to use, no separate portable version.

HulkSmashBurgers commented 6 years ago

I have. I saw the zip and thought there might be a stricktly portable version.

How do I get a browser such as Firefox to open torrents using "qbittorrent.exe --portable"

mzso commented 6 years ago

@unknownsoldierx commented on 2018. aug. 24. 23:14 CEST:

I have. I saw the zip and thought there might be a stricktly portable version.

How do I get a browser such as Firefox to open torrents using "qbittorrent.exe --portable"

Good question. Probably with a fair amount of tinkering. (That's why most of us don't like that it works this way). You can try the portableapps version.

j03bj03 commented 5 years ago

Hello!

Does using qBittorrent in portable mode with "--portable" slow down qBittorrent if I seed a lot of torrents or is it the exact same thing?

Thanks!

smaragdus commented 5 years ago

The developers may have a look how portable mode is implemented in Tixati- tixati_portable_mode.txt file in program folder (where is the executable- 'tixati_Windows32bit.exe' or 'tixati_Windows64bit.exe') triggers portable mode- no command line parameters, easy, handy and simple.

kilves76 commented 5 years ago

Why is this even an issue? Let's review what we need to accomplish: settings independent of %APPDATA%/qBittorent when needed.

We could just not worry about whether the startup location is the installed location or not, and only check for presence of \Config folder under %APPDIR% (that's percent underscore underscore APPDIR underscore underscore percent, location of started qBittorrent.exe) where alternative config data would be stored, everything that'd usually be under %APPDATA%/qBittorrent.

No command line switches, no registry entries, will work when called from any other program, and maybe will enable a user to run multiple qb instances on the same user account too - make it so.

uTorrent works well with command line switches but the point of being called from other programs is a good one. For utorrent a working solution for multiple instances is simple renaming of the copies, so you'd have \portable\utorrent\utorrent.exe , \portable\utorrent-funnytracker\utorrent-funnytracker.exe, \portable\utorrent-sadtracker\utorrent-sadtracker.exe etc. This makes it easy to seed a large amount of torrents without getting confused about which process is which. A new instance is just a copy paste, rename, change of ports and new firewall rules.

Jingjok86 commented 5 years ago

Until we get auto-detection or a config file for this, it is already really easy to configure, if you use only one qbt instance, no need to fiddle with a .bat file or shortcuts...

The above just sets the QBT_PORTABLE environment variable. After rebooting, qbt will start in portable mode, even when started from another program or when opening a .torrent file.

Ilya87 commented 5 years ago

Until we get auto-detection or a config file for this, it is already really easy to configure, if you use only one qbt instance, no need to fiddle with a .bat file or shortcuts...

  • On Windows use Win+R or Run command from Start, then key in
  • REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v QBT_PORTABLE /d 1 /f
  • Reboot.

The above just sets the QBT_PORTABLE environment variable. After rebooting, qbt will start in portable mode, even when started from another program or when opening a .torrent file.

I set this variable in Windows, that breaks torrents files that aren't (at least) in qbittorrent's folder (even downloaded files vere treated as bad), something was wrang with path after set this variable. This leads to redownload of torrent again and again.

P. S. I didn't tried to reproduce this bug in 4.1.7 version.

smaragdus commented 4 years ago

In the change log for version 4.2.1 I read this:

  • FEATURE: Enable portable mode if "profile" directory exists (Tester798)

Does this mean that if the user creates an empty profile sub-folder in program folder qBittorrent will be running in portable mode?

Can someone confirm this?

sledgehammer999 commented 4 years ago

Does this mean that if the user creates an empty profile sub-folder in program folder qBittorrent will be running in portable mode?

Yes. It would have been incredibly easy for you to test this without reviving this old and closed issue.

smaragdus commented 4 years ago

@sledgehammer999

Thanks for the confirmation. Currently qBittorrent (version 4.2.0) is running and sometimes it is hard to exit it cleanly (without killing the process manually).

I needed to be sure about triggering portable mode in version 4.2.1 so that I could import all my data right (seeding hundreds of torrents).

I will try this on next reboot.

Ilya87 commented 4 years ago

In 4.2.1 path are still wrong when torrent is in the same Volume whith qBittorrent (Windows OS): https://github.com/qbittorrent/qBittorrent/issues/11373

Janaue commented 4 years ago

I tried this version here https://github.com/qbittorrent/qBittorrent/issues/11558#issuecomment-562835653 with stock config and the flag --portable, and I DLed a torrent, then restart QB and the torrent is not listed as erroneous.

the file is Dled in D:\Documents\qbittorrent_4.2.0_x64_libtorrent_1_2_2_gitf49d194186\profile\qBittorrent\profile\qBittorrent\downloads\

Ilya87 commented 4 years ago

The error appears when the torrent is in the same Volume as qBittorrent (the same behavior as much earlier). Снимок экрана (712)

mzso commented 4 years ago

What is the proper way to upgrade a portable instance? The installer doesn't offer installing/unpacking files for a portable instance. Should I just extract files manually from the installer with an archiver program?