Piratensender für 9$ 
8.12.16, 11:01 - Linux
gepostet von web doc
Letzte Woche las ich von einem Kunstprojekt, welches 2012 von einem Professor ins Leben gerufen wurde, bei dem ein "offline" Rechner (wlanfähig) zum großen Share und Chat Server umfunktioniert wurde. Man loggt sich in das Piratenwlan (ohne Internetzugang) ein und landet automatisch auf einer Seite auf der man anonym Chatten und Dateien tauschen kann.
Das ganze nennt sich Piratebox, angelehnt an die vielen kleinen Piratensender die damals in den 80ern betrieben wurden.

Anyone connected to a PirateBox can upload or download (or stream!) any media file.



Mittlerweile gibt es einen Wlanfähigen Einplatinenrechner für unschlagbare 9$ -> https://getchip.com/pages/chip
Und natürlich läuft die Piratebox Software ganz hervorragend darauf.

Es gibt massig modificationen für die Software. Ein paar findige Jungs haben die FM Sendefähigkeit des Raspberry ausgenutzt und einen echten Piratensender damit programmiert, andere betreiben diese Nodes um in Flüchtlingscamps in Griechenland Musik zu tauschen und hören.

Und wie es der Zufall will ist heute solch ein Sender bei uns in der Strasse aufgetaucht. Ich habe wirklich nicht die geringste Ahnung wer dafür verantwortlich ist.


PocketCHIP as Secure Email Device 
9.11.16, 09:23 - Linux
gepostet von web doc
You do not trust Apple or Google anymore? You do not want your Emails to be read by the government?
Or you just care about your privacy? Edward Snowden boiled it down:
Arguing that you don't care about the right to privacy because you have nothing to hide is no different than saying you don't care about free speech because you have nothing to say.


tl;dr :
1. learn how to use encryption.
2. only use it on devices you trust

Several times in the past I noted that you should reeeally reeeally learn how to encrypt your correspondence and recommended installing gpg. I found a good multi language instruction at riseup.net

There are a million reasons not to trust a mobile device (e.g. smartphone, handy, cellphone, cellular, whatsoever). Main reason is the unbelievable amount of devices running identic operating systems, which makes them a worthy target for hackers (any kind). And: You should not trust the big players! In a world with secret courts and extensive surveillance laws, the chance that the biggest companies are already undermined is high to sure.

So I've got this brilliant device called Pocket CHIP, a 70 $ low cost small linux device including a touchscreen, Batteries and a Keyboard. Open source and transparent.

I chose to install Alpine (an small text based open source Email client I trust), GnuPG (the oen source de- and encryption program), and a little glue logic to combine both on the Pocketchip.

Another small text based Email Client with already build in GPG capabilities is Mutt - if you think Alpine is too complicated, try Mutt

Even if there exists an Email Client with gpg support for your mobile, you should not trust it! For 2 reasons: 1st you should not trust a mobilephone at all, 2nd you should not trust a program provided by an appstore (or worse preinstalled).

It was not easy to get IMAP working on Alpine Email Client, I had to tinker a whole day to make it show, encrypt and decrypt my Emails. - But it is absolutely worth it!

The wire you transfer your Emails over now does not matter anymore, it is not readable by an iPhone, the government or any other Eve trying to sniff you (at least as long as there is no working quantum computer). If you are not at home, tether your mobile internet connection. Have no fear.

.
To decrypt the message, you need a special private key. And you should only use this key on a Computer you trust...


How to install Alpine?

on the PocketCHIPs Terminal type
sudo apt-get install alpine

done...
google how to use IMAP on Alpine, but expect it to not work on the 1st try ;)

Install gpg if not already done.
sudo apt-get install gpg

IT IS HIGHLY RECOMMENDED TO KNOW ABOUT ASYMMETRIC ENCRYPTION! THIS IS NO JOKE! Nobody knows what the future comes up with, and it is not getting better as of today the sickfuck Trump was elected.

Install the glue magic: http://business-php.com/opensource/ez-pine-gpg/
wget http://business-php.com/opensource/ez-p ... _v0.4h.tgz
tar xfz ez-pine-gpg_v0.4h.tgz
cd ez-pine-gpg
sudo ./install /usr/local/bin/

and modify your alpine configs

Remember: Dont give up if it doesn't work at first try, just keep on exploring. You might need this more than toilet paper in the future.

good luck,
webdoc!
PocketCHIP mit OpenGl-ES support 
4.11.16, 15:30 - Linux
gepostet von web doc
Seit heute N8 gibt es für mein Lieblingsspielzeug PocketCHIP ein Update, welches die 3D Funktionen des Mali400 Chipsatzes bereitstellt.

Angeblich laufen jetzt Spiele und Anwendungen, die den 3D Befehlssatz OpenGL-ES unterstützen...

\o/

UPDATE: auch der interne Flash Speicher wird nun korrekt angesprochen und ich habe alle 8GB zur freien Verfügung

UPDATE2: auch PICO-8 hat ein Update spendiert bekommen
jubel

PocketCHIP 
18.9.16, 10:52 - Linux
gepostet von web doc
Mein neuestes Spielzeug



Seit freitag morgen kann ich ihn endlich in den Haenden halten: den Pocketchip
Ein Einplatinencomputer à la Raspberry Pi mit GB Flashspeicher und Wlan an Board; kombiniert mit Touchscreen, Akku und echter Tastatur. Ein kleiner Linux portable sozusagen.



Unglaublich geil das Ding

Vorinstalliert ist eine zugeschnittene Debiandistribution und die virtuelle Spielkonsole PICO-8

Ich habe gleich einen Gameboyemulator, einen Mediaplayer und Firefox installiert und war positiv ueberrascht: alles laeuft ohne Probleme.



genug gesabbelt: ich muss weiterzocken

]

Fullscreen PHP Slideshow for Free Use 
8.10.15, 10:34 - Dies und Das, Linux
gepostet von web doc
have you ever wanted to add a really simple fullscreen slideshow to your homepage?

no javascript, no jquery - just plain php and css magic

just copy the content of the block to an index.php file, modify the pathes in lines 6 and 8 as well as the bodytext and upload this file to a directory that will be the gallery.

my examples are available here: http://www.wiwi.uni-frankfurt.de/~andreas/blog/images/
or here http://netzherpes.de/deauville/?img=28

<?php
/*
PHP image slideshow - auto version - PHP5
*/
// set the absolute path to the directory containing the images
define ('IMGDIR', '/var/www/netzherpes.de/www/deauville/images/');
// same but for www
define ('WEBIMGDIR', '/deauville/images/');
// set session name for slideshow "cookie"
define ('SS_SESSNAME', 'slideshow_sess');
// global error variable
$err = '';
// start img session
session_name(SS_SESSNAME);
session_start();
// init slideshow class
$ss = new slideshow($err);
if (($err = $ss->init()) != '')
{
header('HTTP/1.1 500 Internal Server Error');
echo $err;
exit();
}
// get image files from directory
$ss->get_images();
// set variables, done.
list($curr, $caption, $first, $prev, $next, $last) = $ss->run();
/*
slideshow class, can be used stand-alone
*/
class slideshow
{
private $files_arr = NULL;
private $err = NULL;

public function __construct(&$err)
{
$this->files_arr = array();
$this->err = $err;
}
public function init()
{
// run actions only if img array session var is empty
// check if image directory exists
if (!$this->dir_exists())
{
return 'Error retrieving images, missing directory';
}
return '';
}
public function get_images()
{
// run actions only if img array session var is empty
if (isset($_SESSION['imgarr']))
{
$this->files_arr = $_SESSION['imgarr'];
}
else
{
if ($dh = opendir(IMGDIR))
{
while (false !== ($file = readdir($dh)))
{
if (preg_match('/^.*\.(JPG|jpg|jpeg|gif|png)$/i', $file))
{
$this->files_arr[] = $file;
}
}
closedir($dh);
}
$_SESSION['imgarr'] = $this->files_arr;
}
}
public function run()
{
$curr = 1;
$last = count($this->files_arr);
if (isset($_GET['img']))
{
if (preg_match('/^[0-9]+$/', $_GET['img'])) $curr = (int) $_GET['img'];
if ($curr <= 0 || $curr > $last) $curr = 1;
}
if ($curr <= 1)
{
$prev = $curr;
$next = $curr + 1;
}
else if ($curr >= $last)
{
$prev = $last - 1;
$next = $first;
}
else
{
$prev = $curr - 1;
$next = $curr + 1;
}
// line below sets the caption name...
$caption = str_replace('-', ' ', $this->files_arr[$curr - 1]);
$caption = str_replace('_', ' ', $caption);
$caption = preg_replace('/\.(JPG|jpe?g|gif|png)$/i', '', $caption);
$caption = ucfirst($caption);
return array($this->files_arr[$curr - 1], $caption, 1, $prev, $next, $last);
}
private function dir_exists()
{
return file_exists(IMGDIR);
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>BLABLALA Title </title>
<meta name="description" lang="de" content="This is a collection of pictures"/>
<meta name="author" content="web doktor netzherpes.de">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="refresh" content="17; URL=?img=<?=$next;?>">

<style>
html { height: 100%;
}
body
{
background: url(<?=WEBIMGDIR;?><?=$curr;?>) no-repeat;
text-align: center;
color: #777777;
display: block;
-webkit-background-size: contain;
-moz-background-size: contain;
background-size: contain;
background-color: #000000;
background-position: center;
text-align: center;
margin: 0px;
margin-left: auto;
margin-right: auto;
min-height: 100%;

}
#footer {
position: absolute;
bottom: 0;
}

a:hover {
text-decoration: none;
color: #666644;
}
a {
text-decoration: none;
color: #666644;
}

</style>
</head>
<body>
<a href="http://netzherpes.de/blog">(c) netzherpes.de </a> - press F11 for fullscreen. save a pic by saving the backgroundimage.<br><a href="?img=<?=$prev;?>">prev</a> - <a href="?img=<?=$next;?>">next</a>

<div id="footer">(c) netzherpes.de</div>
</body>
</html>


copy paste, done!

this is a heavily modified script from http://www.phpsnaps.com/snaps/view/php- ... show-auto/

have fun webdoktor!

<<alpha <Zurück | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | Weiter> omega>>