Programming Archives

Answer To A Freenet Question

I recently received an email asking about something I said on my unofficial freenet 0.5 download page.  After answering, I decided that it’d be worthwhile to share that answer for anyone else who might have any passing interest in my opinions.  (with the addition of fixing a few typos and a broken sentence or two that were in the original.)

Note that I’m not against 0.7 so much as I prefer 0.5 for the reasons stated below.  I’m also aware that freenet in whatever flavor is still a work in progress and that in time things such as my opinion may change.  At the very least I think this is food for thought.

on the freenet 0.5 part of your website (http://peculiarplace.com/freenet/) you state:

“I personally believe that this is not a good idea because 0.7 still lacks features that many feel it should have.”

Could you please point out some of these features for me, that 0.7 seems to be missing? Does the 0.5 version provide these features instead of 0.7?

You also state “[…]the stable version (0.5) that a lot of freenet users consider to still be better and more anonymous than 0.7”, without giving any reasons. Why do people think that 0.7 is less anonymous?

One of the reasons I had for that was the lack of a functioning opennet capability.  Of course when I wrote that, opennet was still a far off concept that many on 0.7 were arguing strongly against.  Now that opennet is available on new installs 0.7 is scoring better in that regard.

Darknet is still something of a crap shoot in my opinion.  Making trustworthy darknet connections requires that you actually know the person whose node you’re exchanged darknet refs with and have reason to trust them.  For most people, that’s just not going to happen.

I’ve made the mistake of casually mentioning freenet to people in the past, only to watch their eyes glaze over as I then have to explain what it is and why it’s important enough to get involved with. Now I’m a lot slower to even mention freenet to anyone, let alone trust them enough to exchange darkenet refs with.

Even though there are somewhat secure means (encrypted frost msgs, etc.), there still remains the fact that most of the time, people are forced to exchange refs with people they don’t know and have no reason to trust in order to make darknet connections. There’s GOT to be a better way to deal with this. No, I don’t presently have any ideas, if I do come up with any I’ll be sure to publish them.

Another reason is embodied in this warning generated when the node starts up:

==
Note that this version of Freenet is still a very early alpha, and may well have numerous bugs and design flaws. In particular: YOU ARE WIDE OPEN TO YOUR IMMEDIATE PEERS! They can eavesdrop on your requests with relatively little difficulty at present (correlation attacks etc).
==

I realize that this vulnerability exists for 0.5 as well, however in 0.5 there is a much greater “plausible denyability” because 0.5’s opennet has a much larger number of open connections creates a greater level of transient requests than 0.7

0.7 however, doesn’t have nearly the number of open connections since it’s hard-coded to limit the total number of opennet connections to 20 and the maximum recommended number of darknet connections is 15 or so.  This, combined with the potential eavesdropping means that 0.7 nodes have less “plausible denyability”. Darknet only nodes having even less than opennet or hybrid nodes

As I understand what Toad has said about it, the only real cure for this is premix routing which would make it impossible (or as nearly so as is practical) for immediate peers to eavesdrop on requests or to attempt to snoop the contents of any given node’s datastore.  He has said that implementation of premix routing isn’t planned until 0.8

Yes, 0.5 would benefit just as much as 0.7 from the inclusion of premix routing, but because of the differences in how the two opennets work I think that 0.5 comes out with a greater anonymity and security, not only of the contents of a node’s datastore, but also in the anonymity of who is inserting or requesting what.

There’s also the matter of the node now handling inserts and requests to the degree that once the individual app initially hands it to the node, the app no longer has much say in how the transfers are handled because the node is processing everything.  I think that while there are benefits in being able to have the node handle everything like that, there’s times when it’d be better to do it the old way with the app handling things.

The final thing that a lot of 0.5 users don’t like one bit about 0.7 is the fact that while 0.7 is just great at moving small files or frost messages, it has turned out to be a lumbering dinosaur when it comes to inserting or requesting large splitfiles.


To illustrate the point about the number of connections, my 0.5 node currently has 172 connections to other nodes, some initiated by my node, others initiated by other nodes.  These connections persist for varying amounts of time and then new connections are made automatically.  No one node can really make even a good guess whether a request or insert that it receives from my node is coming from my node or is actually just being forwarded from another node or where it is in a chain that could be as long as twenty hops.

I also have an 0.7 node that I run periodically for a few days a week.  It has four darknet connections and sixteen opennet connections.  That’s not much of a crowd to hide in.


Technorati Tags: Anonymity, anonymous+network, anonymous+p2p, connections, darknet, file+sharing, freenet, freenet+0.5, freenet+0.7, freenet+project, hide+in+the+crowd, network, opennet, opinion, p2p, plausible+denyability, premix+routing, Security, toad

When wordpress went from version 2.2 to 2.3, one of the changes I noticed was the incoming links are no longer shown from Technorati.  Instead you see the incoming links from a google blogsearch.  I started out doing this because I wasn't all that thrilled about the change and wanted to change back.  Along the way it occurred to me that having both sets of incoming links could make for some useful comparisons.

After grepping around to find where the code is that shows the google links I found it in the wp-admin directory in the file “index-extra.php”.  To make the change I did, first make a copy of that file to something like index-extra-old.php so that you can put the original back just in case it gets messed up.

Next, download and open index-extra.php and locate the code shown here in orange. It will be near the top of the file.:

case 'incominglinks' :

 
$rss_feed = apply_filters( 'dashboard_incoming_links_feed', 'http://blogsearch.google.com/blogsearch_feeds?hl=en&scoring=d&ie=utf-8&num=10&output=rss&partner=wordpress&q=link:' . trailingslashit( get_option('home') ) );
$more_link = apply_filters( 'dashboard_incoming_links_link', 'http://blogsearch.google.com/blogsearch?hl=en&scoring=d&partner=wordpress&q=link:' . trailingslashit( get_option('home') ) );

 
$rss = @fetch_rss( $rss_feed );
if ( isset($rss->items) && 1 < count($rss->items) ) { // Technorati returns a 1-item feed when it has no results
?>
<h3><?php _e('Incoming Links'); ?> <cite><a href="<?php echo htmlspecialchars( $more_link ); ?>"><?php _e('More »'); ?></a></cite></h3>
<ul>
<?php
$rss->items = array_slice($rss->items, 0, 10);
foreach ($rss->items as $item ) {
?>
        <li><a href="<?php echo wp_filter_kses($item['link']); ?>"><?php echo wptexturize(wp_specialchars($item['title'])); ?></a></li>
<?php } ?>
</ul>
<?php
}
break;

Replace that code with the code shown below in green, save the file and upload it back to the server.  (Be sure to upload the edited file to the wp-admin directory and overwrite the old one or it wont work.)


case 'incominglinks' :

$rss = @fetch_rss('http://feeds.technorati.com/cosmos/rss/?url='. trailingslashit(get_option('home')) .'&partner=wordpress');
if ( isset($rss->items) && 1 < count($rss->items) ) { // Technorati returns a 1-item feed when it has no results
?>
<h3><?php _e('Incoming Technorati Links'); ?> <cite><a href="http://www.technorati.com/search/<?php echo trailingslashit(get_option('home')); ?>?partner=wordpress"><?php _e('More »'); ?></a></cite></h3>
<ul>
<?php
$rss->items = array_slice($rss->items, 0, 10);
foreach ($rss->items as $item ) {
?>
        <li><a href="<?php echo wp_filter_kses($item['link']); ?>"><?php echo wptexturize(wp_specialchars($item['title'])); ?></a></li>
<?php } ?>
<?php
}

$rss_feed = apply_filters( 'dashboard_incoming_links_feed', 'http://blogsearch.google.com/blogsearch_feeds?hl=en&scoring=d&ie=utf-8&num=10&output=rss&partner=wordpress&q=link:' . trailingslashit( get_option('home') ) );
$more_link = apply_filters( 'dashboard_incoming_links_link', 'http://blogsearch.google.com/blogsearch?hl=en&scoring=d&partner=wordpress&q=link:' . trailingslashit( get_option('home') ) );

$rss = @fetch_rss( $rss_feed );
if ( isset($rss->items) && 1 < count($rss->items) ) { // Technorati returns a 1-item feed when it has no results
?>
</ul><h3><?php _e('Incoming Google Links'); ?> <cite><a href="<?php echo htmlspecialchars( $more_link ); ?>"><?php _e('More »'); ?></a></cite></h3>
<ul>
<?php
$rss->items = array_slice($rss->items, 0, 10);
foreach ($rss->items as $item ) {
?>
        <li><a href="<?php echo wp_filter_kses($item['link']); ?>"><?php echo wptexturize(wp_specialchars($item['title'])); ?></a></li>

<?php } ?>
</ul><br>
<?php
}
break;

Once this code is in place log in to your WordPress dashboard.  The “Latest Activity” section will show “Incoming Technorati Links More »” and a list of links, followed by “Incoming Google Links More »” and another list of links.

Note: any time you upgrade wordpress the index-extra.php file will be overwritten by the new version and you'll have to re-apply this mod.  (unless of course the folks at wordpress.org can be convinced to adopt this mod.)

Technorati Tags: backlinks, google, google+backlinks, google+links, incoming+links, index-extra, latest+activity, technorati,, technorati+backlinks, technorati+links, wordpress, wordpress+mod

Freenet 0.5 Advancing Again.

I’ve just seen a message on the Freenet board on Frost that is distributing a pre-release of a build that will eventually be Freenet 0.5 build 5109.

When 5109 is released I intend to update my freenet page to include the new version as well as the “painkiller” version with it’s bandwidth throttling features.  I also need to spend some time soon rewriting the Frost page since there’s been several new versions since that was created.

Firefox 3?

This is interesting.  I’m just nicely getting used to Firefox 2 and all of a sudden I see reference to Firefox 3 in a blog post about it having a multi line location bar.

The screen shot looks interesting but what I didn’t find was a link to any site to get Firefox 3… I realize that it’s not released yet, but still, I’d be interested in trying it out as long as I don’t have to overwrite my FF2 install

Digg Profile Broken

I’ve had a problem with my Digg profile page for a couple of weeks or so now and while I’ve reported the bug / problem to digg and spent quite a bit of time on search engines looking, I have yet to even find mention of this particular problem.. let alone a cure.

If I am Not logged in to digg, I can load http://digg.com/users/selif1 without any problem and it looks just like it should.  Once I log in however, anything below the “favorites” section of the profile will not load, nor will the footer that appears at the bottom of every digg page.  On the right side of the page everything up to and including the “Stats” section loads.

I even tried using IE6 and got the same results.  Then I tried both Firefox and IE6 on another computer and still got the same results.  The profile works fine until I log in, then most of the part that’s supposed to load on the left side and all of the bottom of the page fails to load.

The other thing that’s happening is that the “shout” feature is not working.  If I click “share” on any story, I can select what users to shout to and enter a message but when I click the “shout it” button it just sits there doing nothing.  This also is independent of what browser I’m using… If I’m logged in, it doesn’t work.

If somebody’s got a clue what the problem is I’d sure like to hear about it… especially if there’s a solution involved!

Technorati Tags: , , , , ,

 Page 6 of 9  « First  ... « 4  5  6  7  8 » ...  Last »