Jalankan program jika terhubung ke wifi tertentu?

20

Apakah mungkin untuk menjalankan program secara otomatis ketika saya terhubung ke router tertentu, dan menghentikannya ketika saya memutuskan sambungan dari router ini?

Pada dasarnya saya ingin sebuah program dijalankan ketika saya sedang bekerja (jam fleksibel, jadi saya tidak bisa hanya memiliki semacam fungsi timer) tetapi tidak ketika saya di rumah - atau di tempat lain.

Saya sedang menjalankan: Macbook air OS X Versi 10.9.4

guestmember
sumber
Program apa yang ingin diluncurkan / diakhiri Yuo? Saya dapat menulis kepada Anda daemon yang akan mengeksekusi skrip bash dan meneruskan "SSID" pada koneksi dan juga "SSID" dari jaringan yang terputus.
Mateusz Szlosek
Nevermind, saya melihat bahwa George menemukan solusi yang lebih baik :)
Mateusz Szlosek
@Mususz perangkat lunak pihak ketiga tidak selalu merupakan solusi yang lebih baik, hanya sebuah alternatif!
GRG
@MateuszSzlosek, saya juga ingin tahu apa solusi Anda. Untuk tujuan saya, saya lebih suka sesuatu yang kurang dari aplikasi lain, karena saya akan menggunakan solusi Anda untuk menghubungkan aplikasi saya.
rsaxvc
@rsaxvc Saya telah memposting tautan Github dengan implementasi cepat saya. Banyak yang bisa diubah tetapi Anda akan mendapatkan dasar-dasarnya :)
Mateusz Szlosek

Jawaban:

12

Anda dapat menggunakan ControlPlane di mana Anda dapat mengatur aturan untuk melakukan tugas-tugas seperti membuka aplikasi berdasarkan berbagai kriteria yang mencakup menghubungkan ke Wi-Fi.

ControlPlane mendukung banyak konteks di mana konteks didefinisikan sebagai lokasi atau aktivitas yang Anda lakukan. Menggunakan sumber bukti Anda bisa membuat seperangkat aturan yang memberi tahu ControlPlane konteks apa yang berlaku untuk lingkungan Anda. Ketika ControlPlane memasuki atau meninggalkan konteks, serangkaian tindakan dilakukan.

ControlPlaneX , cabang tidak resmi dari proyek open source, telah membuat proyek bekerja untuk Mojave.

GRG
sumber
@ Seamus Saya telah menambahkan tautan ke garpu terpelihara yang mencakup dukungan Mojave.
GRG
Terima kasih, tetapi apa artinya "garpu tidak resmi"? Apakah anda tahu
Seamus
@ Seamus Saya menggunakan istilah ini untuk menggambarkan cara proyek open source dilanjutkan. ControlPlaneX adalah 'garpu' dari ControlPlane, artinya terus menggunakan kode sumber yang sama seperti aslinya dan membangun di atasnya, yang dimungkinkan karena proyek asli adalah open source. Jika penulis asli proyek memilih garpu untuk mendorong orang berkontribusi, ini menjadi garpu resmi, namun tampaknya penulis asli tidak melakukannya dengan garpu apa pun, karena itu semua garpu tidak resmi, maka 'garpu tidak resmi' . Ini tampaknya menjadi garpu paling populer.
GRG
Situasi yang menarik kemudian ... pemilik aslinya meminta bantuan, dan sebagai gantinya seseorang melakukan forked & pergi dengan cara mereka sendiri. Saya rasa semua adil dalam cinta & open source :)
Seamus
7

Saya telah membuat aplikasi contoh daemon untuk tujuan ini. Anda dapat menemukannya di Github .

Untuk membuatnya berjalan:

  • Kompilasi menggunakan Xcode.
  • Pindah Network Listener.appke /Applicationsdir.
  • Pindahkan .networkConnecteddan .networkDisconnectedke $HOMEdir Anda .
  • Pindah Network-Listener.plistke ~/Library/LaunchAgents.
  • Buat .networkConnecteddan .networkDisconnectedeksekusi.

Ini akan berjalan secara otomatis ketika Anda masuk ke akun Anda. Jika Anda ingin mengujinya jalankan ini di Terminal :

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

Skrip menerima nama SSID sebagai argumen.

Anda bebas mengubahnya untuk kebutuhan Anda. Jika ada masalah, beri tahu saya.


Semuanya diciptakan untuk menunjukkan kemungkinan, banyak hal yang bisa diperbaiki.

Mateusz Szlosek
sumber
1
Terima kasih atas inspirasi Mateusz, saya telah membuat aplikasi yang mirip dengan milik Anda untuk mengeksekusi skrip koneksi VPN saya, di Github termasuk biner aplikasi yang dikompilasi untuk mereka yang mungkin membutuhkannya: github.com/p2/WifiWatch
Pascal
6

Anda dapat menggunakan Sidekick yang memungkinkan Anda melakukan 'tindakan' saat mengubah lokasi. Lokasi dilaporkan menggunakan Wi-Fi spesifik, yang berarti Anda dapat melakukan hal-hal ketika Wi-Fi berubah.

Sidekick adalah aplikasi yang secara otomatis memperbarui pengaturan laptop Anda berdasarkan di mana Anda berada. Cukup instal aplikasi, konfigurasikan tempat-tempat yang sering Anda kunjungi, (rumah, kantor, kedai kopi, dll.) Dan jangan pernah repot-repot dengan pengaturan Anda lagi!

GRG
sumber
3
Sidekick saat ini $ 29,00
respectTheCode