initial commit

This commit is contained in:
postscriptum 2025-11-01 14:28:20 +02:00
commit d4994cde4c
61 changed files with 7044 additions and 0 deletions

View file

@ -0,0 +1,37 @@
# Гео-локація пірів для Transmission / GTK
Для тих, хто цікавиться географією своїх роздач, нагадаю, що для Transmission існує окрема [гілка](https://github.com/365andreas/transmission/tree/country-flags). Вона поки не змержена в апстрім і є частиною [PR#7171](https://github.com/transmission/transmission/pull/7171).
Що там відбувається - не знаю, але для себе її успішно зібрав і користуюсь вже тривалий час. По суті, вона додає колонку Geo-IP до вікна властивостей роздачі (таб `Peers`). На момент допису, останнє оновлення було внесене 2 місяці тому, отже гілка є актуальною.
Процес збірки на Fedora 42 / GNOME 48 виглядає наступним чином:
1. `sudo dnf remove transmission transmission-gtk` - видаляємо, якщо встановлено з `dnf`/`yum`
2. `sudo dnf install gtkmm4.0-devel` - додатково поставив тільки API фреймворку [gtkmm](https://gtkmm.gnome.org/en/) v4
3. `git clone --recurse-submodules https://github.com/365andreas/transmission.git`
4. `cd transmission`
5. `git checkout country-flags` - обираємо гілку, що включає функціональність Geo-IP
6. `git submodule update --init --recursive` - ініціюємо локальні залежності
7. `cmake -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_GTK=ON`
* `-DENABLE_TESTS=OFF` - не бажано, але тести можна вимкнути для швидкої компіляції
* `-DENABLE_MAC=OFF` - за що відповідає не знаю, лишив як в сказано в доках
* `-DCMAKE_BUILD_TYPE=Release` - додав, бо не планую нічого дебажити
8. `cd build`
9. `cmake --build .`
* можна додатково вказати `-j N` - де `N` кількість потоків / ядер для збірки
* якщо на цьому етапі у вас помилка з `Glib::FileTest::EXISTS`, то вам [сюди](https://github.com/transmission/transmission/pull/7171#issuecomment-3082171771)
10. `sudo cmake --install .`
Це приклад для першої збірки, якщо ви оновлюєтесь, в README є окремі [команди](https://github.com/transmission/transmission#building-transmission-from-git-updating).
Після встановлення має з'явитись значок в меню програм GNOME. Якщо цього не сталося - перевірте наявність лаунчера `/usr/local/share/applications/transmission-gtk.desktop` (це стандартна локація для `CMAKE_INSTALL_PREFIX`)
Скинути кеш можна командою:
```
update-desktop-database /usr/local/share/applications
```
* у вас цей шлях може бути іншим, наприклад `~/.local/share/applications`
Окремо варто зауважити, що деякі трекери можуть блокувати альфа-збірки з репозиторію по заголовкам. Наскільки це актуально - я не знаю, але такі дані можна змінити різними [способами](https://devzone.org.ua/post/zmina-peerid-user-agent-v-transmission).
Ну власне й все. Я думаю що дану модифікацію рано чи пізно буде додано то наступної версії, адже в qBittorrent така опція вже давно постачається з коробки, до того ж там є прапорці країн.