[OpenVPN] Роутинг определенных IP-адресов

Используется Tunnelblick для подключения к корпоративному VPN. Настройка «Route all IPv4 traffic through the VPN» отключена, т.к. совершенно нет желания гнать весь трафик через хлюплый VPN.

Однако недавно появилась задача перенаправлять запросы к определенному IP через VPN. И для этого достаточно в файле конфигурации подключения добавить:

route-nopull
route <IP-адрес> <маска подсети>

Пример:

route-nopull
route 192.168.1.1 255.255.255.0

libffi.6.dylib not found

Сегодня при запуске команды pod update получил неожиданную ошибку:

...
`require': dlopen(/Library/Ruby/Gems/2.6.0/gems/ffi-1.12.2/lib/ffi_c.bundle, 0x0009): dependent dylib '/opt/local/lib/libffi.6.dylib' not found for '/Library/Ruby/Gems/2.6.0/gems/ffi-1.12.2/lib/ffi_c.bundle' - /Library/Ruby/Gems/2.6.0/gems/ffi-1.12.2/lib/ffi_c.bundle (LoadError)

Решение: запустить команду

sudo gem pristine ffi

Стриминг игр с Xbox One на Mac

Мой Xbox One X подключен к телевизору, который в гостиной. Иногда телевизор занят, а поиграть хочется. Решение — стримим игры с Xbox на компьютер.

И хоть у меня Mac, но через Parallels стоит Windows 10, где через приложение Xbox можно в два клика добавить консоль и начать играть.

Магия проста — на компьютер передается просто видео (по этой технологии работает, к примеру, сервис NVIDIA GeForce Now или Playkey), поэтому сетевое соединение должно быть стабильным и быстрым.

Если не хочется сидеть через Windows, то для Mac есть сторонний клиент OneCast (триал 14 дней, лицензия ~1800 руб.).

Кстати, геймпад Xbox One, находясь в другой комнате, не отваливается и отлично работает. Блютуз всемогущий!

Извлечение субтитров из видео в MKV

Для извлечения субтитров из видео в MKV (Matroska) можно воспользоваться утилитой mkvtoolnix. На macOS можно установить через порты:

sudo port install mkvtoolnix

Далее необходимо получить информацию о видео:

mkvmerge -i video.mkv

Будет выведен список треков:

File 'video.mkv': container: Matroska
Track ID 0: video (MPEG-4p10/AVC/H.264)
Track ID 1: audio (AC-3)
Track ID 2: audio (AC-3)
Track ID 3: subtitles (SubRip/SRT)
Track ID 4: subtitles (SubRip/SRT)

<trackID> — идентификатор нужной дорожки, которую необходимо использовать для извлечения субтитров:

mkvextract tracks video.mkv <trackID>:<subtitles_name>.srt

Apple Music

В последнее время был в раздумьях, на каком музыкальном сервисе остановиться.

Вообще, уже давно пользуюсь iTunes Match, который хранит загружаемые в него треки, но это больше сервис для хранения с возможностью прослушивания, т.к. любые новые композиции необходимо добавлять в библиотеку вручную, что я все это время и делал.

Затем, года два назад, когда у меня был телефон на Android, использовал параллельно Google Music. Так вышло, что Google снова «убила» свой очередной сервис, и теперь перевела пользователей на YouTube Musiс, но он мне вообще на зашел (мне не нужно приложение для просмотра клипов).

Потом я перешел на Яндекс.Музыку, где одной из киллер-фич для меня были тексты песен (отлично помогает в изучении языка). Яндекс.Музыка входит в подписку Яндекс.Плюс, а при наличии Яндекс.Станции можно слушать музыку через колонку, что тоже является преимуществом.

Читать далее «Apple Music»

gradle.properties и настройки Proxy

Понадобилось в Android Studio пустить трафик через прокси-сервер, чтобы проверить, к каким адресам происходят запросы при сборке проекта. Для этого в настройках Android Studio нужно найти HTTP Proxy и указать параметры подключения.

После того, как задача была выполнена, в этих же настройках я отключил прокси. Но при сборке проекта обращения к подключенным репозиториям все равно шли через прокси. В моем случае это выясняется через 20 минут «сборки», когда в консоль выкидывается сообщение, что невозможно скачать какой-то из пакетов и адрес прокси-сервера.

Несколько раз перетыкивал настройки HTTP Proxy в значение None, перезапускал Android Studio – безрезультатно.

Потом выяснилось, что параметры прокси записываются в локальный файл %user%/.gradle/gradle.properties и выглядит это примерно так:

## For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
#
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx1024m -XX:MaxPermSize=256m
# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
#
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
#Thu Mar 19 12:38:55 MSK 2020
systemProp.https.proxyPort=8888
systemProp.http.proxyHost=localhost
systemProp.https.proxyHost=localhost
systemProp.http.proxyPort=8888

Как и следовало ожидать, убрав строчки с прокси, все заработало.

Похоже на баг Android Studio, потому как при отключении прокси соответствующие записи из gradle.properties должны также удаляться.

[Sublime Text] Моя схема настроек

Наиболее комфортная для меня схема настроек (Preferences.sublime-settings) выглядит следующим образом:

{
	"color_scheme": "Packages/Color Scheme - Default/iPlastic.tmTheme",
	"draw_white_space": "all",
	"fallback_encoding": "Cyrillic (Windows 1251)",
	"folder_exclude_patterns":
	[
		"node_modules",
		"bower_components",
		"generated",
		"intermediates",
		"sms/build",
		"tmp",
		".idea",
		".gradle",
		".git",
		"build"
	],
	"font_options":
	[
		"gray_antialias"
	],
	"highlight_modified_tabs": true,
	"ignored_packages":
	[
		"Vintage"
	],
	"open_files_in_new_window": false,
	"show_encoding": true,
	"theme_font_options":
	[
		"gray_antialias"
	],
	"translate_tabs_to_spaces": true,
	"trim_trailing_white_space_on_save": true,
	"update_check": false,
	"word_wrap": true
}

[Sublime Text] Исключение директории из поиска

Чтобы какая-либо директория не участвовала в результатах поиска (к примеру, node_modules), достаточно прописать в файл настроек (Preferences.sublime-settings) следующее:

"folder_exclude_patterns": ["<folder_name1>"]

Поддерживается в том числе формат по маске.

MSBUILD: error MSB3428: Could not load the Visual C++ component «VCBuild.exe»

Для решения проблемы ввести команду:

npm install --global --production windows-build-tools

Выпущена новая версия «Первый канал» для Apple TV

Вчера состоялся релиз обновленной версии приложения «Первый канал» для приставок Apple TV 4-го поколения (tvOS).

Из особенностей:

  • Добавили раздел «Спорт»
  • По этой причине пункт «Эфир» из меню пришлось убрать, т.к. в menuBarTemplate число допустимы пунктов ограничены семью (странная особенность, конечно)
  • Переработали наполнение главного экрана, теперь оно повторят то, как сделано в последних версиях приложения для Smart TV
  • На главном экране в карусели «Телепрограмма» плитка программы, идущей в прямом эфире, представлена в виде мини-плеера. При наведении фокуса на такую плитку автоматически запустится видео. Нажатие на плитку запускает видео в фулскрине.
  • Добавили показ рекламы перед запуском сюжетов (pre-roll).
  • Многие другие улучшения в коде

Вопросы и пожелания отправляйте нам на support@smart1tv.ru или в комментариях к этой заметке.

Выпущена новая версия Первый канал для Apple TV