winnielinnie
MVP
- Joined
- Oct 22, 2019
- Messages
- 3,641
Through the new web interface in FreeNAS 11.2 and newer, as of the latest version of the Transmission plugin (3.00), there is no way to set the UI login username or password from within the web interface itself. This means anyone has access to login to the Transmission web interface simply by typing in the IP address or hostname: no authentication required.
Here is a workaround I came up with that works for me, which I consider only a temporary fix, as this bug needs to be addressed by the plugin developers. There is currently no obvious way to "logout" either, which is another thing that needs to be implemented in the web GUI.
The file to be edited within the jail is /usr/local/etc/transmission/home/settings.json
1) First make sure the jail is started:
FreeNAS Menu > Jails > transmission > three dots (...) > Start
2) Then open up a shell inside the jail:
FreeNAS Menu > Jails > transmission > three dots (...) > Shell
3) Now install the nano text editor:
4) Stop the transmission service before making any changes to its settings:
5) Calculate the hash for your desired password within double-quotes, as transmission uses a simple sha1 hash for obfuscating the web UI password:
You should see an output like this:
This means if your desired password will be myPassword1234 the sha1 hash is 95b7c59498cac4afdb334b818e82d8eee0a6aee4
6) While still in the shell, highlight and copy the hash using CTRL + INSERT.
7) Open up the settings.json file with nano:
8) Change/verify the following lines like so .You can use CTRL + INSERT (copy) and SHIFT + INSERT (paste) to copy and paste within the shell and text editor.
============
"rpc-authentication-required":false,
Should now become...
"rpc-authentication-required": true,
"rpc-enabled":false,
Should now become...
"rpc-enabled": true,
"rpc-password": "{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
Should now become...
"rpc-password": "{95b7c59498cac4afdb334b818e82d8eee0a6aee4",
"rpc-username": "",
Should now become...
"rpc-username": "user",
============
Keep in mind that the "username" and "password" are to be replaced with your desired username and password (sha1 hash) to login through Transmission's web interface. Don't use my hash example, unless you want your password to be myPassword1234.
Pay close attention to the formatting. It must be exactly as shown in the above examples. Every comma, squiggly bracket, colon, and double quotation marks must use the exact format as above.
9) Now start the transmission service again:
10) Finally, check to see if the changes were set and are working:
With your web browser, visit the appropriate local IP address and port for the jail/plugin, such as http://192.168.0.123:9091
Here is a workaround I came up with that works for me, which I consider only a temporary fix, as this bug needs to be addressed by the plugin developers. There is currently no obvious way to "logout" either, which is another thing that needs to be implemented in the web GUI.
The file to be edited within the jail is /usr/local/etc/transmission/home/settings.json
1) First make sure the jail is started:
FreeNAS Menu > Jails > transmission > three dots (...) > Start
2) Then open up a shell inside the jail:
FreeNAS Menu > Jails > transmission > three dots (...) > Shell
3) Now install the nano text editor:
Code:
pkg install nano
4) Stop the transmission service before making any changes to its settings:
Code:
service transmission stop
5) Calculate the hash for your desired password within double-quotes, as transmission uses a simple sha1 hash for obfuscating the web UI password:
Code:
sha1 -s "myPassword1234"
You should see an output like this:
Code:
SHA1 ("myPassword1234") = 95b7c59498cac4afdb334b818e82d8eee0a6aee4
This means if your desired password will be myPassword1234 the sha1 hash is 95b7c59498cac4afdb334b818e82d8eee0a6aee4
6) While still in the shell, highlight and copy the hash using CTRL + INSERT.
7) Open up the settings.json file with nano:
Code:
nano /usr/local/etc/transmission/home/settings.json
8) Change/verify the following lines like so .You can use CTRL + INSERT (copy) and SHIFT + INSERT (paste) to copy and paste within the shell and text editor.
============
"rpc-authentication-required":
Should now become...
"rpc-authentication-required": true,
"rpc-enabled":
Should now become...
"rpc-enabled": true,
"rpc-password": "{
Should now become...
"rpc-password": "{95b7c59498cac4afdb334b818e82d8eee0a6aee4",
"rpc-username": "",
Should now become...
"rpc-username": "user",
============
Keep in mind that the "username" and "password" are to be replaced with your desired username and password (sha1 hash) to login through Transmission's web interface. Don't use my hash example, unless you want your password to be myPassword1234.
Pay close attention to the formatting. It must be exactly as shown in the above examples. Every comma, squiggly bracket, colon, and double quotation marks must use the exact format as above.
9) Now start the transmission service again:
Code:
service transmission start
10) Finally, check to see if the changes were set and are working:
With your web browser, visit the appropriate local IP address and port for the jail/plugin, such as http://192.168.0.123:9091
Last edited: