-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sharable Links via traditionally hosted redirect server #2406
Comments
It's a good idea, but I'm not sure about the automatically redirection: I think it would be a more clean solution to let the user decide if wants to open the link in the local client or via a proxy. So as a plan: we would create a https://go.zeronet.io/[Siteaddress] url that would have a short explanation and link to a local client, download instructions and possible links to public proxies. Maybe it would be even better to use https://go.zeronet.io/#[Siteaddress] as url, so the site address would not be sent to the server |
It should be something like And in similar way as Ethereum and IPFS have However, problem here is centralization and relying on singe server. So, when/if ZeroNet would get implementation of domain-based wrapper (@imachug was working on that), it should also locally resolve |
Also, with DNS plugin (which isn't merged yet), you can use DNS reverse proxy for your own site so classic DNS domain resolves to public or personal ZeroNet instance. |
I'm not fan of the "default, official proxy" idea as it would lead to centralization, would not encourage to run other proxies and also magnet of dmca/legal requests. |
Garbage! First of all I have contributed to ZeroNet and my accounts are suspended because Zeronet is full of retarded idiots who reporting my accounts just to make sure I get no credit for my contributions. Well over 20 account is suspended by GitHub. For example I fixed a Hungarian typo d19cc64 and various other pull request I made which was merged. I cleaned up trashy code, fixed encodings added correct MIME types to fix font loading etc... No credit given whatsoever. Also I have reported that ZeroNet is distributed illegally and nearly 3 months after my report the license is the same because @HelloZeroNet is ignorant person who don't give a damn about how previous contributors voted for GPLv3+ #2273 This voting also has been manipulated by @imachug and archive.org and other archiver sites are there to verify this. You should be shameful @shortcutme that you let this happen what happening here for 3 months now. Now you come up with the idea to have a centralized proxy is absolutely disgraceful, not enough that downloading and running ZeroNet will serve your *.zeronetwork.bit domains? Why the hell you want to have a public proxy at zeronet.io also? If someone want to share links and want to resolve that links to ZeroNet than that person whousl spend a few bucks to run a zeroNet proxy on some VPS and set up the domain accordingly. Fix the license, reflect what most of the contributors voted for, give me credit for my contributions and stop being an idiot who centralize ZeroNet with zeronetwork.bit and zeronet.io domains and subdomains on those domains. @filips123 you can start reversing all my contributions because you are the one who sending reports to github. Go and remove / reverse all my contributions. I contributed more to ZeroNet than you! You are disgusting! |
... |
@filips123 @imachug GitHub monkey. Developing a decentralized network on a centralized network where you complaining to GitHub to suspend accounts because you don't want to give credit for contributions is pretty disgusting! Just think about for a second. You all should be thankful for any contribution! Top on that, the same time you claiming that ZeroNet is "censorship resistant" when you motherfckers censoring ZeroNet's GitHub repository. |
@HelloZeroNet Tamas te meg legyel mar olyan szives hogy lecsereled a licenszt! Rakj ra egy GPLv3+ licenszt es mindenki boldog. |
Death and other threats, spamming, trolling, insults... are also pretty disgusting. Just think about for a second. |
Maybe you deserve to be punched in the face when you destroy other peoples work with your complaints to GitHub which often result in account suspension. I can show you 3 account all of which suspended and I have contributed with those accounts to ZeroNet. Think about that for a second. |
@HelloZeroNet ZeroNet should be developed in a place which is uncensorable! @imachug have GitCenter. I'm pretty sure that is censorable too but way better than have an idiot like @filips123 who attacking every single account I use to contribute. Actually I'm a contributor and is sick that I need to open new account because of this retard. |
Imagine you make a contribution and than a few minutes after GitHub flags the account because @filips123 send them some shit. Basically I have well over 20 account suspended and in 3 of them I'm a contributor to ZeroNet. I strongly support the IDEA to abandon fucking GitHub and move to @imachug's GitCenter or some alternative place on ZeroNet itself where this maniac @filips123 can't attack my accounts. |
I wouldn't report you if you wouldn't start spamming, trolling, making threats... |
BS! 😠 For example "Gigantic Black Bear" d19cc64 is suspended without that I made comment! I just sent pr to fix a typo and my account was suspended because of you! There was no comment whatsoever so you lie. |
I didn't report GiganticBlackBear. I just reported account in which you were spamming, trolling and making threats. |
Yeah, so GitHub just for fun suspending my account right after that my PR get merged to ZeroNet. Cut the BS! |
Do you have any proof that I reported your account? If not, shut up! |
You acknowledge that you like a maniac reporting all my account, I have all reasons to believe that one too. You contributed 8 times a total to ZeroNet and your contribution sucks. @imachug and @shortcutme at least commit useful things and they not abusing GitHub systems like you. Shame on you. |
Still no proof... Shame on you! |
And what are your contributions? Stupid typo fix that you try to copyright. Or handling MIME types according to standards. Why don't you copyright Hello World program? |
And just that you know. I didn't reported this exact account you had until few minutes ago. I actually noticed that it is deleted 30 seconds ago. |
Wow, well thank you @HelloZeroNet, @krzysztof113, and @filips123 for responding so quickly, I'm used to waiting a few weeks before hearing anything on my issues.
This is great, it is exactly the kind of thing I had in mind. Thank you!
Thats a good consideration, I had not considered proxies as I didn't set one up myself. The redirect website could have an option similar to Android's option of "Open ___ link with __ app [Always] [Just this one Time]" But instead of ___ app it would be local network or via a proxy and it could save the user's preference to localStorage.
I'm not sure what you mean by this. Won't the server need the site address in order to perform the redirect?
While I'm not so sure about a central proxy, I do think having With that said about a central redirect service, I agree there should always be an ability to switch to an alternative. However, as per https://github.com/krzysztof113/ZeronetLink we already have that alternative. |
Hi @ghost, If you're reading this, why not use your GPLv2-given-right and just clone the repo? You can
The beauty of open source, is you never have to tell someone what to do because you can always do it yourself. So why not take advantage of that, and stop disrupting a conversation between people who would like to work together. |
Redirect could be performed by JavaScript. And because URL fragments (after #) are not sent to server, it shouldn't be able to track them.
He actually can't publicly relicense ZeroNet as it is licensed as GPLv2-only and this means that he needs agreement from all ZeroNet contributors to relicense their work. He won't need agreement if ZeroNet would be licensed as GPLv2-or-later, but it is not. That page from GNU is just for relicesing your own work, but since ZeroNet includes contributions from other users, he needs agreement from them. |
Interesting, I wasn't aware of that functionality. From a security standpoint, on the downside the client could still send the data back to the server, but on the (stronger) upside: everyone can see what the client is doing and if they see it send data back to the server would be incredibly suspicious. So that sounds like a fantastic idea to me. Now that I think about it, the redirect service could easily be hosted as a GitHub pages site.
Ah, but you see @ghost has contributed vast amounts of code so clearly he can just fill in the gaps and then upgrade the license 😄 (thank you for the info though, it was unclear to me how that would have been handled) |
I also had a similar idea with a concrete idea. That would be a simple solution. Given a XY GB sized storage no matter how much big! It’s works with single zites and optional files too! Old files are automatically deleted from the server when someone asks for new ones. This deletion depends on the storage capacity. The are a browser notification system. Becuse many things are not immediately available. If the requested file has downloaded the browser shows a popup with the link! Later, it will remain online untill other users requesting other data. And at the end of the list it is deleted. This would require one plugin. And a server access to port 80 what working like a simple http server. These servers they could communicate with each other. So if somebody's got the full thing what the user want then a simple redirection happend. This redirection can happend to multiple cilent too. As well as downloading the same thing too can make 2 or more client too.If no one has it.So if you have one server what goes offline data is still available.It could work behind TOR too. File and zite owners this way even if they not 24/7 active could easily be shared their own content in clearnet. But for that, something would be very important. For all large file need a download button regardless of the page. What resume the download.Something like this: Files download one click using a discrete msg, what shows the client when existing a large file in the opened page. You could protect your own files from automatic deletion.And just a separate line need in the client like the recently downloaded sites in Zero Hello menu. And a similar seperated line in files menu. To not to get mixed up with the user own things. It could be added here the own files too as indexed from the files using a single button click.From behind Tor anonymous way anyone could set up such a server who online permanently for several hours a day or 24/7. Thats another server what have clearnet access can index too the server what server are behind TOR.This system could also be used for that to help seeding unseeded or new files too. And that's not all. Users could also be encouraged through a reward-based system. Whoever runs such a service it can be retrieved or stored data on this network. And so it can be stored long term the users his own files and zites who help with this. |
I have created a first version: It checks the local client by loading http://127.0.0.1:43110/favicon.ico If anyone has other proxy addresses it can be added here: https://github.com/HelloZeroNet/zeronet.io/blob/master/index.html#L120 |
It doesn't work for me in Firefox. It says that my ZeroNet local client is not detected, even if it is running. It fails because it tries to load favicon as a stylesheet so MIME type is incorrect. |
Also, wouldn't it be better to create a separate HTML and CSS files for this, as currently it is just embedds in main ZeroNet website? So it also loads 10 more files even if they are not needed for this. So it would be |
Thanks for the suggestions, I have changed the checking and it should work now on FF. If you are running the client on non-default port you can still click the link and change the port/host later. I think this is the best solution we can find now. |
This is great, and I think there's just one addition I'd like to request. Can there be a split between local and proxy with a url? Otherwise I'm going to need to give a little mini-tutorial with every post explaining to users what to expect (that the link doesn't actually go to my site) and option to pick which is kind of what I was trying to avoid in the first place. If there are two urls: I can say: That way once any user clicks the link they're greeted with what they expected instead of a 404-looking page even when they have Zeronet installed. |
@HelloZeroNet sorry to say but it's still broken atm. Site address is ignored. @jeff-hykin it shouldn't be working like this as using proxy promotes centralization. So it shouldn't be recommended, rather last resort. |
The my bad, the address format is https://go.zeronet.io/#Site:1BLogC9LN4oPDcruNz3qo1ysa133E9AGg8 You should only use it for non-ZeroNet users. There is no reason to use this page if you expect that the user already have zeronet installed. |
@HelloZeroNet I created PR which modifiers regex to allow both access with |
I think it's better to have one format. In the future we will have non-site addressed (hash-based) content on zeronet, so this way it's more future-proof. |
I'm dumb, please ignore that^ last message. I could literally just use the local client url or proxy url.
Oh I agree, my original request I was assuming proxy wasn't even going to be an option. |
The reason I opened the issue is because I expect a mixed audience (some have ZeroNet, some don't, and I have no way of knowing the difference). I think an example will illustrate the situation, so lets assume we're trying to make KopyKate go mainstream
Its hard enough to get people interested in a regular site when all they have to do is click the link. Adding a technical question like "Using a proxy or using a local client?" is going to act as a deterrent. Users will say "yeah, I was curious, but not curious enough to do research on proxies". Think of the days of FlashPlayer; people couldn't even tell you if they had FlashPlayer installed, they just installed it if they were told they needed it and then they would reload the page. (This isn't in support of FlashPlayer, it just shows what non-technical users are capable of and how they behave) Needing to install ZeroNet is also a deterrent, but I believe its a necessary step for the scaleability of a mainstream site (KopyKate wouldn't work without P2P). And FlashPlayer has proven that installation is not too heavy of a burden for non-technical users. If I'm presenting my site to a group of people, or if friends-of-friends are sharing my link on forums, I need the service to be as accessible as possible. I can't afford for it to inconvenience or confuse non-technical people who may or may not have ZeroNet installed & running, and the site itself can't afford for many people to be using proxies because of how much it would degrade performance/experience. |
Is your feature request related to a problem? Please describe.
Even if I specify that ZeroNet is needed, people still complain that the link doesn't work.
I can't really blame them, I'm busy too.
I'd like to make ZeroNet sites slightly more friendly for sharing on mainstream outlets (where people may or may not have ZeroNet installed).
Describe the behavior you'd like
As a Zite dev, I'd like to generate a shareable link (different from the Zite url), such that, when people visit that link, if they don't have Zeronet installed, they receive an explanation that they need ZeroNet, with directions/references on installation. (And if they do have Zeronet installed, they are redirected to the actual Zite)
Describe a possible implementation
I could set this up for proof of concept
Describe alternatives you've considered
Additional context
ZeroNet is an incredible hidden gem, but it seems like its staying hidden. As a web dev ZeroNet has some of the most well designed interfaces I've seen on the entire internet. I'd love this to become more common, as I have several must-be-zeronet apps I'd like develop.
The text was updated successfully, but these errors were encountered: