On Tue, Jun 16, 2009 at 4:00 PM, Matthew Toseland<toad at amphibian.dyndns.org> wrote: > On Tuesday 16 June 2009 20:35:12 Evan Daniel wrote: >> On Tue, Jun 16, 2009 at 3:13 PM, Matthew >> Toseland<toad at amphibian.dyndns.org> wrote: >> > On Tuesday 16 June 2009 19:55:15 Evan Daniel wrote: >> >> The current elections and related trouble in Iran set me to thinking. >> >> The government is engaged in a censorship campaign to shut down >> >> communications in response to allegations that the election results >> >> were unfair. ?(Exactly how much internet censorship is going on is >> >> something I'm not entirely clear on; censoring of traditional media >> >> and broadcast means may be more prevalent.) ?What are the current >> >> unsolved problems that prevent Freenet from being useful in such a >> >> situation? ?I think sometimes both the users and developers of Freenet >> >> spend too much time thinking about what features we want, and how to >> >> improve Freenet as it currently is, and not enough time on what would >> >> be required to make it useful to the people who are nominally our >> >> target audience. >> > >> > Well, private Internet connections are illegal in Iran (as in Cuba). >> > Cybercafes are heavily regulated. This is a major complicating factor! >> >> Nonetheless, people appear to be using the internet to coordinate >> protests and such. ?That suggests that they either have such >> connections, or are willing to take the level of risk that comes from >> making use of monitored connections. ?Perhaps we should assume that >> users can get a net connection, illicit or otherwise, and have >> Freenet's goal simply be to make automated firewall blocking >> difficult? ?(Which I suspect it already does a fairly well, at least >> in darknet mode.) ?Assuming that people who could use our feature set >> and appear to be asking for something like Freenet can't make use of >> Freenet seems like a bad way to proceed :) > > Depends on how much collateral damage is acceptable. The Iranian authorities > have already shut down SMS support on the cellphone network ... otoh, the > obvious measure of blocking all domestic to domestic connections isn't > possible because officially there aren't any domestic connections. Similar > measures may well be possible though. > > Furthermore, such situations require something you can hit-and-run with. > Freenet currently is the diametric opposite of this. For good performance you > need to run 24x7, and for darknet to work at all you need fairly high uptime, > because end to end requests require the two ends to be connected by some > currently online series of nodes! Low uptime darknet is very far from an easy > problem. While external central servers are available, they are the best > solution, but once they are blocked, there may be some possibilities - but a > fragmented low uptime darknet will be slow, you will have to wait for the > relevant nodes to come back online and propagate the data etc. This is > assuming 0.10 features - persistent passive requests. >> >> >> Consider the following, posted as an Ask Slashdot: >> >> "People, we need your urgent help in Iran. We are under attack by the >> >> government. They stole the election. And now are arresting everybody. >> >> They also filtered every sensitive Web page. But our problem is that >> >> they also block the SMS network and are scrambling satellite TVs. >> >> Please, can you help us to set up some sort of network using our home >> >> wireless access points? Can anybody show us a link on how to install >> >> small TV/radio stations? Any suggestion for setting up a network? >> >> Please tell us what to do or we are going to die in the a nuclear war >> >> between Iran and US." >> >> http://ask.slashdot.org/story/09/06/14/183200/Iran-Moves-To-End-Facebook-Revolution?art_pos=1 >> >> >> >> So, here we have a case where a political group needs to communicate, >> >> has some amount of internet and wifi connectivity available, and fears >> >> censorship. ?That sounds to me like the perfect place for Freenet. >> >> The numbers suggest it doesn't have to be as invisible as some of our >> >> plans would eventually make it; it merely has to be hard to filter. >> >> >> >> So why isn't "Just use Freenet!" a valid response to that question? >> >> What would be required to make it so? ?Somehow I doubt this will be >> >> the last time this sort of situation occurs, either in general or in >> >> Iran specifically. >> > >> > Because private Internet connections are illegal, and webcafes are >> > probably sufficiently locked down to prevent installing software. >> > Certainly they have supervision software which takes a screenshot once per >> > minute, plus ID is recorded when you sign on. >> >> >> >> First, we would need a Persian translation, and possibly other >> >> languages as well. ?Ideally, we wan >> > >> > Agreed, we need more translations, particularly Persian, up to date >> > Mandarin etc. >> >> >> >> Second, I think we need a web interface for creating something like a >> >> blog or facebook page. ?A separate program might work as well, but I >> >> suspect a web interface would be better. ?The key here, imho, is >> >> simplicity and ease of learning rather than capability. ?If the user >> >> can post text with inline images, and link to other pages and media >> >> files, I suspect that would be sufficient to be useful. ?For anything >> >> more complicated, they can go to a real html editor. >> > >> > Agreed. The closest thing we have at the moment is Thingamablog. It >> > doesn't have a forum. >> >> >> >> Third, Twitter seems to be a very popular way to communicate there. >> >> How hard would it be to create a Twitter equivalent over Freenet? ?How >> >> low could the latency be? ?The 160 character limit on messages is >> >> probably helpful here -- along with some metadata and a couple links >> >> to other tweets, it should all fit in a single 1KiB SSK. ?As always, >> >> searching and spam resistance are potential problems. >> > >> > Page-embedded forums could be close IMHO. Of course they would be slowish. >> >> Could something designed specifically as a twitter replacement be >> faster? ?Of course, properly cloning twitter requires the ability to >> search on hashtags, which is probably nontrivial. > > No, because of spam. IMHO the fundamental design issue is spam. However, it > doesn't have to be hideously slow.
Well, we've already established that I think spam is a more tractable problem than some people do :) It would use the same WoT plugin as Freetalk, right? Shouldn't the spam problem be equally tractable (or intractable) for Freetalk and a twitter clone? >> >> >> Fourth, distribution of Freenet itself is important. ?That means an >> >> offline installer. ?I think we should consider going back to serving >> >> the bundle of offline installer + noderef from the web interface. >> > >> > We ship an offline installer for all platforms as of before releasing >> > 0.7.5. Redistribution over HTTP would be easy to block, and would require >> > forwarding an HTTP port. >> >> Suppose the main project page is blocked, but I have a friend running >> Freenet. ?How do I run Freenet? ?If his nodes' web interface had a >> link that said "click here to download a redistributable installer" >> then he could easily give it to me, even if the node doesn't serve >> external html. ?IMHO, the case where a user manages to get Freenet >> running behind such a wall and then has even a small amount of >> difficulty helping his friend set it up is *bad*. > > Even if he got his friend to run it, a single darknet connection makes for > very poor performance/reliability. > > But yes, inserting the two main installers into an SSK sequence and having > nodes download them and allow users to download them *locally* is a good > idea; this isn't a distribution servlet, it isn't open to the wider world, > but it allows them to get an installer to send to their friend, even if they > installed months ago, lost the original installer, and the route by which > they obtained the installer is now closed. > > So the proposal is that we insert the installers along with the update jars, > and have *all* nodes download them, and make them available to the user? At > least as a first approximation? If you think this is a good idea I will file > a bug for it. Yes, that's my basic proposal. For the more general case, consider if there's a small network of Freenet users inside Iran, and *then* the big newsworthy event happens, causing a simultaneous increase in the amount of censorship and in the interest in installing Freenet. Having the installers readily available, even if the user deleted the one they installed from (or downloaded the Windows installer when their friend runs Linux) is a good thing. And in that scenario, it's not hard to imagine getting several darknet connections, but still having trouble finding a copy of the installer if the new users vastly outnumber the established ones. Presumably they could be updated on a slightly slower schedule than the update jars, if the size of the upload is problematic for you when releasing a new build. >> >> >> Fifth, how well would Freenet work with wifi mesh networking (not a >> >> subject I know much about...)? ?Is there a way to use Freenet's >> >> routing to create long useful links over multiple wifi hops? ?Normally >> >> the problem with making mesh networking useful is routing -- but >> >> Freenet already has a fairly good architecture in place to handle >> >> that. ?It should just be a matter of setting up darknet links on >> >> different interfaces easily, right? >> > >> > Maybe. >> >> IMHO testing of this scenario, and copious documentation on how to get >> Freenet running in it, would be a good thing. > > Possibly. One serious issue is that it doesn't really fit with the required > topology: lots of short links and a few long links. For a small darknet > that's not a big problem, but for a small darknet there may be other tools > that fit better. What if the topology of the mesh network was a bunch of nodes that mostly only had short local connections, but that some nodes had managed to get an illicit Internet connection? I suspect that in the interesting scenarios, connections to the Internet are neither nonexistent nor common. >> >> >> We've already discussed it to death in the past, so I'd prefer to >> >> avoid an in-depth discussion on the technical aspects, but I think >> >> this is a situation where Freenet over sneakernet might be useful -- >> >> limited but nonzero network connectivity, combined with a >> >> geographically compact and motivated user base, and a desire to send >> >> large amounts of data (photos and videos from protests can be much >> >> more powerful than mere descriptions of them, for example). ?The >> >> bandwidth represented by swapping relatively cheap USB keys is >> >> significant, even in comparison to a wifi link. >> > >> > Agreed. But most people here disagree. However, the current long term >> > plans (bloom filters in 0.8, new load management in 0.9, persistent and >> > passive requests in 0.10) fit very nicely with Sneakernet and other >> > non-constant-connectivity / non-end-to-end transports being introduced >> > some time around 1.0. >> >> >> >> Have I covered the major points? ?Are there any other must-have >> >> features? ?Also, giving some thought to funding might be appropriate. >> >> Are there organizations we could approach with a specific list of >> >> features we want to add, and just need funding / developer time / >> >> translator time to make possible? ?Things like a freesite insertion >> >> wizard would probably take a bit of effort from a competent developer, >> >> but unless I'm mistaken that developer wouldn't have to be intimately >> >> familiar with Freenet. >> > >> > We have tried to do that with SoC in the past, without much success - the >> > Echo plugin for example. >> > >> > If you have any suggestions for funding applications, talk to Ian. >> >> I'll give it some thought. ?Having clear written proposals about what >> we could do with the money is probably a prerequisite to requesting >> it, and probably only marginally dependent on who we ask. > > Great. > > Re creating websites, IMHO a wizard to upload existing content is important, > and fairly easy. Creating new sites using templates, being a combined blog, > forum, picture and filesharing site, should not be that difficult, we just > need some code to steal... and we need a working forums system. IMHO Freetalk > is more urgent and more important. > I'm inclined to agree about Freetalk being more important. A simple way to add content in freesite form should be not far behind it, though. (And for a more mundane reason: right now, a lot of our new users look around and decide there isn't much content. They never set up Frost or FMS. Having an active collection of blogs would give them something to explore when first setting up Freenet.) Evan Daniel
