What's new

Transmission...for Asuswrt/Merlin

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

@kvic do you know if transmission installed on the router could be redirected using policy rules with the vpn client? I have never installed it on the router because I was not sure I would be able to route through the VPN client.

Sorry, I haven't used policy based routing so I don't know. Perhaps others can opine in.

I would think shall be easy to fix even if it doesn't work. You can create a network interface alias and assign a different IP address, say, 192.168.1.10 to it. Then bind Transmission to 192.168.1.10 by changing settings in /opt/etc/transmission/settings.json:
Code:
"bind-address-ipv4": "192.168.1.10",

Set your policy based routing for 192.168.1.10 which will just appear to be another client on your LAN, even though we know it's actually originated from the router itself.

I think it shall work, and let us know how it goes.
 
Sorry, I haven't used policy based routing so I don't know. Perhaps others can opine in.

I would think shall be easy to fix even if it doesn't work. You can create a network interface alias and assign a different IP address, say, 192.168.1.10 to it. Then bind Transmission to 192.168.1.10 by changing settings in /opt/etc/transmission/settings.json:
Code:
"bind-address-ipv4": "192.168.1.10",

Set your policy based routing for 192.168.1.10 which will just appear to be another client on your LAN, even though we know it's actually originated from the router itself.

I think it shall work, and let us know how it goes.

I am looking to do this myself but i need a bit of help. I can see the bind address ipv4 setting in transmission but can you explain how to do the bit highlighted above - create network interface alias?

Thanks
 
Sorry, not from me :) Though it'll be an interesting project for motivated individuals.

I would borrow the "two big meters" from Adaptive QoS page as a foundation for such a new Tab. Then figure out how to read speedtest values from a local process (I suppose) and feed back into this HTML page..

Shall be fun. Any volunteers?

While I don't have the coding skills or time to tackle this perhaps this link would help those willing to pursue and perhaps the speedtest-cli package could be loaded into entware/optware and then the output of running that could somehow be feed into the reused adaptive qos bandwidth meter elements.

http://www.tecmint.com/check-internet-speed-from-command-line-in-linux/
 
Wow that plugin looks very cool. That would be a great add on to my AC-66u if it was compiled for mipsel. Look forward to your development if you proceed. Thanks
 
While I don't have the coding skills or time to tackle this perhaps this link would help those willing to pursue and perhaps the speedtest-cli package could be loaded into entware/optware and then the output of running that could somehow be feed into the reused adaptive qos bandwidth meter elements.

http://www.tecmint.com/check-internet-speed-from-command-line-in-linux/

Yeah, I was messing around with the speedtest-cli the other day, only gives the final results though.
 
@beady_uk @Goobi an interface alias can be created with ifconfig. Try the following from command line and see if it can trick "policy based routing" to work. To keep it permanent surviving reboots, need to include the line in services-start.

Code:
ifconfig br0:0 192.168.1.10 up

br0:0 is the alias name to interface br0. The assigned IP shall be changed to avoid any collision in your LAN setup.

Let us know if it works...
 
Wow that plugin looks very cool. That would be a great add on to my AC-66u if it was compiled for mipsel. Look forward to your development if you proceed. Thanks

If people have Transmission from Entware-ng installed, the add-on will work for mipsel. :)
 
Yeah, I was messing around with the speedtest-cli the other day, only gives the final results though.

The "two big meters" with its underlying logics is already providing some sort of real-time feedback of WAN speed as-is.

The problem is a lame assumption by TrendMicro that the meters won't account traffic originated from the router itself. I believe there shall a way to fix that by some clever tricks on network interfaces...just a theory not that I already know how-to.

Once that's worked out, then only have to feed the final scores to the meters and keep the dials there at the end of the test.

Another approach could be changing the speediest-cli to report intermediate readings at constant interval, say, every 2s, and feed them into the "two big meters."

I think one of the approaches shall work...
 
@beady_uk @Goobi an interface alias can be created with ifconfig. Try the following from command line and see if it can trick "policy based routing" to work. To keep it permanent surviving reboots, need to include the line in services-start.

Code:
ifconfig br0:0 192.168.1.10 up

br0:0 is the alias name to interface br0. The assigned IP shall be changed to avoid any collision in your LAN setup.

Let us know if it works...

Thanks for that. Works like a charm.
 
@kvic
Hey there bud.
I actually tried what you said, setting up an alias to interface br0 and adding that IP into the transmission settings.json file. The thing is it worked perfectly until I restarted the router. This is what I get upon restart
transmission-daemon[1304]: Couldn't bind port 24320 on 192.168.1.213: Cannot assign requested address (net.c:380)
transmission-daemon[1304]: UDP Couldn't bind IPv4 socket (tr-udp.c:271)

I've added the line in my services-start as well. The IP assigned to the virtual interface is 192.168.1.213 and I also made a port forward to it.
Any ideas?
 
I'm thinking maybe I should add the ifconfig br0:0 192.168.1.213 up in the init-start script instead?
 
I'm thinking maybe I should add the ifconfig br0:0 192.168.1.213 up in the init-start script instead?

Worth a try... or check if there are any sleep in your services-start. Try moving the line to the beginning of the script..
 
Moved it to the init-start script and it seems to be working fine for now.

Nice. Did you figure out the root cause? The phenomenon indicated the alias interface was only created after /opt/etc/init.d/rc.unslung script (that starts Entware services including Transmission) was run.

That could happen due to a few reasons. By inspecting the content of services-start can tell the root cause of fair certainty.
 
It worked only after the first time I rebooted the router. Stopped after that. Haven't had time to look into it again yet. Will update once I figure it out.
 
Hi Guys,

Thanks for your efforts on this one. I have followed your instructions and managed to get Transmission to work on the router via the VPN and also work after the reboot (Yay!). I had some problems at first, but I think this was something to do with an issue on my USB3 HDD that was attached before I added the EXT3 thumb drive and started again.

The only issue I have found is that if I have an existing torrent running and reboot the router, transmission connects and exposes my real IP to the tracker before the VPN is connected. I think it is only a problem before the VPN starts as opposed to if it is disconnected. My workaround for now is that I have put a 30 sec sleep in before entware loads, which should be long enough for the VPN to connect. This works, but obviously is far from ideal.

So - does anyone know how I would check in the if the VPN is connected before it starts entware (or even better can I make it check before starting Transmission in isolation)?

Thanks again for your help!
 
Check the value of nvram variable 'vpn_clientx_state' where x is the client number. If it's set to a value of 2 the client is up.
 
Thanks @john9527 - I don't know much at all about this stuff, but seem to have it working now...though, I'm doubt I will get any prizes for the code :)

Basically all I have done is add the following at the start of the start-services script - which probably isn't ideal if I add any other services other than Transmission, but it seems ok:

Code:
#wait for VPN
until [ $(nvram get vpn_client1_state) -gt 1 ]
        do
            logger "Waiting 5 seconds for VPN..."
            sleep 5
        done

So now Transmission doesn't start until the VPN is up and I haven't seen my real IP even after a number of reboots.

If anyone is interested, I found this tool great for checking which IP you are handing out to peers and trackers:
http://dev.cbcdn.com/ipmagnet/
 
I have followed the instructions here to get Transmission to go through my VPN. It all works great.

However, I am using IPV6 tunnel, and so Transmission is revealing my tunnel IPV6. I have set the line in settings.json
"bind-address-ipv6": "fe80::"
But it doesn't seem to work. My IPV6 address is still being revealed.

Any ideas?
 

Latest threads

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top