devzone.org.ua/post/heo-lokatsiia-piriv-dlia-transmission-gtk.md
2025-11-01 14:28:20 +02:00

37 lines
No EOL
3.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Гео-локація пірів для 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 така опція вже давно постачається з коробки, до того ж там є прапорці країн.