PDA

View Full Version : [Multi OS] BiglyBT Extreme Mod by SB-Innovation 2.7.0.2 Beta



DigitalDJ
21.03.21, 15:42
SB-Innovation Presents

BiglyBT Extreme Mod by SB-Innovation 2.7.0.2 Beta

https://www.sb-innovation.de/attachment.php?attachmentid=3630

╔═══════════════════════════╗
Coded by:
╚═══════════════════════════╝

>>>>>> DigitalDJ & ghostfucker <<<<<<


╔═══════════════════════════╗
Credits:
╚═══════════════════════════╝

>>>>>> Butcho <<<<<<
>>>>>> Rebound <<<<<<
>>>>>> hitman <<<<<<
>>>>>> Manas <<<<<<
>>>>>> eudora <<<<<<
>>>>>> ghostfucker <<<<<<
>>>>>> anon <<<<<<
>>>>>> Instab <<<<<<
>>>>>> cloud99 <<<<<<
>>>>>> illusive <<<<<<
>>>>>> molosse <<<<<<
>>>>>> --->HDBD<--- <<<<<<

╔═══════════════════════════╗
Supplied by:
╚═══════════════════════════╝

>>>>>> SB-Innovation <<<<<<

╔═══════════════════════════╗
Original Mod by:
╚═══════════════════════════╝

>>>>>> Shu <<<<<<


Change Log:

+ Fix PerfectSpoof sending User-Agent to tracker

+ Integrated Peer Injector 0.3 by anon

+ Perfect Spoof 2 by ghostfucker

+ uTorrent ID Generator

+ Modifiable Client Files

+ Ghostleech

+ LTEP Fixes

+ Multiple peerlist entries fixed

+ More No Report Options

+ (Fake Upload) Stop faking when swarm speed is zero

+ Upload Kicker

+ Ratio Tool

+ Synced with latest LegitBly Mod

+ (Upload Multiplier) Show as seeder

+ (SBI-Hack Torrentview) Scrollbars added

+ Fix Tracker Update Interval Divider

+ Use Swarm Peers fixed

+ Updated core to BiglyBT 2.7.0.2



BiglyBT Change Log:
BiglyBT Change Log (https://github.com/BiglySoftware/BiglyBT/blob/master/ChangeLog.txt)
Vuze Change Log (https://svn.vuze.com/public/client/trunk/azureus2/src/ChangeLog.txt)

Installation:

Windows

1. Download the latest OpenJDK Java. It must be Java version 15 or higher. (JDK GA Release (http://jdk.java.net/15/)).
2. Download and install the latest non-beta BiglyBT release (BiglyBT - Download (https://www.biglybt.com/download/)). Do not open BiglyBT after installation.
3. BACK UP YOUR TORRENT LIST! IT IS LIKELY YOU WILL LOSE IT! You must export your torrents. Copying or exporting / importing old configurations will not work.
4. Extract the hack files using 7-Zip (7-Zip Download (http://www.7-zip.org/download.html)) or equivalent to %PROGRAMFILES%\BiglyBT (C:\Program Files\BiglyBT) and overwrite ALL files.
5. Delete the "jre" folder in %PROGRAMFILES%\BiglyBT (C:\Program Files\BiglyBT).
6. Open the OpenJDK archive downloaded in step 1 and extract the "jdk-XX" folder to the BiglyBT folder %PROGRAMFILES%\BiglyBT (C:\Program Files\BiglyBT).
7. Rename the extracted "jdk-XX" folder to "jre".
8. Run Notepad as Administrator and open %PROGRAMFILES%\BiglyBT\BiglyBT.exe.vmoptions (C:\Program Files\BiglyBT\BiglyBT.exe.vmoptions), append the following line:
NOTE: If you want to run BiglyBT-console.exe perform step 8 but instead create file "BiglyBT-console.exe.vmoptions"


--patch-module=java.base=ghostfucker_utils.jar
--add-exports=java.base/sun.net.www.protocol=ALL-UNNAMED

9. Run BiglyBT and Enjoy!


macOS
1. Download and install the latest Java. It must be Java version 15 or higher. (JDK GA Release (http://jdk.java.net/15/)). Note the path to the OpenJDK archive downloaded. You will need it for step 5.
2. Download and install the latest non-beta BiglyBT release (BiglyBT - Download (https://www.biglybt.com/download/)).
3. BACK UP YOUR TORRENT LIST! IT IS LIKELY YOU WILL LOSE IT!
4. Extract the hack files within the ZIP file to /Applications/BiglyBT/.biglybt and overwrite ALL files.

NOTE: To see the folder in Finder, you may need to perform the following steps:
4a. Open Terminal
4b. Run the following command:


defaults write com.apple.finder AppleShowAllFiles YES

4c. Hold the "Option/Alt" key, then right click on the Finder icon in the dock and click Relaunch
4d. Once you have copied the files, you can revert to hiding folders with:


defaults write com.apple.finder AppleShowAllFiles NO


5. Open up a Terminal and run the following commands. NOTE: You need to replace "PATH_TO_OPENJDK_ARCHIVE" in the first command to the path to the OpenJDK archive from step 1.


OPENJDK_ARCHIVE="PATH_TO_OPENJDK_ARCHIVE"
sudo rm -r "/Applications/BiglyBT/.install4j/jre.bundle"
sudo tar -xzf "$OPENJDK_ARCHIVE" -C "/Applications/BiglyBT/.install4j/"
sudo mv "/Applications/BiglyBT/.install4j/jdk-"* "/Applications/BiglyBT/.install4j/jre.bundle"
echo -e "\n--patch-module=java.base=ghostfucker_utils.jar" | sudo tee -a "/Applications/BiglyBT/.biglybt/java.vmoptions"
echo "--add-exports=java.base/sun.net.www.protocol=ALL-UNNAMED" | sudo tee -a "/Applications/BiglyBT/.biglybt/java.vmoptions"

6. Run BiglyBT and Enjoy!

Linux
NOTE: Based on Ubuntu 20.04
1. Install the latest OpenJDK and libjna package from your distro's package repository. On Ubuntu 20.04 this is openjdk-15-jre and libjna-java.
NOTE: Some distros do not have an OpenJDK of version 9 or greater available. In which case, you will need to download and extract the tar.gz package supplied by OpenJDK (JDK GA Release (http://jdk.java.net/15/)).


sudo apt install openjdk-15-jre libjna-java

2. Download the latest non-beta BiglyBT release and make it executable (BiglyBT - Download (https://www.biglybt.com/download/)).


wget https://files.biglybt.com/installer/BiglyBT_Installer.sh
chmod +x BiglyBT_Installer.sh

3. BACK UP YOUR TORRENT LIST! IT IS LIKELY YOU WILL LOSE IT!
4. Run the installer, specifying app_java_home variable to your JRE folder. On Ubuntu, this is: /usr/lib/jvm/java-15-openjdk-amd64/


app_java_home="/usr/lib/jvm/java-15-openjdk-amd64/" ./BiglyBT_Installer.sh

5. Extract the hack files within the ZIP file to "~/biglybt" (/home/<username>/biglybt)


unzip -o BiglyBT_*.zip -d ~/biglybt

6. Append the following VM options:


echo "--patch-module=java.base=ghostfucker_utils.jar" >> ~/.biglybt/java.vmoptions
echo "--add-exports=java.base/sun.net.www.protocol=ALL-UNNAMED" >> ~/.biglybt/java.vmoptions

7. Run BiglyBT and Enjoy!

Troubleshooting:
Before posting problems please make sure:
1. You have updated Java in the "jre" folder to the latest version (must be Java 15 or higher) (JDK GA Release (http://jdk.java.net/15/)]).
2. You have uninstalled BiglyBT using the uninstaller.
3. You have removed the BiglyBT Application folder:


C:\Program Files\BiglyBT (Windows x64)
C:\Program Files (x86)\BiglyBT (Windows x86)
/Applications/BiglyBT (macOS)
~/biglybt / /home/<username>/biglybt (Linux)

4. You have removed the BiglyBT Settings folder:
NOTE: THIS WILL RESET ALL BIGLYBT SETTINGS AND TORRENT LISTS


%APPDATA%\BiglyBT / C:\Documents and Settings\<username>\Application Data\BiglyBT (Windows XP - Application Data may be Hidden)
%APPDATA%\BiglyBT / C:\Users\<username>\AppData\Roaming\BiglyBT (Windows Vista - AppData may be Hidden)
/Users/<username>/Library/Application Support/BiglyBT (macOS)
~/.biglybt / /home/<username>/.biglybt (Linux)

5. Reinstalled BiglyBT using the package from BiglyBT - Download (https://www.biglybt.com/download/).
6. Re-applied the hack by following the installation instructions above.

Portable Mode:
Portable mode is now built into BiglyBT / Vuze. See wiki article: Portable Vuze (https://wiki.vuze.com/w/Portable_Vuze).



Enjoy!

illusive
21.03.21, 20:16
Nice. Thanks as always for keeping this up to date. Still the bug persists


Great work so far. I'll be testing. However, My previously reported bug (mentioned in the below quote) has changed a bit. Now the (SpeedBetween __ and __) is not enabled unless I tick the option "Use the swarm's average speed as fake upload speed". So the trigger option has changed a bit, that's it.


OK so far so good, will get back after some testing.

Update: OK the main cheating option for me is a bit weird. (speed mode++ > SpeedBetween __ and __) is not enabled unless I tick the option "Stop faking when swarm speed is zero".

image (http://www.sb-innovation.de/attachment.php?attachmentid=20359)

Also "Stop faking when the following ratio is reached" option is checked but the ratio inputs is disabled when I open the settings after saving it for the first time. I must uncheck then recheck it to edit the values.

anon
22.03.21, 12:48
Fastest update ever :w00t: And since this is the only mod still in development, that's only a good thing.

Also, the following comment in the 2.7.0.0 thread was caught by the moderation queue, so I'll cross-post it here for reference.


BiglyBT Extreme Mod 2.7.0.0 + JDK 16 = BiglyBTSpoof.properties not working
...also 2.7.0.2 was just released
Thanks for the awesome mod

Lucas Kane
26.03.21, 15:41
Hello,
First of all thanks for maintaining this great mod.
I was using BiglyBT Extreme Mod 1.9.0.0 until recently due to the introduced bugs in the later versions.
decided to try the this version but the problem is after clean installation I found "prefect spoof" option to be deactivated "grayed out" as shown for some reason and I cant find any possible cause behind it.

20991

Any ideas ?

Edit : I can see errors regarding reading client files, sample attached.

Edit 2 : Fixed, changed Java 16 to Java 15.0.2, also it was mentioned in the installation steps to use Java 15 or higher.

mhraaj
26.03.21, 18:12
I am having problems with first of all no "jre" folder is created. even if I create the folder manually extract jdk file there. it gives me errors.


java.lang.UnsupportedClassVersionError: com/biglybt/ui/Main has been compiled by a more recent version of the Java Runtime (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknow n Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at com.exe4j.runtime.LauncherEngine.launch(LauncherEn gine.java:77)
at com.exe4j.runtime.WinLauncher.main(WinLauncher.jav a:94)

Lucas Kane
27.03.21, 14:10
I want to report another bug I have encountered while trying this version moving from 1.9.0.0 ( in addition to the bugs reported by illusive earlier)

The values used globally in "Speed mode ++" in the program configurations are applied for new torrents without fractions.

i.e. if you were using stop faking when the following ration is reached : Between 3.7 and 5.2 it applied for new torrent as 3.0 and 5.0.

same goes for "speed between __ and __" & "start fake upload when the following % done is reached".


Global Speed Mode ++
20993

individual torrent configs for Speed Mode ++
20994

anon
27.03.21, 23:13
Edit 2 : Fixed, changed Java 16 to Java 15.0.2

That's strange, since it should still work with Java 16 unless they have retired some API or functionality the mod requires (and that's very unlikely). I haven't upgraded yet because this week has been very busy, but I'll check this as soon as I can.


I am having problems with first of all no "jre" folder is created. even if I create the folder manually extract jdk file there. it gives me errors.

java.lang.UnsupportedClassVersionError: com/biglybt/ui/Main has been compiled by a more recent version of the Java Runtime (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0

This is posted almost every time a new version is out, and I have provided an answer on all instances... do a search, it will be very rewarding :happy:

sashiagustina
03.04.21, 11:26
That's strange, since it should still work with Java 16 unless they have retired some API or functionality the mod requires (and that's very unlikely). I haven't upgraded yet because this week has been very busy, but I'll check this as soon as I can.



This is posted almost every time a new version is out, and I have provided an answer on all instances... do a search, it will be very rewarding :happy:

hahaha every new version out, lucky me got it solved. but, there is other issue here

21018

anon
03.04.21, 13:58
That's the same problem Lucas Kane reported on post #4. The only difference I see is that you have apparently enabled the "old" client spoof (BiglyBTSpoof.properties) which overrides the one most of us are interested on, so you should turn it off. If that doesn't work, follow his advice of downgrading to Java 15, and if that doesn't work, you'll have to wait until I can test this myself. Sadly I can't provide a time estimate.

sashiagustina
03.04.21, 19:45
That's the same problem Lucas Kane reported on post #4. The only difference I see is that you have apparently enabled the "old" client spoof (BiglyBTSpoof.properties) which overrides the one most of us are interested on, so you should turn it off. If that doesn't work, follow his advice of downgrading to Java 15, and if that doesn't work, you'll have to wait until I can test this myself. Sadly I can't provide a time estimate.

ah i didnt catch his post. so how to turn it off, i have no idea about it. i might download java 15 since already deleted it. i will download when i have strong networking signal. thanks for the help

Lucas Kane
04.04.21, 02:31
ah i didnt catch his post. so how to turn it off, i have no idea about it. i might download java 15 since already deleted it. i will download when i have strong networking signal. thanks for the help

If you are on Java 16, try first to downgrade to Java 15.x.x, most probably it will solve it.

sashiagustina
04.04.21, 03:06
If you are on Java 16, try first to downgrade to Java 15.x.x, most probably it will solve it.

yes it absolutely solve it immediately. it seems some binaries removed in java 16. sometimes later version isnt always better version tho

yumzion90
06.04.21, 18:00
anybody got a fully self contained build including java aka a all in one portable pack for windows i could download would be killer, that would save me much headaches
with settings also without having to downgrade my java , thanks

would be for windows


would be neat since other apps like jdownloader2 are also self contained with theyre own java

i recon would also help with it becoming more widely adopted

also if possible have it autoremove completed torrents from its queue but also its torrent file also this function NoComplete_NoReport-Tracker


making it next gen userenity

anon
07.04.21, 18:18
anybody got a fully self contained build including java aka a all in one portable pack for windows i could download would be killer, that would save me much headaches
with settings also without having to downgrade my java

There are instructions to build this yourself on the first post and previous release threads. I'm personally not a fan of this approach - a systemwide Java runtime that can run everything is more efficient - but you have full choice between both.


also if possible have it autoremove completed torrents from its queue but also its torrent file also this function NoComplete_NoReport-Tracker

Did you read 13781? =]

illusive
17.04.21, 12:27
Another problem I noticed happens frequently. At first I thought it was random but now seems it's all the time. Ratio Tool settings for torrents already loaded don't get saved on exiting the re-opening the client. Although the speeds and percentage are saved but the check boxes get unchecked on every exit.

anon
20.04.21, 06:02
Unfortunately, I can confirm the bug from post #4. Attempting to run the mod under Java 16 results in the following error (and opening the Extreme Mod options panel raises a hundred or so more of these exceptions, one per client file). Java 15 works fine, so I'll stay on that for now.


java.lang.NullPointerException: Cannot invoke "java.lang.reflect.Method.invoke(Object, Object[])" because "com.sun.xml.bind.v2.runtime.reflect.opt.Injector.d efineClass" is null
at com.sun.xml.bind.v2.runtime.reflect.opt.Injector.i nject(Injector.java:311)
at com.sun.xml.bind.v2.runtime.reflect.opt.Injector.i nject(Injector.java:97)
at com.sun.xml.bind.v2.runtime.reflect.opt.AccessorIn jector.prepare(AccessorInjector.java:87)
at com.sun.xml.bind.v2.runtime.reflect.opt.OptimizedA ccessorFactory.get(OptimizedAccessorFactory.java:1 79)
at com.sun.xml.bind.v2.runtime.reflect.Accessor$Field Reflection.optimize(Accessor.java:285)
at com.sun.xml.bind.v2.runtime.property.SingleElement NodeProperty.<init>(SingleElementNodeProperty.java:94)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl .newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl .newInstance(NativeConstructorAccessorImpl.java:78 )
at java.base/jdk.internal.reflect.DelegatingConstructorAccessor Impl.newInstance(DelegatingConstructorAccessorImpl .java:45)
at java.base/java.lang.reflect.Constructor.newInstanceWithCalle r(Constructor.java:499)
at java.base/java.lang.reflect.Constructor.newInstance(Construc tor.java:480)
at com.sun.xml.bind.v2.runtime.property.PropertyFacto ry.create(PropertyFactory.java:128)
at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:181)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getOrC reate(JAXBContextImpl.java:514)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:331)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:139)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBCo ntextBuilder.build(JAXBContextImpl.java:1156)
at com.sun.xml.bind.v2.ContextFactory.createContext(C ontextFactory.java:165)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invo ke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invo ke(NativeMethodAccessorImpl.java:78)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl. invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at javax.xml.bind.ContextFinder.newInstance(ContextFi nder.java:297)
at javax.xml.bind.ContextFinder.newInstance(ContextFi nder.java:286)
at javax.xml.bind.ContextFinder.find(ContextFinder.ja va:409)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext .java:721)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext .java:662)
at javax.xml.bind.JAXB$Cache.<init>(JAXB.java:127)
at javax.xml.bind.JAXB.getContext(JAXB.java:154)
at javax.xml.bind.JAXB.unmarshal(JAXB.java:168)
at ghostfucker.spoof.PerfectSpoof.createClient(Perfec tSpoof.java:43)
at ghostfucker.spoof.PerfectSpoof.<clinit>(PerfectSpoof.java:24)
at com.biglybt.core.peermanager.messaging.bittorrent. BTHandshake.<clinit>(BTHandshake.java:38)
at com.biglybt.core.peermanager.messaging.bittorrent. BTMessageFactory.init(BTMessageFactory.java:54)
at com.biglybt.core.peermanager.messaging.MessageMana ger.initialize(MessageManager.java:59)
at com.biglybt.core.peermanager.PeerManager.init(Peer Manager.java:263)
at com.biglybt.core.peermanager.PeerManager.<init>(PeerManager.java:197)
at com.biglybt.core.peermanager.PeerManager.<clinit>(PeerManager.java:67)
at com.biglybt.core.impl.CoreImpl.<init>(CoreImpl.java:351)
at com.biglybt.core.impl.CoreImpl.create(CoreImpl.jav a:176)
at com.biglybt.core.CoreFactory.create(CoreFactory.ja va:43)
at com.biglybt.ui.Main.main(Main.java:200)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invo ke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invo ke(NativeMethodAccessorImpl.java:78)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl. invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at com.biglybt.launcher.Launcher$1.run(Launcher.java: 48)
at java.base/java.lang.Thread.run(Thread.java:831)


The behavior mentioned on #6 also occurs. I can't reproduce the bug from #15, however. The decimal part of numeric values is forgotten after a restart, but everything else is remembered.