Diaspora* w użyciu

Patrzyłem na projekt Diaspora* od dłuższego czasu i cały czas uważałem, że nie jest skończony i gotowy. Opis instalacji na Debianie przyprawia lekko o ból głowy, znajomi nie bardzo korzystają… Ale po zniknięciu plum.me (nadal niewyjaśnionym, wygląda jakby wyparowały wszystkie zabawki A. jednocześnie) powstała pustka, więc stwierdziłem, że spróbuję.

Diaspora logo

Źródło: https://en.wikipedia.org/wiki/Diaspora_%28social_network%29

Nie stawiałem swojej instancji Diaspory, tylko skorzystałem z porównywarki podów Diaspory i wybrałem diasp.eu – ma sporo użytkowników, jest SSL, bardzo dobry uptime, stoi w Niemczech. Pierwsze wrażenie: ten klon Facebooka nawet działa! I są jacyś ludzie! Można normalnie korzystać z hashtagów (obserwować je) i po chwili okazało się, że znalazłem polskich znajomych z netu. Całych dwóch, ale zawsze.

Posty zamieszczane na Diasporze formatuje się przy pomocy Markdown – nie jestem fanem, ale jest prosty i można przywyknąć, szczególnie, że jest prosta ściągawka dostępna od ręki. Możliwości bardzo podobne do HTML, tylko bardziej dla ludzi. Załączanie obrazków czy video działa. Są hashtagi.

Są  też – znane z FB – ignorowanie użytkowników, zgłaszanie postów, możliwość ustawienia avatara, wiadomości prywatne i ankiety. Można przypisywać użytkowników do grup oraz tworzyć własne grupy. Można zintegrować Diasporę z Twitterem, Facebookiem, Tumblr czy WordPressem. Nie testowałem, ale zdaje się (opis potwierdza), że chodzi o to, że robimy wpis na Diasporze i mamy możliwość jednoczesnego wysłania go na (wybrane?) serwisy. Jest możliwość eksportu zdjęć i treści.

Wszystko to oczywiście oparte o wolne oprogramowanie, z możliwością postawienia na własnym serwerze, szyfrowane (SSL), odporne na cenzurę wielkich portali i niezależne od nich (nie ma śledzenia, profilowania, reklam). Itd., itp. 😉

Dodatkowo w Diasporze jest funkcja, która może zastąpić bloga (w minimalnym wymiarze). I nie jestem pewien, czy do tego Diaspora* nie nadaje się najlepiej. Mianowicie posty oznaczone jako publiczne dostępne są w formie strony WWW z wygenerowanym kanałem RSS. Czyli tak naprawdę blog, gdzie komentować mogą wyłącznie zalogowani.

Wady Diaspory:

  • Brak API. Nie żartuję, projekt open source, mocno programistyczny i póki co nie ma API. Ewidentny strzał w stopę, bo bez API słabo da się zrobić sensowne klienty (zwł. mobilne).
  • Niezbyt intuicyjny interfejs. Bardzo subiektywne, niby jest ładnie i standardowo, ale jak raz mi mignął link do kanału RSS z publicznymi wpisami, to potem się go naszukałem… Chwilowe i szybko mija.
  • Soft niby działa i jest good enough, ale używając czuć, że nie jest w 100% skończony i doszlifowany. Niekrytyczne.
  • Mała popularność. Trochę samonapędzająca się wada, ale nie mogłem pominąć…
  • Brak edycji wpisu po zamieszczeniu. Oczywiście można usunąć i dodać jeszcze raz, ale trochę overkill, jeśli chodzi tylko o usuwanie literówek.

Wygląda, że Diaspora zastąpi mi plum.me, bo możliwości większe, a nie wszystko nadaje się na bloga/Twittera/FB. Kiedyś przedstawiano – przynajmniej takie miałem wrażenie – Diasporę jako nadchodzącą wielką wolną alternatywę dla FB. IMO nic z tych rzeczy – zwykły serwis i social network, trochę mniej dopracowany, trochę bardziej wolny. Jest łatwa, więc IMO warto spróbować.

UPDATE: Dodany brak edycji w wadach.

Monitoring w pracy

Nadzór w pracy istnieje od zawsze. Jakby nie było, jest to jedna z funkcji kadry kierowniczej. Zastanawiałem się ostatnio, jak to wygląda obecnie, co się zmieniło. O tym, że coraz więcej zakładów ma zamontowane kamery powszechnie wiadomo. Zresztą rejestratory video staniały i spowszedniały na tyle, że spora część znajomych ma je zamontowane w samochodach czy na rowerach. Opinie na ich temat w miejscach pracy są różne, część pracowników jest (była?) zdecydowanie niechętna, ale IMO tak naprawdę wszystko zależy, jak są wykorzystywane i umieszczone. Pracuję w miejscu, gdzie są kamery i raz mi osobiście jako pracownikowi się przydały.

Sprawa trywialna, coś z laptopem i dyskiem było. Kumpel przyniósł czyjegoś służbowego lapka, ja wyjąłem z niego dysk, podłączyłem do kieszeni, IIRC zrobiłem diagnostykę, wkręciłem dysk z powrotem, oddaję lapka. No i przychodzi kumpel, pokazuje zdjętą zaślepkę, pusto, i pyta „a gdzie dysk?”. Szukamy. Tak całkiem pewien, że go wsadziłem z powrotem to nie byłem, bo raczej odruchowo działałem, więc sprawdzam biurko, szuflady. Jak się tak rozglądam, to jestem coraz bardziej przekonany, że włożyłem z powrotem. Kumpel upiera się, że dostał ode mnie, otworzył i było pusto. Zgrzyt.

No to wzięliśmy nagranie z rejestratora. I widać jak wyjmuję, podłączam do kieszeni, wkładam z powrotem, przykręcam. Kumpel obraca lapka tak, jak jest na kamerze i pokazuje pustą dziurę po lewej. Patrzymy w monitor, wkręcam po prawej. WTF? Patrzymy na lapka i w śmiech. Ano tak, laptop był 17″ i miał dwa sloty na dysk, ale to zupełnie nie przyszło nam do głowy.

Tak czy inaczej, nagrania z kamer są dość dokładne (no dobrze, zależy od kamery i ustawień jeszcze), ale raczej trudno je analizować automatycznie. Forma strawna dla komputera to raczej osoba, timestamp, określenie miejsca. Oczywiście da się zrobić, bo pozycjonować można choćby smartfona (i aktywnie, przy pomocy aplikacji na smartfonie, i pasywnie, z wifi), no ale nie każdy pracownik w zakładzie musi mieć smartfona, włączonego, z wifi itd.

Niedawno dostałem namiar na stronę https://www.autoid.pl/ czyli dostawcy systemów do automatycznego… praktycznie wszystkiego – identyfikacji osób, przedmiotów, pojazdów itp. i dostałem odpowiedź na moje pytanie, jak można w sposób łatwo przetwarzalny komputerowo monitorować miejsce przebywania pracownika w firmie. Technologia opiera się na RDIF, które mogą służyć nie tylko do jako karty dostępu do drzwi (de facto standard w firmach, kto nie ma karty?), ale w wersji „dalekiego zasięgu” (do 12 m)  mogą być odczytywane bez przykładania do czytnika. Wygląda na prostsze i tańsze od smartfona u pracownika, prawda?

Producent podpowiada nawet sposoby umieszczenia – zaszycie w ubraniu roboczym, oraz jako karta. No i w tym momencie można automatycznie sprawdzić… wszystko. Na przykład to, czy dany pracownik pracuje na swoim stanowisku, czy siedzi i flirtuje z sekretarką. Z których pomieszczeń korzysta. Albo jak często wychodzi do toalety.

Uczucia, podobnie jak w przypadku kamer mam mieszane. Oczywiście wyobrażam sobie nadużycia ze strony pracodawcy z wykorzystaniem tego typu technologii, ale… nie dajmy się zwariować. Równie dobrze może wykorzystywać tego typu rozwiązania do optymalizacji rozmieszczenia narzędzi/pomieszczeń… Tworzący prawo będą mieli kolejny trudny orzech do zgryzienia.

Czyli klasyczne: narzędzia nie determinują wykorzystania. Pozostało życzyć wszystkim normalnych AKA ludzkich pracodawców, którzy rozsądnie korzystają z narzędzi. I pracowników, których nie trzeba kontrolować na każdym kroku.

Własna strona w sieci Tor

Za sprawą normalnych tradycyjnych stron w sieci Tor zrobiło się ostatnio głośno z powodu Facebooka. Nie dość, że Facebook wystawił stronę oficjalnie do sieci Tor pod adresem .onion, to adres był ciekawy, a całość jest dostępna po HTTPS, czyli w wersji szyfrowanej[1]. Mniejsza o powody, dla których to uczynili. Wydaje się, że nie tyle chodziło im o anonimowość użytkowników (nie miejcie złudzeń), co o ich prywatność i bezpieczeństwo (ukrycie lokalizacji). Plus przy okazji rozwiązali sobie problem false positives przy wykrywaniu włamań, które mieli przy użytkownikach korzystających z tradycyjnych exit node[2]. Będzie zatem o własnej stronie w sieci Tor.

Tor logoŹródło: https://media.torproject.org/image/official-images/2011-tor-logo-flat.svg

Tak czy inaczej, wygląda, że Tor został dostrzeżony przez dużych w z właściwej perspektywy, czyli po prostu jako medium transmisji, a nie odrębna sieć, używana przez złoczyńców[3]. Myślę, że można spodziewać się kolejnych naśladowców.

Warto zauważyć, że to co zrobił Facebook to nie jest typowy hidden service w sieci Tor. W typowym chodzi o ukrycie tożsamości właściciela, miejsca hostowania itp. Czyli masa pracy poświęcona uszczelnianiu systemu i serwera WWW, która nie jest przedmiotem tego wpisu. Na stronie projektu Tor też się tym nie zajmują, ale zainteresowani znajdą tam ogólne wskazówki. Tu przeciwnie – wszystko jest dostępne, a tożsamość jest potwierdzona certyfikatem SSL, czyli wersja znacznie łatwiejsza w wykonaniu.

I właśnie takim przypadkiem zajmę się w tym wpisie. Całość opisana jest dokładnie na stronie projektu Tor. Widzę jednak, że pojawiają się pytania jak to zrobić, więc zamieszczę wersję skróconą i uproszczoną. Tak naprawdę całość sprowadza się do dwóch linii w pliku konfiguracyjnym. Zakładam, że Tor jest już skonfigurowany jako relay node lub bridge node. I nawet nie do napisania, tylko do odhashowania/edycji.

Przede wszystkim w pliku konfiguracyjnym[4] szukamy sekcji dotyczącej hidden services, zaczynającej się od linii:

############### This section is just for location-hidden services ###

Następnie odhashowujemy/edytujemy dwie linie:

HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 IP_SERWERA_WWW:80

Pierwsza musi wskazywać na katalog, który musi mieć prawa odczytu i zapisu dla użytkownika na którym działa demon Tor. W Debianie wystarczy odhashować.

Druga to wskazanie który port chcemy przekierowywać i na jaki adres oraz port. IPv4 działa na pewno, IPv6 nie udało mi się skłonić do działania. Jedyna zmiana, czy też wymóg konfiguracji po stronie serwera WWW, jest taki, że musi on pozwalać na dostęp do zasobów po IP, bez podania domeny (vhosta)[5].

Następnie należy zrestartować demona Tor i… gotowe. Pozostało jeszcze tylko sprawdzić, jaki adres ma nasz hidden service:

cat /var/lib/tor/hidden_service/hostname

Potem można już tylko zweryfikować działania serwisu za pośrednictwem adresu .onion. Jeśli nie mamy pod ręką normalnego dostępu do Tora, można posiłkować się bramką Tor2web.

[1] I całe szczęście, bo przypominam, że Tor nie szyfruje użycie Tora nie oznacza automatycznie szyfrowania danych. Co więcej, każdy węzeł, ma możliwość przechwycenia całej (co prawda zaszyfrowanej) transmisji. A exit node, jest w stanie podsłuchać nieszyfrowaną transmisję do końcowego hosta.

[2] Więcej w tym wpisie (ANG).

[3] Nie ukrywajmy, typowy użytkownik Tora kojarzył się do tej pory z nielegalnymi działaniami.

[4] W Debianie jest to /etc/tor/torrc, pewnie w Ubuntu i innych pochodnych jest analogicznie.

[5] Tu uwaga dla chcących stawiać bramki hidden service – z punktu widzenia zewnętrznego serwisu (i tylko jego, i tylko w przypadku połączeń poprzez adres .onion) mój klient Tor IP jest teraz exit node! W przypadku nadużyć za pośrednictwem sieci Tor i adresu .onion może się to skończyć wizytą policji. W przypadku serwisów, których nie jesteśmy właścicielami bezwzględnie należy mieć zgodę właściciela serwisu.