Wine

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

В сети прочел новость о выпуске очередной версии Wine, и задумался, с 93 года пилят эмулятор винды, и до сих пор он в стадии “что-то работает”. Многие конечно могут поспорить, но у меня ни разу еще не было так, что б запустил программу через Wine и оно на 100% нормально поехало. Хотя я не о том.

Когда я познакомился с Linux, Wine был единственным способом играть в “серьезные” игры под этой системой. Я конечно очень хотел, но если честно не верил в тот самый “вендекапец”, а ведь как все поменялось… Теперь чуть ли не половина игр выходит кроссплатформенными. Что к этому привело? Вот лично я считаю, что если б Билли с Балмером со сцены не ушли, все было б не так. Т.к. эти товарищи старались сохранить свою компанию в лидерах ценой любых гадостей и подстав.

Причем эти перемены были настолько явными… Ведь было понятно, что-то менятьеся, когда мелкософт официально поддержал mono и по сути взял на работу Мигеля. Когда среди противоборствующих в компании группировок победила та, что считала – лучше переписать все и потерять совместимость, но довести систему до ума (так по сути появилась Win 7), и много других подобных событий.

 

А может у меня просто настроение хорошее. Ведь кто-то другой может усмотреть во всем этом один только негатив 😉

Прозрачное Socks5 проксирование приложений в linux

Потребовалось мне как-то запустить игру, которая запускается под wine, через прокси. Поднял ssh-туннель, запустил игру через proxychains, и… игра не смогла соединиться с сервером, хотя chromium без проблем работал и показывал ip прокси. Попробовал tsocks — игра вообще не запустилась. Можно, конечно, было настроить VPN-туннель с помощью того же ssh, но сервер — VPS, под OpenVZ, у которого по умолчанию выключен TUN, что привело бы к письму в техподдержку и ожиданию.
Итак, пятиминутное гугление привело меня к заброшенному проекту Transocks, который, в отличие от proxychains и tsocks, которые подгружают свои библиотеки и перехватывают сетевые вызовы, слушает определенный порт и перенаправляет все, что в него пришло, через socks4 прокси. К сожалению, transocks у меня не собрался, и я начал гуглить дальше. Оказывается, у проекта есть два форка: transocks_ev на c и transocks_em на ruby. Первый поддерживает Socks5, не поддерживает авторизацию и UDP. Второй же поддерживает Socks5, UDP, *BSD, но тоже, вроде бы, не поддерживает авторизацию(не нашел в коде, а документации нет). Так как UDP мне не нужно, я остановился на transocks_ev.

Читать