Uruchomić program, jeśli jest podłączony do określonego Wi-Fi?

20

Czy możliwe jest automatyczne uruchamianie programu po podłączeniu do określonego routera i zatrzymywanie go po odłączeniu od tego routera?

Zasadniczo chcę, aby program działał, gdy jestem w pracy (elastyczne godziny, więc nie mogę po prostu mieć funkcji timera), ale nie kiedy jestem w domu - lub gdzie indziej.

Używam: Macbook air OS X wersja 10.9.4

gość
źródło
Jakiego rodzaju program chciałbyś uruchomić / zakończyć? Mogę napisać Ci demona, który wykona skrypt bash i przekaże „SSID” przy połączeniu, a także „SSID” odłączonej sieci.
Mateusz Szlosek
Nieważne, widzę, że George znalazł lepsze rozwiązania :)
Mateusz Szlosek
@Mateusz Oprogramowanie innych firm nie zawsze jest lepszym rozwiązaniem, jest tylko alternatywą!
grg
@MateuszSzlosek, jestem również ciekawy, jakie byłoby Twoje rozwiązanie. W moim przypadku wolałbym coś mniej niż inną aplikację, ponieważ używałbym twojego rozwiązania do podłączenia mojej aplikacji.
rsaxvc
@rsaxvc Zamieściłem link Github z moją szybką implementacją. Wiele można zmienić, ale dostaniesz podstawy :)
Mateusz Szlosek

Odpowiedzi:

12

Możesz użyć ControlPlane, gdzie możesz skonfigurować reguły do ​​wykonywania zadań, takich jak otwieranie aplikacji w oparciu o różne kryteria, w tym łączenie się z Wi-Fi.

ControlPlane obsługuje wiele kontekstów, w których kontekst jest zdefiniowany jako wykonywana lokalizacja lub działanie. Korzystając ze źródeł dowodów, możesz utworzyć zestaw reguł, które poinformują ControlPlane, jaki kontekst zastosować w twoim środowisku. Kiedy ControlPlane wchodzi lub wychodzi z kontekstu, wykonywany jest zestaw akcji.

ControlPlaneX , nieoficjalne rozwidlenie projektu open source, utrzymało pracę projektu w Mojave.

grg
źródło
@Seamus Dodałem link do utrzymanego rozwidlenia, który obejmuje obsługę Mojave.
grg
Dzięki, ale co znaczy „nieoficjalny widelec”? Czy wiesz?
Seamus
@ Seamus Używam tego terminu, aby opisać sposób, w jaki projekt open source był kontynuowany. ControlPlaneX jest „rozwidleniem” ControlPlane, co oznacza, że ​​nadal używa tego samego kodu źródłowego co oryginał i buduje na nim, co jest możliwe, ponieważ oryginalny projekt był open source. Jeśli pierwotny autor projektu wybierze widelec, aby zachęcić ludzi do wniesienia wkładu, staje się to oficjalnym widelcem, jednak nie wydaje się, że pierwotny autor zrobił to z dowolnym widelcem, dlatego wszystkie widelce są nieoficjalne, stąd „nieoficjalny widelec” . Ten wydaje się być najbardziej popularnym widelcem.
grg
Ciekawa sytuacja wtedy ... pierwotny właściciel poprosił o pomoc, a zamiast tego ktoś rozwidlił i poszedł własną drogą. Wszystko jest w porządku w miłości i open source, jak sądzę :)
Seamus
7

W tym celu stworzyłem przykładową aplikację demona. Możesz go znaleźć na Github .

Aby uruchomić:

  • Skompiluj za pomocą Xcode.
  • Przejdź Network Listener.appdo /Applicationsreż.
  • Poruszać .networkConnectedi .networkDisconnecteddo swojego $HOMEkatalogu.
  • Przenieś Network-Listener.plistdo ~/Library/LaunchAgents.
  • Wykonaj .networkConnectedi .networkDisconnectedwykonaj.

Uruchomi się automatycznie, gdy zalogujesz się na swoje konto. Jeśli chcesz to przetestować, uruchom to w Terminalu :

launchctl load -S Aqua -w ~/Library/LaunchAgents/Network-Listener.plist

Skrypty otrzymują nazwę SSID jako argument.

Możesz go zmienić według własnych potrzeb. W przypadku jakichkolwiek problemów daj mi znać.


Wszystko zostało stworzone, aby pokazać możliwości, wiele rzeczy można ulepszyć.

Mateusz Szlosek
źródło
1
Dzięki za inspirację Mateusz, stworzyłem aplikację podobną do twojej do wykonywania moich skryptów połączeń VPN, na Github, w tym skompilowaną wersję binarną aplikacji dla tych, którzy mogą jej potrzebować: github.com/p2/WifiWatch
Pascal
6

Możesz użyć Sidekick, który pozwala wykonywać „akcje” podczas zmiany lokalizacji. Lokalizacja jest zgłaszana przy użyciu określonego Wi-Fi, co oznacza, że ​​możesz robić rzeczy, gdy zmienia się Wi-Fi.

Sidekick to aplikacja, która automatycznie aktualizuje ustawienia laptopa w zależności od tego, gdzie jesteś. Wystarczy zainstalować aplikację, skonfigurować często odwiedzane miejsca (dom, praca, kawiarnia itp.) I nigdy więcej nie przejmować się ustawieniami!

grg
źródło
3
Sidekick kosztuje obecnie 29,00 $
szacunek TheCode