Wednesday, January 7, 2026

My Active Series as of 2026

  • 3 Body Problem
  • Black Mirror
  • Gen V (spin-off of The Boys)
  • Hazbin Hotel
  • Helluva Boss
  • Invincible
  • Love Death + Robots
  • Rick and Morty
  • Silicon Valley
  • Solo Leveling
  • One-Punch Man
  • The Amazing Digital Circus
  • The Boys
  • The Last of Us

Thursday, August 4, 2022

My Personal HTPC Setup v3.0

I managed to break my HTPC operating system when forcing Ubuntu to update to version 22.04, so I decided to format everything and start from scratch. This is like a step by step list of software and scripts I am using:

That is it for now. In future I will add something for storage like NextCloud or CopyParty or other stuff I might need.

Sunday, July 4, 2021

How to run web apps in background

Most popular browsers stop web apps when there is another full screen app in the foreground.

To fix that on Chromium based browser (Chrome, Edge, Brave, etc) go to chrome://flags and disable #calculate-native-win-occlusion.

Update 1: This flag is being removed, for now it can be temporary brought back enabling flags starting with #temporary-unexpire-flags, but not for long.

Update 2: The flag is gone. Another solution would be adding command line parameter --disable-features=CalculateNativeWinOcclusion, found on r/Granblue_en subreddit.

Update 3: Looks like the flag #calculate-native-win-occlusion is back in version 101+, but I would suggest using both the flag and the command line parameter.

To fix that on Firefox go to about:config and here are some options:

Chrome also suspends non-active tabs. Disabling flag #intensive-wake-up-throttling or extension The Great Suspender should remedy that, however it did not work for me at a first glance. Not sure about Firefox.

Wednesday, June 26, 2019

How to force full screen on Huawei for some stubborn apps (might work on other Android devices too)

Go to Settings -> Display -> More Display Settings -> Notch -> Custom -> find your app and change Auto to Show notch.

Monday, November 14, 2016

Ghost in the Shell anime chronological order

There are three independent stories that should not be mixed:

Arise, set in 2027:
  1. GitS: Arise - Ghost Pain (ova) or GitS: AAA - Ghost Pain, Part 1-2 (tv series ep. 3-4, cut down version of ova)
  2. GitS: Arise - Ghost Whispers (ova) or GitS: AAA - Ghost Whispers, Part 1-2 (tv series ep. 5-6, cut down version of ova)
  3. GitS: Arise - Ghost Tears (ova) or GitS: AAA - Ghost Tears, Part 1-2 (tv series ep. 7-8, cut down version of ova)
  4. GitS: Arise - Ghost Stands Alone (ova) or GitS: AAA - Ghost Stands Alone, Part 1-2 (tv series ep. 1-2, cut down version of ova)
  5. GitS: AAA - Pyrophoric Cult (ova) or GitS: AAA - Pyrophoric Cult, Part 1-2 (tv series ep. 9-10, cut down version of ova)
  6. GitS: The New Movie (movie)
Stand Alone Complex, set in 2030-2034:
  1. GitS: SAC (tv series season 1, set in 2030) or GitS: SAC - The Laughing Man (ova, cut down version of tv series)
  2. GitS: SAC 2nd GIG (tv series season 2, set in 2032) or GitS: SAC 2nd GIG – Individual Eleven (ova, cut down version of tv series)
  3. GitS: SAC - Solid State Society (movie, set 2034)
The movies, set in 2029-2032:
  1. GitS (movie, set in 2029, comparison of versions)
  2. GitS 2: Innocence (movie, set in 2032)
It would be recommended to start watching with the original movies (considered the best), then SAC and finish with Arise (considered the worst), however chronological order would start with Arise, followed by SAC and finished by the movies.

Some would suggest after Arise to watch the first movie, then the SAC series, then the Innocence and finish it with the Solid State Society, but as mentioned these are completely independent stories (despite sharing same world and characters) and most would suggest to not mix them up.

There is a major spoiler explaining why SAC should be watched before the movies despite set times being mixed up.

More info at r/Ghost_in_the_Shell.

Wednesday, June 1, 2016

Run Seafile Windows client as a background service

We will need:

Step by step guide:
  1. Install and configure the Seafile client as usual, turn on synchronization for desired libraries.
  2. Quit the Seafile client (right click on tray icon and choose Quit)
  3. Download and extract NSSM
  4. Start the command prompt (Win+S -> cmd) and navigate to nssm.exe file, for example if you extracted it on Your desktop, type in the command prompt CD C:\Users\Your_user_name\Desktop\NSSM_folder_name\win64
  5. Type in the command prompt nssm install ccnet (this service will manage the network)
  6. NSSM service installer window will open, click the "..." button and navigate to C:\Program Files (x86)\Seafile\bin\ccnet.exe
  7. Fill arguments as described in documentation, change Administrator to Your user name
  8. Click the tab Log on, choose "This account" and enter Your credentials
  9. Click Install service - one done, one to go
  10. Type in the command prompt nssm install seaf-daemon (this service will manage the files)
  11. NSSM service installer window will open, click the "..." button and navigate to C:\Program Files (x86)\Seafile\bin\seaf-daemon.exe
  12. As for arguments this one is a bit trickier, -c argument is same as in step 5, -d argument value can be found in C:\Users\Your_user_name\ccnet\seafile.ini file and -w value is path to Your Seafile data folder, for example: -c C:\Users\Admin\ccnet -d C:\Users\Admin\Documents\Seafile\seafile-data -w C:\Users\Admin\Documents\Seafile
  13. Same as earlier click the Log on tab, choose This account and enter Your credentials
  14. Click Install service, and it's done
  15. Now restart the PC or start the services manually (Win+S -> Services -> look for ones named ccnet and seaf-daemon)

Read the NSSM Usage guide for more information.

Update: documentation linked in step 7 is no longer available, but You can check required parameters by executing commands ccnet -h and seaf-daemon -h in folder C:\Program Files (x86)\Seafile\bin\.

Friday, April 22, 2016

Upgrading Uniform Server

As there is no official guide on how to upgrade Uniform Server from one version to another I decided to compile one myself, keep in mind that I might miss something and update this guide from time to time when I run into an issue:
  1. Export Your databases using phpMyAdmin
  2. Export Your databases users using phpMyAdmin because databases export does not do that
  3. Stop Apache and MySQL, if You are running them as Windows services - uninstall them
  4. Rename Your UniServerZ folder to UniServerZ-backup or something
  5. Put Your new UniServerZ folder where Your old one used to be
  6. Check .httaccess files for stuff that might conflict
  7. If everything is OK copy www folder from UniServerZ-backup to UniServerZ
  8. If You use VHosts copy vhosts folder from UniServerZ-backup to UniServerZ compare \core\apache2\conf\extra\httpd-vhosts.conf files and copy extra lines at the end from UniServerZ-backup to UniServerZ - this one did not work for me, I had to recreate vhosts in UniController and after that do the copying, might have something to do with hosts file
  9. If You use SSL copy ssl folder from UniServerZ-backup to UniServerZ, compare \core\apache2\conf\extra\httpd-ssl.conf files and copy extra lines at the end from UniServerZ-backup to UniServerZ
  10. Compare \core\mysql\my.ini files and copy settings from UniServerZ-backup to UniServerZ if needed
  11. Compare \core\php70\php_production.ini files and copy settings from UniServerZ-backup to UniServerZ if needed
  12. Start the new UniController.exe (as administrator if You need to edit start-up settings)
  13. Enter the root MySQL password, preferably same as the old one for simplicity
  14. Edit start-up settings if needed
  15. Reinstall Windows services if needed, start the Apache and MySQL
  16. Import (or recreate) Your databases users using phpMyAdmin
  17. Import Your databases using phpMyAdmin
Bonus:
  • If You need to access Your databases from outside:
    1. Comment the "bind-address=127.0.0.1" line in UniServerZ\core\mysql\my.ini file (it might be already done in 10th step)
    2. Change the hostname for database users using phpMyAdmin

Wednesday, March 30, 2016

IPTV M3U players

If You have a IPTV playlist in M3U format and want a convenient way to watch it, there are quite a few different solutions for it and not all of them might be suitable for every circumstance, and as I have quite an experience with this situation, I'll try to list all the useful stuff I had a chance to try out.

Before I begin, Your playlist might be compiled from multicast streams and Your router might forbid multicast packets to pass through it, so You either need to enable multicast in Your router or use udpxy, but this post is not about that, so lets assume that router is set up and streams reach the device You want to watch on, here is a list of players tested by me:

Simple stand alone players:
Media Centers - most feature packed solutions:
  • Kodi + IPTV Simple Client - my personal favorite, works great on Windows, should be same on Mac and Linux, however did not test it on Android
  • MediaPortal - another very powerful media center package with great EPG support, but quite hard to set up compared to Kodi or Plex
  • Plex + IPTV.bundle - plugin made by me, EPG is much humbler and playback capabilities are quite limited compared to Kodi or MediaPortal, but devices supports is wider, check github repository for more information retired by Plex
  • New! Emby - did not test much but it has IPTV support out of the box
  • New! Jellyfin - needs testing
DLNA servers - when You are limited to DLNA:
  • xupnpd - ultra compact DLNA server, no EPG but completely free, can be installed on a router!
  • Serviio - very powerful DLNA server, lacks EPG and free version is limited
Smart TV apps and widgets - when you can't run a dedicated server, these are hosted solutions:
Links for further research:

And finally my choice of EPG "grabing" is WebGrab+Plus.

Thats it for now, If You have a solution not listed in here, please share it in the comments bellow.

Friday, March 4, 2016

Removing Skype adds

Hit Win+S, type "internet options" without quotes, choose Security tab, click Restricted Sites, click Sites and add "apps.skype.com" without quotes, enjoy:


Monday, June 22, 2015

Blog update

Some changes happened here:
  • English language - first of all from now on I will I think I will write in English, and as nobody reads it anyway I will give no reasons why. And I think I will skip on long stories, just essential information that might be useful to somebody, but mostly will be useful to me.
  • New home - domain cigaras.tk got disabled as a result fraud that I know nothing about, I tried contacting freenom.com for more details but they could not give me the exact reasons, so as I was forced to change the domain, I decided to change the blog location also, and here I am at blogspot.com, also reachable by valdas.ml valdas.ax.lt.
And that is all, If anyone stumbles across this page do not hope to get regular post here, it might look deserted, it might even be deserted, I still did not figured out why I even started this blog :) You can find more silly stuff shared by me on my Google+ profile, but again do not hope for regular post there either.

Thursday, April 16, 2015

Suntour suspension fork hierarchy and features

From best to worst:
  • Axon
  • Epixon
  • Raidon
  • XCR
  • XCM
  • XCT
Features:
  • P = Post-mount brakes
  • D = Disc brake mounts
  • D-P = Disc mount and Post-mount brakes
  • MLO = Mechanical Lock Out
  • HLO = Hydraulic Lock Out
  • RLO = Remote Lock Out
  • LOD = Lock-out with Rebound Damping
  • E = chromoly stanchions and steerer
  • D (vs E) = STKM stanchions and steerer
  • DS = ?
Source: MTBR forum, sesuntour-cycling.com

Tuesday, April 14, 2015

Shimano MTB XC parts hierarchy

From best to worst:
  • XTR
  • Deore XT
  • SLX
  • Deore LX
  • Deore - lowest for mountain biking
  • Alivio - highest for recreational biking
  • Acera
  • Altus
  • Tourney
Source: Wikipedia

Tuesday, March 31, 2015

UDPXY command line arguments

usage: udpxy [-vTS] [-a listenaddr] -p port [-m mcast_ifc_addr] [-c clients] [-l logfile] [-B sizeK] [-n nice_incr]
-v : enable verbose output [default = disabled]
-S : enable client statistics [default = disabled]
-T : do NOT run as a daemon [default = daemon if root]
-a : (IPv4) address/interface to listen on [default = 0.0.0.0]
-p : port to listen on
-m : (IPv4) address/interface of (multicast) source [default = 0.0.0.0]
-c : max clients to serve [default = 3, max = 5000]
-l : log output to file [default = stderr]
-B : buffer size (65536, 32Kb, 1Mb) for inbound (multicast) data [default = 2048 bytes]
-R : maximum messages to store in buffer (-1 = all) [default = 1]
-H : maximum time (sec) to hold data in buffer (-1 = unlimited) [default = 1]
-n : nice value increment [default = 0]
-M : periodically renew multicast subscription (skip if 0 sec) [default = 0 sec]


More info: mankier.com

Bonus, reading the multicast ip from ifconfig:
udpxy -m $(ifconfig vlan2 | grep 'inet addr:' | sed -e 's/.*inet addr://' -e 's/ *Bcast.*//')

Tuesday, February 17, 2015

Removing μTorrent ads

Options -> Preferences -> Advanced -> set all to false:
  • bt.enable_pulse
  • distributed_share.enable
  • gui.show_notorrents_node
  • gui.show_plus_upsell
  • offers.content_offer_autoexec
  • offers.featured_content_badge_enabled
  • offers.featured_content_notifications_enabled
  • offers.featured_content_rss_enabled
  • offers.left_rail_offer_enabled
  • offers.sponsored_torrent_offer_enabled
Options -> Preferences -> hold Shift+F2 while clicking Advanced -> set all to false:
  • gui.show_gate_notify
  • gui.show_plus_av_upsell
  • gui.show_plus_conv_upsell
  • gui.show_plus_upsell_nodes
Source: forum post from Beasley.

Sunday, October 5, 2014

Aukso Lapas

Eilėraštis kurį parašėme kartu su sūnumi, taip patiko kad nusprendžiau išsaugoti :)
Aukso lapas

Atėjo ruduo spalvotas,
Nukrito lapas ūsuotas.
Nukrito į balą, sušlapo lapelis,
Tapo aukso spalvelės.

Vėjui papūtus pakilo lapelis;
Tuo tarpu pro šalį skrido žvirblelis.
Lapas prilipo žvirbliui prie snapo,
Žvirblis nukrito ant šlapio asfalto.

Wednesday, March 12, 2014

Wake-on-Wan

Kažkada seniai susikonfigūravau iš Mukazalos pirktą kompą kas būtų galima įjungta per atstumą, pvz. telefonu nesikeliant iš lovos naudojant Asus AiCloud (kaip žinia pas mane Asus RT-N66U router'is) arba mano pamėgtą PC Monitor, ir nesenai pastebėjau kad TeamViewer programa turi sugebėjimų įjungti kompą per atstumą, tačiau TeamViewer'is ne LAN bet WAN tinklu naudojasi ir tam jau reikėjo papildomų nustatymų, taigi dėl savęs čia susirašau viską iš eilės, o gal ir šiaip kam nors bus naudinga:

Visų pirma TeamViewer nustatymuose nurodžiau WOL Public address - Cigaras.tk, ir portą, nesvarbu kokį, bet neoficialiai tam yra skirtas 9-as portas.

Toliau router'io Port Forwarding nustatymuose atidariau 9-ą portą su nuoroda į belenkokį neužimtą LAN IP, pvz 192.168.1.254, router'yje turėtų būti įjungtas DHCP serveris ir minėtas adresas pakliūti į IP Pool'o ribas.

Toliau minėtam IP adresui kuriama ARP taisyklė pagal MAC adresą:



arp -i br0 -s 192.168.1.254 FF:FF:FF:FF:FF:FF


toks MAC adresas nusiųs Magic Packet užklausą visiems tinkle esantiems įrenginiams, aišku galima nurodyti ir konkretaus įrenginio adresą.

Nu va ir viskas, minėta ARP taisyklė įrašyta pas mane į router'io skriptus, dabar TeamViewer'is (ir ne tik) pajėgia įjungti visus kompus prijungtus prie router'io, kuriuose sukonfigūruotas ir įjungtas Wake-on-Lan funkcionalumas, iš bet kokio tinklo, kad ir 3G.

Tuesday, December 17, 2013

IPTV 7-oji diena - xupnpd - DLNA serveris routeryje

Mano sukurtas Plex papildymas puikiai veikia ir naudoju jį jau kurį laiką kasdieniam televizijos žiūrėjimui, tačiau Plex nenoriai dirba su Android ir Apple įrenginiais, ir papraščiausias sprendimas vietoj Plex naudoti Serviio, kuris tiesą sakant man nelabai patinka, painus produktas, taigi daug dėmesio jam neskyriau. Tačiau naršydamas po interneto platybes aptikau xupnpd - eXtensible UPnP agent - kuris pasirodė ganėtinai adwanced produktas, tačiau žadėjo IPTV be kompiuterio, tereikia turėti routerį! Sudomino, pabandžiau, mano Asus RT-N66U veikia puikiai, taigi dalinuosi trumpa instrukcija kaip vyko diegimas ir išvadomis ar verta:

Visų pirma reikia routerio, kuriame būtų galima diegti papildomus paketus, t.y. tinka bent koks custom firmware kaip DD-WRT ar TomatoUSB ar kas nors panašaus, mano atveju tai minimaliai modifikuotas standartinis Asuswrt: Asuswrt-Merlin. Dar reikia USB atmintinės routeryje, arba kokio išmanaus routerio turinčio vietos, bet kaip jau kalbėjau praeitą kartą geriau naudoti atskirą USB atmintinę o ne routerio particijas. Taigi, viskas iš eilės:



  1. Jungiamės prie routerio Putty pagalba ir instaliuojame Entware arba Optware (galima apseiti ir be Entware, bet taip papraščiau)

  2. Entware duos toolsą opkg kuris padės instaliuoti xupnpd:
    opkg install xupnpd

  3. Tada kažkam reikia į iptables įdėti tokią taisyklę:
    iptables -I INPUT -i lo -j ACCEPT

    Tiesą sakant nelabai įsivaizduoju ką ji daro ir kam ji reikalinga, netestavau xupnpd be jos, taigi nesu įsitikinęs ar ji tikrai reikalinga, bet kad problemų nebūtų ji įrašyta į ankščiau aptarinėtą services-start skriptą kad perkrovus routerį viskas veiktų.

Na va kaipo ir viskas, atsidarome puslapį http://192.168.1.1:4044 (portą galima pakeisti nustatymuose arba xupnpd.lua failiuke), pakrauname beveik tokį patį playlistą kaip mano Plex plugine (vienintelis skirtumas kad vietoj tvg-logo naudojamas atributas logo, galite replace'inti su Notepad++) ir bandome žiūrėti per DLNA ar UPnP klientą, aš kolkas testavau tik su savo LG SmartTV, veikia puikiai, deja kaip ir Serviio atveju vaizdas šiek tiek neproporcingas, pakeisti nėra kaip, ir garso takelio irgi televizorius perjungti nesugeba, taigi per Plex žiūrėti maloniau. Bent kokiu atveju jeigu neturite kompiuterio serveriui, labai geras sprendimas, ačiū Anton Burdinuk už tokį appsą, ir dar ačiū Pavel V. Cherenkov už udpxy servisą, be kurio neveiktų aukščiau minėtas playlistas.

Monday, October 14, 2013

IPTV 6-oji diena - Plex media serverio pluginas

Kaip jau minėjau ankščiau yra labai paprastas būdas žiūrėti IPTV per teliką jeigu turite kokį tais kompiuterį kuriame būtų įdiegtas Plex serveris - tereikia IPTV kanalų nuorodas sudėti į atskirus *.str failus ir pakrauti į Plex serverį, tačiau toks būdas man nepatiko dėl to, kad kanalų informacija saugoma pačio Plex nustatumuose ir pakeitus serverį reikėtų visus kanalus aprašinėti iš naujo, turint grojąraštį iš 150 kanalų malonumas menkas, taigi leidausi į paieškas kaip tą informaciją išsaugoti atskirame faile ar eksportuoti kad būtų galima lengvai dalintis su draugais. Deja paieškos buvo nelabai sėkmingos, taigi nusprendžiau sukurti Plex plugin'ą kuris grotų IPTV kanalus iš M3U failo panašiai kaip ankščiau minėtas SIPTV ar nesenai atrasti nauji servisai SS-IPTV ir nStreamVOD servisai, ir po 3 dienų Pyhon kalbos mokymosi plius 2 dienų testavimo pristatau savo darbo rezultatą:


Plex grotuvai veikia Windows, Mac, Roku, LG, Samsung ir Google TV sistemose, taigi šis sprednimas (kaip ir ankstesnysis) tinka ne tik LG televizoriams. Instaliavimas paprastas, parsisiunčiate plugin'ą iš GitHub apačioje dešinėje esančiu mygtuku Download ZIP, nukopijuojate IPTV.bundle katalogą į Plex plugin katalogą (C:\Users\...\AppData\Local\Plex Media Server\Plug-ins) ir plugino Contents\Resources kataloge esantį playlist.m3u failiuką papildote jus dominančiais IPTV kanalais (labai daug viešų kanalų galima rasti freetux.net ir iptv-player.com), galite nurodyti papildomus atributus kaip tvg-logo ir group-title, remkitės pateiktu pavyzdžiu.

Ir viskas, net neperkrovus Plex serverio kliente turėtų atsirasti naujas punktas Video Channels, o jame IPTV ir sugrupuotas visas grojaraštis


Keičiant serverį jums tereikia išsaugoti Jūsų asmeninį playlist.m3u ir tiek, ateityje planuoju įdėti EPG palaikymą, vertimą į lietuvių ir kitas kalbas, papildyti konfigūraciją ir pan.  Tik noriu atkreipti dėmesį kad Plex neturi oficialaus IPTV palaikymo ir gali būti kad kai kurie kanalai papraščiausiai negros, Plex serverio media manager'yje tai tikrai niekas negros, tik klientuose, tačiau aš pats testavau PC kliente ir LG televizoriuje, viskas groja be jokių problemų, tik užtrunka kol įsijungia. Daugiau informacijos galite ieškoti Plex forumuose, jeigu kils klausimų ar turite kokių pasiūlymų, rašykite čia, padėsiu kuo galėsiu. Jeigu mano plugin'as jums naudingas, būčiau dėkingas jeigu bent apsvarstytumėte galimybę paaukoti nedidelę sumą ant alaus, kad projektas toliau gyvuotų ir tobulėtų, nuorodą į PayPal Donations rasite viršuje dešinėje šio puslapio pusėje.

Friday, October 4, 2013

IPTV 5-oji diena - Asus RT-N66U papildomi nustatymai skriptų pagalba

Kaip ir žadėjau, pratęsimas kaip išsdaugoti router'io konfigūraciją, kuri nepasiekiama per GUI, tiesa šis sprendimas atrodo tinka tik Merlino modifikuotai Asus programinei įrangai, kadangi pas Merliną yra JFFS particija pritaikyta vartotojų skriptams kurie paleidžiami tam įvykstant tam tikriems įvykiams, tiesa yra nerekomenduojama šia particiją naudoti dažnai kadangi jos įrašymų kiekis yra ribotas, geriau naudoti kokį nors ir orastos kokybės USB flash'iuką, tokį pakeisti tikrai pigiau negu visą router'į.

Taigi viskas iš eilės, Merlin'o firmware įrašėm praeitą kartą, patikrinam ar įjungtas JFFS: Administration - System - Enable JFFS partition, pasijungiam per Putty (ką irgi išmokom praeitą kartą) ir kuriam naują failą vi pagalba:



vi /jffs/scripts/firewall_start


Vi tikrai lengvai užsimiršta kai ilgai nesinaudoji, teko naudotis google pagalba kad galėčiausuvaldyti, failo turinys atrodo taip:



#!/bin/sh
sleep 10
killall udpxy
udpxy -m eth0 -p 4000
iptables -I INPUT -p tcp –dport 4000 -j ACCEPT


Vi uždaromas suvedus komandą :x (prieš tai paspaudus Esc kad pereiti į komandinės eilutės režimą), toliau reikia suteikti teises skriptui:



chmod a+rx /jffs/scripts/*


Ir viskas, jeigu nepadaryta klaidų perkrovus routerį bus perkrautas Udpxy servisas ir atidarytas 4000 portas, būtinai patikrinkite skriptą ar nėra klaidų prieš palikdami jį, nes jungiantis routeriui jokių klaidų praneišmų niekur nerodys (na nebent kur nors yra logai, nesu įsitikinęs). Tai tiek, ačiū už dėmesį, kitą dieną tikiuosi grįžti prie televizoriaus konfigūravimo.

Tuesday, October 1, 2013

IPTV 4-oji diena - transliacija į išorę naudojant Udpxy ir Asus RT-N66U

Kaip jau lyg ir esu minėjęs, namuose turiu Asus RT-N66U router'į, jame pagal nutylėjimą sukasi Updxy servisas kuris mano ISP transliuojamo IPTV multicast srautą konvertuoja į unicast ir leidžia žiūrėti tuos unicast stream'us visiems prie router'io pasijungusiems vartotojams, deje tik LAN'e, nors galima prie router'io ir per WAN prisijungti, Udpxy nėra prieinamas nors žinau kad tas įmanoma, iš pirmo karto nepavyko tam sukonfiguruoti taigi atėjau ateičiai.

Ir vakar ta ateitis atėjo kai kolega Wadalazas bandė įrodyti kad mano idėja nelogiška ir neįgyvendinama, ir paprastas buitinis router'is nepajėgs perduoti televizijos į išorę, ir kad bakalauro diplomą aš gavau nepelnytai :), taigi gavęs motyvacijos prisėdau ir pabandžiau viską sutvarkyti:

Šiek tiek pagooglinęs išsiaiškinau, kad tereikia atidaryti Udpxy naudojamą portą (pagal nutylėjimą mano router'yje tai 4000) priėjimui iš WAN ir pakeisti Udpxy konfigūraciją kad leistų prisijungti ne tik vidiniu adresu 192.168.1.1, bet ir išoriniu, tačiau standartinės Asus programinės įrangos galimybės labai ribotos taigi reik ieškoti alternatyvų. Bent kas kažkiek nusimanantis kompiuteriniuose tinkluose man iškart rekomenduotų DD-WRT, kiek daugiau patirties turintys gal ir Tomato, apie kuriuos esu minėjęs ankstesniuosne įrašuose, tačiau mintis kad reikės visus DHCP, port forwarding'us ir pan. konfigūruoti iš naujo nelabai viliojo, taigi pradžiai pabandžiau tą patį Asuswrt, tik patobulintą nepriklausomo developer'io Merlin, tiesa jo puslapis kažkokia tragedija, bet pavyko atrasti jo mediafire paskyrą iš kur ir parsisiunčiau paskutinę stable versiją. Instaliuoti jį paprasta, extract'inam archyvą, viduj randam *.trx failą, upload'inam jį router'io nustatymuose Administration - Formware Upgrade ir viskas, net nustatymai liko visi, bet vistiek prieš tai rekomenduočiau pasidaryti atsarginę kopiją (Administration - Restore/Save/Upload Setting), maža kas. Toliau konfigūracimas, grafinio interfeiso tam rasti nepavyko, taigi naudojau unix komandas, matyt galėjau tą padaryti per Tools - Run System Command, bet nusprendžiau geriau tą daryti per Putty prieš tai įjungęs SSH palaikymą (Administration - System - Enable SSH). Jeigu nemokate naudotis Putty tai paprasta, į Host Name įrašote routerio adresą (192.168.1.1), spaudžiate Open, nurodote routerio priijungimo vardą, slaptažodį, ir baigta. 4000 portas atidaromas tokia komanda:



iptables -I INPUT -p tcp --dport 4000 -j ACCEPT


Tada reikia perkrauti Udpxy kad be parametro -a, nes Udpxy atsiliepia tik į kreipinius 192.168.1.1:4000 adresu, ką galima pamatyti http://192.168.1.1:4000/status puslapyje:



killall udpxy
udpxy -m eth0 -p 4000


Va ir viskas, http://192.168.1.1:4000/status turėtų matytis Accepting clients on: 0.0.0.0:4000, VLC player'yje nurodote network stream'ą



http://išorinis adresas arba IP (mano atveju cigaras.tk):4000/udp/xxx.xxx.xxx.xxx:1234


Kur vietoj xxx aišku atitinkami UDP adresas, ir matote atitinkama IPTV kanalą net nebūdami vietiniame tinkle, your face Wadala, god dammit!

Vienas mano kolega gyvenantis valstijose patestavo, ir aš patestavau darbe, viskas veikia, deje Wadalazui negroja, bet dėl to jau kalta Wadalos infrastruktūra, faktas kad veikia, ir net sudėtinga nebuvo (na aišku Udpxy tikrai rimtas produktas, pats kaži ar tokį suprgramuočiau, ačiū už tai Pavel V. Cherenkov), bakalaurą gavau ne veltui :)

Tačiau yra viena problema, per Putty atlikti pakeitimai nėra išsaugoti router'io konfigūracijoje, dėl to perkorvus router'į pakeitimai nusimuša, tenka iš naujo atidaryti portą ir perkrauti Udpxy, reikia pasitelkti google ir kurį vakarą tą sutvarkyti, tačiau šiai dienai užteks, taip sakant laukite tęsinio.

P.S. Taipogi ačiū už pagalbą snbforums.com.