own tracker


Recommended Posts

Try adding the IP address and Port of each computer to the share definition:

  1. Preferences -> make note of the port number on each computer
  2. Shared Folders -> double click the share
  3. Hosts -> Add -> put in every other computer's IP address and port number
  4. Restart BTSync for good measure (might want to check the port number again in step #1 after doing this to make sure it didn't change?)

Also, even if this does work, there doesn't seem to be an option in the GUI version to not randomize the port on each start ... not sure if it does that by default or not ... I haven't checked.

EDIT: you know, I was thinking about this more. BTSync sends broadcast frames on the LAN so the clients find each other without the Internet. So I wonder if you have a software firewall installed on one of the computers that may be preventing this behavior? The default Windows Firewall shouldn't block it since BTSync enters exception rules for it.

Link to comment
Share on other sites

EDIT: you know, I was thinking about this more. BTSync sends broadcast frames on the LAN so the clients find each other without the Internet. So I wonder if you have a software firewall installed on one of the computers that may be preventing this behavior? The default Windows Firewall shouldn't block it since BTSync enters exception rules for it.

The clients are on different subnets - i think the broadcast frames did not reach the other subnet.

Each subnet has its own ip adress range.

Link to comment
Share on other sites

The clients are on different subnets - i think the broadcast frames did not reach the other subnet.

Each subnet has its own ip adress range.

Well that's still interesting. Maybe the LAN broadcast functionality doesn't work like this, but I would assume that the IP:Port of the client is being broadcast, so when a client attempts to make a connection, it would go through the default route to reach the other subnet through the router.

You do have a default route and router, don't you? ;-)

And if it doesn't work that way, manually adding the IP:Port of the other computers as I described should definitely work. (Again, assuming you have a default route and router.)

Link to comment
Share on other sites

Well that's still interesting. Maybe the LAN broadcast functionality doesn't work like this, but I would assume that the IP:Port of the client is being broadcast, so when a client attempts to make a connection, it would go through the default route to reach the other subnet through the router.

You do have a default route and router, don't you? ;-)

And if it doesn't work that way, manually adding the IP:Port of the other computers as I described should definitely work. (Again, assuming you have a default route and router.)

I do admit that I've never dealt with broadcast packets past a basic WOL script I wrote, however, is it not only listenable on 255.255.255.0/24? I may be wrong, and, it's more of a question.

Link to comment
Share on other sites

Well typically when one refers to LAN broadcasts we would be using layer-2 Ethernet MAC broadcasts to MAC address FF:FF:FF:FF:FF:FF.

It is possible to do layer-3 IP broadcasts using the broadcast address of the subnet (e.g., 192.168.1.0/24 network has a broadcast address of 192.168.1.255), and that's how ARP works for IP-to-MAC resolution, but apart from that it's very rare for an application to use an IP broadcast.

I would be very, very surprised if BTSync was using IP broadcast instead of MAC broadcasting.

If I had more time I'd break out a protocol sniffer and check for myself ... maybe sometime next week.

Link to comment
Share on other sites

I think the tracker for btsync is different from the tracker for normal BitTorrent; it's also not possible currently to specify your own. With a few iptables rules you could redirect traffic to your own IP address, and the protocol doesn't seem that complex so you could dump some packets and try to reverse engineer it if you wanted.

If you can't ping one client from the other then you better fix that issue first. The clients have to be able to send/receive UDP packets from each other for btsync to be able to work (if you set the host+port in configuration, no broadcast packets need to be used, it sends UDP packets "directly").

Link to comment
Share on other sites

After adding ip & port to the share definition it works.

It seems that our routers between the subnets are blocking the broadcast packets.

We have 82 subnets with different ip ranges - so its a lot of work adding the ip to the clients manually ;-((

Any solution to this? its a company network without internet access - it would be nice if i could set up our own tracker.

Link to comment
Share on other sites

Well, for now you could try connecting all of them to a few (1-5) servers, and then enabling DHT which should allow them to discover more. Anyway I think it'll take a lot more bandwidth than necessary if each instance connects to every other instance (I get constant 3 KB/s idle chatter with 10 connections).

Somewhere they said they were going to release tracker eventually.

Link to comment
Share on other sites

After adding ip & port to the share definition it works.

It seems that our routers between the subnets are blocking the broadcast packets.

Yes, this is to be expected. One of the reasons to subnet an IP network is to separate your broadcast domains. An IP broadcast will not leave the IP subnet; that is to say, a router will not forward a broadcast to a different subnet and that's by design.

I really like perennate's suggestion to add a few peers manually like you did, and then turn on DHT. On a true LAN environment (not separated by slow WAN links) the overhead chatter of DHT shouldn't matter. This sounds like a great solution until BTSync is updated to allow manual Tracker.

Link to comment
Share on other sites

  • 10 months later...
  • 3 weeks later...
Search LAN

What is the exact mechanism for "Search LAN"?

How exactly does search LAN work? What is the operational protocol in terms of functionality and what are all the conditions on the nodes in order to become searchable on the LAN? Does some node have to merely run the btsync on the LAN in order to be searched, or does it have to have the particular share physically stored on it in order for it to become searchable?

 

BTSync sends multicast packets to 239.192.0.0 over UDP 3838. Only peers in current subnet receive these packets. Peers have to run BTSync to be discovered.

 

Search DHT network

It is not clear if search DHT is applicable to both, the r/w and r/o nodes. Technically, the r/w nodes are the only nodes that could be considered to be the reference suppliers of information. Because the r/o nodes may stop distribution of certain files and/or subdirectories by simply modifying or deleting and re-adding some files they do not wish to propagate or to be updated from the master r/w nodes. So, the first question would be do r/w nodes also search the DHT network or they are merely the suppliers, like servers?

 

Both. DHT means you have to store part of distributed table as well as use other peers to find what you need.

 

The 2nd question is: what does it mean the DHT NETWORK? Who may become a member of that network? Is it only the BTSync nodes? Then, what exactly happens if this search box is checked? Does it mean that the r/o, or even r/w nodes will broadcast some hashes worldwide and all those, who are interested in this share and have btsync running and have this particular share in their database may respond with their IP/port info in case this checkbox is checked on their node? In other words, is it necessary for some share to be physically present on some node in order for it to respond to DHT requests, or is it enough for it to merely run the btsync?

 

BTSync and uTorrent peers. Checking "Use DHT network" means that you are going to search DHT for the hashes you need as well as store part of DHT and respond other searching peers. As soon as you are part of DHT - you are going to keep some DHT load, regardless of the folders you have. The distribution itself has complex logic, you can take a look at Wiki for details.

 

Use predefined hosts

By predefined hosts may we assume to be the hostname/IP:port info of all the hosts that have this particular share and have "Search DHT network" checkbox checked? Is this correct?

Predefined hosts has no relation to DHT. It is just a host with installed BTSync, presumably having the same share and listening to a particular port.

 

Or, can ANY host merely running the btsync, can also behave like a tracker even if it does not have this particular share?

In other words, what are the exact condition for some node to become the "predefined host"?

Every host is a little bit tracker: contacting other peers it will let them know the information on how to contact other peers related to the share they are merging right now.

 

Main target to create predefined hosts was to offer a way to contact some peer which is not contacting tracker (and therefore can't share information about itself).

 

 

Use relay server when required

What is the definition of "required"? In which cases some node becomes "required"? What is the exact behavior of btsync if this checkbox is checked? It seems to imply that the information physically flows through the relay servers. But all the conditions to be fulfilled are not clear.

Relay server is required when peers can't establish direct connection. Relay server has a public IP, so any peer can connect to it. Information physically flows thru relay server, when it is used. This is rather slow, though.

 

What has to be done in order for some host to become the relay server? Does it have to merely run the btsync? Does it have to have the particular share available on it locally or will this search be performed even if that node does not actually have the particular share available on it locally?

Host can't be a relay. Relay server transfers ANY data and has no secrets, while peer may transfer data to other peers only if it has relevant secret.

 

Do the relay servers have to run the btsync program in order to behave like a relay server?

No. Relay server runs specific software, as it has no secrets and needs just to proxy all the data between peers.

 

But how does btsync know the IP:ports of BT trackers if they are not defined as user modifiable parameter? This seems to imply that btsync node "under the hood" communicates with BT network to the known and internally predefined hosts unless BT tracker IP:port addresses are discovered via UDP broadcasts, in which case, how exactly does it work?

 

BTSync has hardcoded DNS names. "r.usyncapp.com" for relay server, "t.usyncapp.com" for tracker server. First resolves to 2 IPs, second - to 3 IPs.

 

[Forum engine complains on too many quotes, so from here I put quotes as italic]

 

The side effect of it may be that BT, being forever present in all the btsync transfers may be ordered at some point to collect and archive all this information and there is no guarantee that that will make it publicly known.

 

All information sent to tracker is a hashes of some secrets and IPs which can be contacted to obtain it. Hash gives no idea what info is synced, even if you have a huge collection of hashes from same IPs.

 

This means that using btsync you are always under the "watchful eye" and all your moves and all your content is logged by those who are interested and have influence on BT, and we are not going to mention the NSA type of agencies here.  :)

 

Tracker server has no your data, as I mentioned above. Relay has no keys and can be easily disabled. BT has no technical way to monitor your data.

 

Finally, what are the exact settings in order to EXCLUDE the BT trackers so that would not interfere and/or snoop on your traffic? Is it possible at all in light of the "search DHT network" checkbox setting?

 

Disable tracker, relay, DHT. BTSync will work fine in LAN, to force it syncing with someone else you'll need to use pre-defined hosts and do a port forwarding manually if your other peers are behind NAT.

 

Because, security-wise, if you disable the "use the BT tracker" option, you may get a false sense of security. But, internally, there is absolutely nothing that prevents BTSync from still contacting the trackers, or ANY BT hosts for that matter for as long as they remain prewired.

 

Why can't? Use firewall. Use custom DNS server. Use hosts file.

Link to comment
Share on other sites

Because, security-wise, if you disable the "use the BT tracker" option, you may get a false sense of security. But, internally, there is absolutely nothing that prevents BTSync from still contacting the trackers, or ANY BT hosts for that matter for as long as they remain prewired.

Why can't? Use firewall. Use custom DNS server. Use hosts file.

Yep.

Link to comment
Share on other sites

Guest proactiveservices
(many things)

 

I can't "Like" your post so I shall reply here to say "thank you". Can you ask the forum software to let us Like admin posts?

Link to comment
Share on other sites

And thanks for the ideas about how to block the IP using a firewall for example. Except, in general public application I can only block it to my own node, while all other nodes remain wide open.

 

It hardly depends on your firewall. If FW supports Application Control - you can set a rule for BTSync to let it out only to hosts you define in predefined hosts section. Or just block all DNS names / IPs used by BTSync.

 

I can't "Like" your post so I shall reply here to say "thank you". Can you ask the forum software to let us Like admin posts?

 

Probably forum software does not like admins and does not let anyone to like us ;)

Link to comment
Share on other sites

If I recall correctly, BTSync uses uTorrent compatible tracker algorithms.

Q: Is it possible to add non-BT trackers, that are used with regular torrents, regardless of whether BT tracker option is enabled by "Use tracker server"?

If not, are there any plans to implement such a feature?

Link to comment
Share on other sites

If I recall correctly, BTSync uses uTorrent compatible tracker algorithms.

Sync uses a variation of a "standard" BitTorrent tracker.

 

Q: Is it possible to add non-BT trackers, that are used with regular torrents, regardless of whether BT tracker option is enabled by "Use tracker server"?

Not presently, but the ability to run your own "tracker" for Sync is likely to be an "Enterprise" feature.

 

If not, are there any plans to implement such a feature?

Sounds like a post for the Wishlist

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.