Public shares

Well, the main reason I brought up the issue of public shares is because BTSync is not an open source and it seems that syncthing is close enough in overall functionality to be extended with a parallel concept of a public share. Not sure if that creates such a design nightmare for you that it isn’t worth your bother.

Basically, syncing as such is an extremely important technology in light of this NWO thing, if you know what I am talking about. Because right not throughout the world there is massive campaign on governmental level to suppress the true information about what is actually going on in the world and all the evil done by the “banking mafia”. It is altogether a different subject, but the bottom line is that about the only way you can get true information through this massive and global censorship worldwide is P2P technologies where things are decentralized and the source of information is available not only from the source itself, but from a number of nodes directly.

There is another nasty thing about BTSync. There are reasons to believe they work and/or cooperate with the NSA, and that means massive privacy invasion and electronic warfare among other things. This issue by itself is enough to be real careful coming even close to BTSync. Plus, there are some indications that what they do “under the hood” is not something as innocent as they make it look like. Basically, you are tracked so thoroughly, that if you put it together with possible cooperation with evil agency makes it quite an issue.

Finally, BTSync is profoundly screwed up and the way it looks is that their code is written by some clueless for the most part, at least operational logic-wise. Behavior is totally inconsistent. Reporting, status and the whole GUI looks simply horrible, to the point that if you click on some item in the transfer log window and after that a new log entry appears, then what is selected (highlighted) is not the entry you have selected but the last entry, which is primitive to the point of being simply bizarre.

Yes, there is Hive2Hive Java library. But those guys look like a bunch of goofballs and they don’t even have a working demo version of the actual working program that could be used as a base to build upon. I talked to one of their guys and brought this issue up, but months have passed and they still do not have a demo version of a working program. So, it means that unless you are willing to dive into their code and spend days, or could be weeks before you can get something running, you’re screwed.

There is also LaFS that they claim is working and more or less stable. Except I looked at some of their concepts and had a hard time to comprehend the very idea of “grids” and, allegedly, “distributed storage” and all that jazz. So, again, you’d have to dive into all their stuff and spend days and possibly weeks before you realize that the whole thing is screwed up and all this complexity of architecture “does not buy you” anything.

All we need, information-wise, is a sync process on P2P basis. That is ALL we need as people on this planet, in order to prevent massive destruction and suppression of true information. We don’t need the “grids” of “distributed storage” and massive infrastructures to support some bitcoin alternative.

That leaves syncthing as about the only actually working alternative that already looks good enough to do some real things with information. But its limitation as far as distributing the information on a public basis without any user interaction as far as adding nodes or shares, just like it is done, for example, with torrents, is a major “show stopper” on this with all due respect to the tremendous amount of work done to date and being done all the time, which is a great indication that this thing may remain alive.

But in my opinion it will remain of a limited use for the general public situations from the information distribution standpoint.

Yes, I do not know much about nuts and bolts and GO is not the language I am used to. My prime choice is Java, which is probably the most portable language I am aware of. And it is a well designed language and is superior to C in many respects. As far as notation goes, switching to GO is like looking at the world upside down to me. Yes, you get used to anything eventually, but I found no problems of doing anything I could imagine in Java and interfaces. All these pointer to functions passing functions as arguments is an artificial issue to me, creating complexity where none is necessary. No one forces you to do weirdly complicated things that are not even necessary. You can always find a way to do things in simple and clear way so that your code could be read as easily as a newspaper article.

So, even if I wanted to see if I can do something with syncthing, and especially in the light of your flat denial of the very concept of public shares, this does not look quite promising from the standpoint of general public information distribution.

It does work great for me in combination with BTSync as I use syncthing as a connector between my boxes and server and it works quite well so far, and even better and more predictable than BTSync in many respects. But at this point I can not switch to using synthing as the only tool.

Too bad. So, I can not even start considering to get more involved and possibly do some coding, especially in a new language. I had enough of all sorts of “new ways” of doing the old thing. When I start coding, I tend to “crank it up” and the stuff starts flying all over the place and new good size chunks of code appear every couple of days. With nearly every day there is some more or less tangible improvement in functionality, performance, features and so on. So, my estimate would be to spend something like one moth to take some code to the place I want to see it and would feel comfortable enough with the product. Otherwise, I simply can not afford “spinning wheels getting nowhere fast”.

Hope you can comprehend this angle of view.

Anyway, good luck to you and your project. I am using it and see no reasons not to. I hope at some point you will allow the very idea of public information distribution to be accepted by your mind, instead of standing against it like a rock, and simply look possibly at some state machine architecture or an interface implementation that will allow synthing to work in both modes, public and private in parralel. So far, I can not even begin to comprehend the reason why not. I do not see anything radically different between the way you have it right now and the way to add the general public use functionality to your architecture, if there is any. Yes, I have not seen the code so far and if it was written in Java, that might change some things for me. :smile:

You know what, why don’t you just write a superior syncthing without unnecessary, weirdly complicated things where no complexity is necessary, in Java? Why are you even going on about all this when it’s so trivial to do it simply and clearly in your language of choice?

I’m a big believer in public information distribution, so please don’t put words in my mouth. However I don’t see why this isn’t perfectly covered by existing technologies - BitTorrent as one example, or for that matter HTTP(S)… Regarding the state machine implementation or whatever, see above.

Look calmh, There is no need to get all worked up about it. You do have your position and it is understandable that you have your own vision whatever it is and bringing in a quite different model into picture may take you off the track.

But you don’t have to get angry about it and start getting into intellectual insights with these “why don’t write your own thing if you think it is that simple”? For what? You can simply state: look, I am happy with the way it is and the way I am going and I stand by my word. Right now I do not even begin to consider the public aspects of the application.

I know, the programmer’s egos are some of the most sensitive.

But why do you need to use poison and insult to justify your view?

I did not quite expect you just buy into it outright, which was pretty clear from your earlier response about a week ago or so. And I can understand that once I get an idea for the program and the way I see going about it, it is pretty challenging to get destructed by things that were not even conceived from the start.

Well, good luck and relax about it. This is not the end of the world.

Yes, I was thinking for just forgetting about all this talk and trying to communicate some things to others and “just do it”. The trouble is that to start something from scratch, even using some public code for UTP for example would be spending an unnecessary amount of time and energy just to take it to the point where it becomes something real, and just don’t have that time right now. There are things that are orders of magnitude more critical in my mind than spinning the wheels and doing the work that does not have to be done.

Good luck.

I hope we are done with this. You have your position and I have my own. Who is “right”? - Only God knows for sure! :smile:

Just last thing: At ANY moment in your Life you have a choice:

SUFFER or GIGGLE.

calmh,

Are you trying to say something? Why not just SAY it instead of perverting things?

Why do you need to fall so low? Are you trying to bury yourself as deep as you can manage?

Now, I stand by my word and can provide evidence of what I have said except that it would probably be like pouring the energy into a black hole. Can you?

Let me ask you this:

What do you think about “Deutschland, Deutschland über alles” (literally, “Germany, Germany above all”)?

I have tried to give you a sufficiently reasonable amount of arguments, just as others on this very issue. Now, instead of providing a SINGLE reason or argument, what you are doing is futile attempts at annihilation of anything and everything that does not align with the program in your mind.

For what? What is your “end-goal”? To prove to me and ultimately to yourself that you are “higher” then me and I am just an idiot that can not comprehend the Chinese called GOLANG?

You are funny, I tell ya.

But once you start concocting things, that is quite a different story. Do you, oh greatest programmer the world has ever seen, realize that you can concoct a perversion even out of “facts” and reality?

Look, pal, you can beat your head against the wall for all I care, and it matters to me no more than my cockroaches trying to take over my kitchen table. Sure, I try to talk even to them. But hey, we are talking different languages. They seem to operate on purely energy level and I have something between my ears that has the abilities to construct things they can not comprehend.

Anyway, I do not deal with dishonest people. You can do you thing all day long, makes no difference to me.

But…

Why did not you comment on the most significant thing I have said in all these messages:

You have a choice: To SUFFER or GIGGLE?

Are you a coward?

– Mahasattva Anand Veeren, Member of the council of 21 of Osho, (also known as Bhagwan Shree Rajneesh)

I have no idea how to respond to that…

For the record, my response to the actual feature request of public shares, as opposed to all this other nonsense, is and have been

and

and if someone wants to have a rational discussion about the pain points there and how syncthing could solve them, I’m all ears. This is not it, however.

As you can plainly see above, I giggled.

1 Like

I have no idea how to respond to that…

Good. At least you can admit something. That is the first step.

As far as “existing technologies” go, Bittorrent is a STATIC torrent. That means that once a torrent is created it can not be updated. And since ANY information gets “stale”, it gets “outdated”. That is why there is sync in the first place as far as information issue goes.

As far as all this “clouds” jazz, you are in someone else’s territory and all the promises about 'security" and “encryption” mean nothing much bigger than big funken zero. That is one of the reasons you have this syncthing, isn’t it?

HTTP(S) can be blocked. Because it is a single point of failure. How many times I have to repeat that at this very moment there are tremendous resources being thrown at suppression and destruction of truthful information on the net? Or do you think I am just imagining it? Because they have killed the best authors and researchers and they have closed and bought out the publishers and they have destroyed lives of all those that were able to get to the roots, but all that information, all of a sudden, just floated up again. On the Internet. And we did a good chunk of that work. Now they can suck the exhaust pipe and they won’t be able to destroy things even if they destroy or block the entire sites, not even talking about blocking the individual articles, books and so on.

But we need a P2P DYNAMIC system for that. The name for such a system is Sync on P2P basis. No funky “grids”, not “distributed storage” grand notions. ALL we need is PUBLIC access to DYNAMICALLY changing information base on P2P basis, and encrypted definitely helps. Let those NSA super-comps heat up their CPU units trying to decrypt all the flows of information globally once is gets going.

And if you REALLY mean “I am all ears”, then just review what I have already written.

About the only concern I have at this point is whether you are too much into whatever ideas you have or planned to do with syncthing. In that case, bringing up the issues that significantly impact your entire architecture is definitely not the most pleasant kind of thing to hear, even if I were you.

As far as “This is not it, however”, you need to provide your ARGUMENTS, and not just judgements. What is “it” only God may know. How do you even define “it”? What’s the goal you have in your mind? WHERE are you going with this project? WHAT are you trying to achieve “at the end”? Do you know?

Finally, I am glad you said: “I giggled”.

My suggestion is:

Pet your head as often and you can manage and say to yourself: “good boy”.

And try to do things that make you feel GOOD. Do I have to explain what means “good”? Just look at your posts and may be you can see what means “shitty”. The opposite of that is what is known as “good”. This is called the “negative approach” of Lucifer, if you can even begin to imagine what we are talking about here.

And GIGGLE for God’s sake.

Take that mask of “greatness” off your face and throw it into a garbage bing where it belongs. Because it is your shackles. It simply ENSLAVES you.

Good luck.

If by the original “public share” concept you actually mean a share where anyone can connect and push updates and new files, then that’s certainly not a use case I see for syncthing. If for no other reason, it’s just not something I would want to use myself, so I won’t want to test and support it.

Syncthing is trivial to block. In fact, have you read the support threads about people having somewhat serious issues getting their firewalls to unblock it? At a more technical level, syncthing

  • Almost always uses port 22000 on one end
  • Uses TLS certificates signed by the name “syncthing”
  • Has pretty obvious and recognizable traffic patterns in terms of packet sizes, etc.

It doesn’t take government class resources to block syncthing from your network, if you want to do that kind of thing. In fact, most regular BitTorrent clients are much more aggressive about getting around blocks than syncthing is.

This is your second warning. This is not how we talk to each other around here.

I am done here, my humble friend.

If you want to talk to me it is going to be on MY turf, not yours. And I can promise you one thing: You can say ANYTHING you want and as long as it is not just some random sequence of characters, you won’t even get a “warning” of a type: “that is not how we talk here”.

I talk the way I talk and it does make sense to me. If anyone is interested enough to bother, they can follow up on it. Or they may not. Makes virtually no difference to me unless you are sincere and authentic.

See ya.

To contribute to the discussion about the feature of “Public shares”: I would also find it useful to share a repository with some friends. With the current concept this is really hard if one person already has a big amount of nodes (i already have over 5) to add every node of every person. If you want to keep the data private Dropbox is not really a option there, btsync is probably better, but i would prefer to do this with syncthing. Something like a secret key for a repository like it is used for btsync would be great here. A simple idea to implement something like this is, that the secret could be sent to the announce server (or a separate server where you configure which nodes should get the info about the repo) which then sends back a list of nodes that have this repository. But if you really don’t want such a feature i probably have to accept this^^

Oh yes, that’s a known pain point for sure. There’s a long discussion at https://github.com/calmh/syncthing/issues/120 with ideas for improving this. I think the best I’ve seen so far is a workflow similar to the following (Alice and Bob are already set up, we want to add Charlie);

  • Alice adds Charlie’s node ID and shares two repos with him (already shared with Bob).
  • Alice’s syncthing connects to Charlie.
  • Charlie’s syncthing knows nothing about Alice and shows a dialog “Incoming connection from [Alice node ID] - Accept/Reject?”
  • Charlie accepts the connection. Alice’s syncthing send the list of repos shared with Charlie and the list of other nodes she shares them with.
  • Charlie’s syncthing shows a dialog “New repositories X, Y and sharing nodes [Bob node ID] proposed by [Alice node ID] - Create and share?”
  • Charlie accepts. Syncthing adds Bob’s node ID as sharing the newly created repos.

All in all, this requires one party to add the new group member, and the new group member to click “yes” a couple of times at some point.

Similarly, Bob will get a connection request from Charlie. Setting up some trust relationship to reduce the amount of dialogs might be required at some point. Ideas in the github issue above include “node/repo master” nodes that are implicitly trusted - if they say Charlie is part of the circle, the other nodes will allow it.

But I don’t see this as a “public share” feature, just a smarter way to handle the setup of the current architecture. It wouldn’t scale to “public” levels, and neither would syncthing as such with how it currently works. I’m not looking to replace BitTorrent for large scale content distribution, syncthing is for people who know each other. It should be able to handle about as many nodes as you have friends you trust, or something like that. :slight_smile:

Edit;

I continue to be skeptical of a magic key granting access to a cluster without user interaction. One time keys I could live with, but then the workflow is something like

  • Alice generates a one time key, gives it to Bob
  • Bob enters the one time key
  • Success!

and this only differs significantly from the workflow above in that the one time key will necessarily be longer and nastier than a node ID (because it needs to at least contain node ID + one time password) and that Alice has “pre-accepted” the connection from that point on. It doesn’t cover adding more nodes very easily either I think.

Multiple use keys are too scary and still suffer from being even worse than a node ID to enter manually.

1 Like

this sounds great for me, didn’t see that discussion over there. With a trusted node this seems to work for me, better than a public key since we still know who will connect and get the data :slight_smile: I will read the discussion and contribute there later.