- <title>Using appstream in Debian to locate packages with firmware and mime type support</title>
- <link>http://people.skolelinux.org/pere/blog/Using_appstream_in_Debian_to_locate_packages_with_firmware_and_mime_type_support.html</link>
- <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Using_appstream_in_Debian_to_locate_packages_with_firmware_and_mime_type_support.html</guid>
- <pubDate>Thu, 4 Feb 2016 16:40:00 +0100</pubDate>
- <description><p>The <a href="https://wiki.debian.org/DEP-11">appstream system</a>
-is taking shape in Debian, and one provided feature is a very
-convenient way to tell you which package to install to make a given
-firmware file available when the kernel is looking for it. This can
-be done using apt-file too, but that is for someone else to blog
-about. :)</p>
-
-<p>Here is a small recipe to find the package with a given firmware
-file, in this example I am looking for ctfw-3.2.3.0.bin, randomly
-picked from the set of firmware announced using appstream in Debian
-unstable. In general you would be looking for the firmware requested
-by the kernel during kernel module loading. To find the package
-providing the example file, do like this:</p>
-
-<blockquote><pre>
-% apt install appstream
-[...]
-% apt update
-[...]
-% appstreamcli what-provides firmware:runtime ctfw-3.2.3.0.bin | \
- awk '/Package:/ {print $2}'
-firmware-qlogic
-%
-</pre></blockquote>
-
-<p>See <a href="https://wiki.debian.org/AppStream/Guidelines">the
-appstream wiki</a> page to learn how to embed the package metadata in
-a way appstream can use.</p>
-
-<p>This same approach can be used to find any package supporting a
-given MIME type. This is very useful when you get a file you do not
-know how to handle. First find the mime type using <tt>file
---mime-type</tt>, and next look up the package providing support for
-it. Lets say you got an SVG file. Its MIME type is image/svg+xml,
-and you can find all packages handling this type like this:</p>
-
-<blockquote><pre>
-% apt install appstream
-[...]
-% apt update
-[...]
-% appstreamcli what-provides mimetype image/svg+xml | \
- awk '/Package:/ {print $2}'
-bkchem
-phototonic
-inkscape
-shutter
-tetzle
-geeqie
-xia
-pinta
-gthumb
-karbon
-comix
-mirage
-viewnior
-postr
-ristretto
-kolourpaint4
-eog
-eom
-gimagereader
-midori
-%
-</pre></blockquote>
-
-<p>I believe the MIME types are fetched from the desktop file for
-packages providing appstream metadata.</p>
-</description>
- </item>
-
- <item>
- <title>Creepy, visualise geotagged social media information - nice free software</title>
- <link>http://people.skolelinux.org/pere/blog/Creepy__visualise_geotagged_social_media_information___nice_free_software.html</link>
- <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Creepy__visualise_geotagged_social_media_information___nice_free_software.html</guid>
- <pubDate>Sun, 24 Jan 2016 10:50:00 +0100</pubDate>
- <description><p>Most people seem not to realise that every time they walk around
-with the computerised radio beacon known as a mobile phone their
-position is tracked by the phone company and often stored for a long
-time (like every time a SMS is received or sent). And if their
-computerised radio beacon is capable of running programs (often called
-mobile apps) downloaded from the Internet, these programs are often
-also capable of tracking their location (if the app requested access
-during installation). And when these programs send out information to
-central collection points, the location is often included, unless
-extra care is taken to not send the location. The provided
-information is used by several entities, for good and bad (what is
-good and bad, depend on your point of view). What is certain, is that
-the private sphere and the right to free movement is challenged and
-perhaps even eradicated for those announcing their location this way,
-when they share their whereabouts with private and public
-entities.</p>
-
-<p align="center"><img width="70%" src="http://people.skolelinux.org/pere/blog/images/2016-01-24-nice-creepy-desktop-window.png"></p>
-
-<p>The phone company logs provide a register of locations to check out
-when one want to figure out what the tracked person was doing. It is
-unavailable for most of us, but provided to selected government
-officials, company staff, those illegally buying information from
-unfaithful servants and crackers stealing the information. But the
-public information can be collected and analysed, and a free software
-tool to do so is called
-<a href="http://www.geocreepy.com/">Creepy or Cree.py</a>. I
-discovered it when I read
-<a href="http://www.aftenposten.no/kultur/Slik-kan-du-bli-overvaket-pa-Twitter-og-Instagram-uten-a-ane-det-7787884.html">an
-article about Creepy</a> in the Norwegian newspaper Aftenposten i
-November 2014, and decided to check if it was available in Debian.
-The python program was in Debian, but
-<a href="https://tracker.debian.org/pkg/creepy">the version in
-Debian</a> was completely broken and practically unmaintained. I
-uploaded a new version which did not work quite right, but did not
-have time to fix it then. This Christmas I decided to finally try to
-get Creepy operational in Debian. Now a fixed version is available in
-Debian unstable and testing, and almost all Debian specific patches
-are now included
-<a href="https://github.com/jkakavas/creepy">upstream</a>.</p>
-
-<p>The Creepy program visualises geolocation information fetched from
-Twitter, Instagram, Flickr and Google+, and allow one to get a
-complete picture of every social media message posted recently in a
-given area, or track the movement of a given individual across all
-these services. Earlier it was possible to use the search API of at
-least some of these services without identifying oneself, but these
-days it is impossible. This mean that to use Creepy, you need to
-configure it to log in as yourself on these services, and provide
-information to them about your search interests. This should be taken
-into account when using Creepy, as it will also share information
-about yourself with the services.</p>
-
-<p>The picture above show the twitter messages sent from (or at least
-geotagged with a position from) the city centre of Oslo, the capital
-of Norway. One useful way to use Creepy is to first look at
-information tagged with an area of interest, and next look at all the
-information provided by one or more individuals who was in the area.
-I tested it by checking out which celebrity provide their location in
-twitter messages by checkout out who sent twitter messages near a
-Norwegian TV station, and next could track their position over time,
-making it possible to locate their home and work place, among other
-things. A similar technique have been
-<a href="http://www.buzzfeed.com/maxseddon/does-this-soldiers-instagram-account-prove-russia-is-covertl">used
-to locate Russian soldiers in Ukraine</a>, and it is both a powerful
-tool to discover lying governments, and a useful tool to help people
-understand the value of the private information they provide to the
-public.</p>
-
-<p>The package is not trivial to backport to Debian Stable/Jessie, as
-it depend on several python modules currently missing in Jessie (at
-least python-instagram, python-flickrapi and
-python-requests-toolbelt).</p>
-
-<p>(I have uploaded
-<a href="https://screenshots.debian.net/package/creepy">the image to
-screenshots.debian.net</a> and licensed it under the same terms as the
-Creepy program in Debian.)</p>
+ <title>How to use the Signal app if you only have a land line (ie no mobile phone)</title>
+ <link>http://people.skolelinux.org/pere/blog/How_to_use_the_Signal_app_if_you_only_have_a_land_line__ie_no_mobile_phone_.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/How_to_use_the_Signal_app_if_you_only_have_a_land_line__ie_no_mobile_phone_.html</guid>
+ <pubDate>Sun, 3 Jul 2016 14:20:00 +0200</pubDate>
+ <description><p>For a while now, I have wanted to test
+<a href="https://whispersystems.org/">the Signal app</a>, as it is
+said to provide end to end encrypted communication and several of my
+friends and family are already using it. As I by choice do not own a
+mobile phone, this proved to be harder than expected. And I wanted to
+have the source of the client and know that it was the code used on my
+machine. But yesterday I managed to get it working. I used the
+Github source, compared it to the source in
+<a href="https://chrome.google.com/webstore/detail/signal-private-messenger/bikioccmkafdpakkkcpdbppfkghcmihk?hl=en-US">the
+Signal Chrome app</a> available from the Chrome web store, applied
+patches to use the production Signal servers, started the app and
+asked for the hidden "register without a smart phone" form. Here is
+the recipe how I did it.</p>
+
+<p>First, I fetched the Signal desktop source from Github, using
+
+<pre>
+git clone https://github.com/WhisperSystems/Signal-Desktop.git
+</pre>
+
+<p>Next, I patched the source to use the production servers, to be
+able to talk to other Signal users:</p>
+
+<pre>
+cat &lt;&lt;EOF | patch -p0
+diff -ur ./js/background.js userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/background.js
+--- ./js/background.js 2016-06-29 13:43:15.630344628 +0200
++++ userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/background.js 2016-06-29 14:06:29.530300934 +0200
+@@ -47,8 +47,8 @@
+ });
+ });
+
+- var SERVER_URL = 'https://textsecure-service-staging.whispersystems.org';
+- var ATTACHMENT_SERVER_URL = 'https://whispersystems-textsecure-attachments-staging.s3.amazonaws.com';
++ var SERVER_URL = 'https://textsecure-service-ca.whispersystems.org:4433';
++ var ATTACHMENT_SERVER_URL = 'https://whispersystems-textsecure-attachments.s3.amazonaws.com';
+ var messageReceiver;
+ window.getSocketStatus = function() {
+ if (messageReceiver) {
+diff -ur ./js/expire.js userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/expire.js
+--- ./js/expire.js 2016-06-29 13:43:15.630344628 +0200
++++ userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/expire.js2016-06-29 14:06:29.530300934 +0200
+@@ -1,6 +1,6 @@
+ ;(function() {
+ 'use strict';
+- var BUILD_EXPIRATION = 0;
++ var BUILD_EXPIRATION = 1474492690000;
+
+ window.extension = window.extension || {};
+
+EOF
+</pre>
+
+<p>The first part is changing the servers, and the second is updating
+an expiration timestamp. This timestamp need to be updated regularly.
+It is set 90 days in the future by the build process (Gruntfile.js).
+The value is seconds since 1970 times 1000, as far as I can tell.</p>
+
+<p>Based on a tip and good help from the #nuug IRC channel, I wrote a
+script to launch Signal in Chromium.</p>
+
+<pre>
+#!/bin/sh
+cd $(dirname $0)
+mkdir -p userdata
+exec chromium \
+ --proxy-server="socks://localhost:9050" \
+ --user-data-dir=`pwd`/userdata --load-and-launch-app=`pwd`
+</pre>
+
+<p> The script start the app and configure Chromium to use the Tor
+SOCKS5 proxy to make sure those controlling the Signal servers (today
+Amazon and Whisper Systems) as well as those listening on the lines
+will have a harder time location my laptop based on the Signal
+connections if they use source IP address.</p>
+
+<p>When the script starts, one need to follow the instructions under
+"Standalone Registration" in the CONTRIBUTING.md file in the git
+repository. I right clicked on the Signal window to get up the
+Chromium debugging tool, visited the 'Console' tab and wrote
+'extension.install("standalone")' on the console prompt to get the
+registration form. Then I entered by land line phone number and
+pressed 'Call'. 5 seconds later the phone rang and a robot voice
+repeated the verification code three times. After entering the number
+into the verification code field in the form, I could start using
+Signal from my laptop.
+
+<p>As far as I can tell, The Signal app will leak who is talking to
+whom and thus who know who to those controlling the central server,
+but such leakage is hard to avoid with a centrally controlled server
+setup. It is something to keep in mind when using Signal - the
+content of your chats are harder to intercept, but the meta data
+exposing your contact network is available to people you do not know.
+So better than many options, but not great. And sadly the usage is
+connected to my land line, thus allowing those controlling the server
+to associate it to my home and person. I would prefer it if only
+those I knew could tell who I was on Signal. There are options
+avoiding such information leakage, but most of my friends are not
+using them, so I am stuck with Signal for now.</p>