BeeSWITCH: Simple Batch IP Switcher


  • SPYRO KiD
  • admin[~@t~]spyrozone[~d.t~]net
  • Friday, May 6th, 2011
  • CopyLEFT (c) 2011++ www.spyrozone.net All Rights Reserved


Jika Anda pengguna Windows XP/Vista, mungkin pernah lelah karena harus selalu mengubah-ubah IP Address tiap kali ingin berinternet di rumah setelah sebelumnya laptop Anda di set menggunakan IP kantor. Atau mungkin, Anda merasa capek karena harus mengubah lagi alamat IP ketika ingin berinternet di kantor setelah sebelumnya Anda berinternet di kampus, taman wifi, atau di kafe favorit Anda. Berbeda dengan Windows7 yang memiliki fasilitas penyimpanan profil koneksi jaringan, Windows XP & Vista tidak memiliki fitur tersebut.

Di Internet, memang bisa dipastikan sudah ada begitu banyak program gratisan untuk memanajemen profil jaringan. Tapi, apa salahnya kalau kali ini kita membuat IP Switcher sendiri. Mudah, dan tidak perlu menggunakan alat bantu apapun. Yang kita butuhkan hanya text editor, serta bisa berjalan pada semua versi windows (xp/vista/7)  baik 32 bit maupun 64 bit karena aplikasi ini dibangun dengan batch programming.

Berikut source code beserta panduan penggunaannya. Selamat mencoba :)

1. DOWNLOAD BeeSWITCH V1.0.0

{Image: Download BeeSWITCH}

Ada 3 (tiga) file utama dalam project kali ini.

  1. BeeSWITCH.bat, program utama;
  2. config.txt, file konfigurasi BeeSWITCH;
  3. help.txt, berisi panduan untuk menambahkan/memodifikasi profil koneksi jaringan.

2. PANDUAN PENGGUNAAN BeeSWITCH

2.1. Membuat Profil Koneksi Jaringan

File config.txt berisi daftar profil koneksi jaringan. Pada file help.txt, saya memberikan penjelasan tentang format penulisan profil baru. Agar semakin jelas, saya akan menguraikan kembali format penulisannya ;)

2.1.1. Menambah Profil Koneksi dengan Static IP

Format penulisan:

Nomor urut<semicolon>Nama Profil<semicolon> Interface<semicolon> Alamat IP<spasi>Subnet Mask<spasi> Default Gateway <spasi>Metric<semicolon>Primary DNS <semicolon>Secondary DNS

Misalnya Anda ingin membuat koneksi dengan konfigurasi berikut:

  • Nomor urut menu: 1
  • Nama profil: My Office (LAN)
  • Interface: Local Area Connection
  • Alamat IP: 172.17.28.216
  • Subnet Mask: 255.255.255.0
  • Default gateway: 172.17.28.254
  • Metric: 0
  • Primary DNS: 8.8.8.8
  • Secondary DNS: 8.8.4.4

Maka, format penulisannya Adalah:

1;My Office (LAN);Local Area Connection;172.17.28.216 255.255.255.0 172.17.28.254 0;8.8.8.8;8.8.4.4

2.1.2. Menambah Profil Koneksi DHCP

Menambah profil koneksi DHCP tidak kalah mudahnya. Berikut contoh profil koneksi DHCP untuk interface Wireless Network Connection:

6;Spyro Cafe (WiFi);Wireless Network Connection;dhcp;;

Uraian dari profil diatas adalah:

  • Nomor urut menu: 2
  • Nama Profil Koneksi: Spyro Cafe (WiFi)
  • Interface: Wireless Network Connection

2.2. Konfigurasi  BeeSWITCH.bat

BeeSwitch.bat berisi perintah-perintah Command Prompt untuk membaca file konfigurasi yang telah ditentukan (secara default bernama config.txt), lalu mengubah IP user sesuai menu profil yang dipilih user. Berikut adalah source code BeeSWITCH.bat

@ECHO OFF
SET BeeVERSION=V1.0.0
TITLE BeeSWITCH %BeeVERSION% - Batch IP Switcher

:proginfo
ECHO   .--.               .--.
ECHO  /    `.   o   o   .'    \  BeeSWITCH - Batch IP Switcher is
ECHO  \      \   \ /   /      /  a network settings manager to
ECHO  /\_     \ .-"-. /     _/\  help you switch a computer between
ECHO (         V ^^ ^^ V         ) multiple network (profiles) instantly.
ECHO  \_      _^| 9_9 ^|_      _/
ECHO   `.    //\__o__/\\    .'   See HELP.txt to add/edit/remove your
ECHO     `._//\^=^=^=^=^=^=^=/\\_.'     connection profiles.
ECHO      /_/ /\^=^=^=^=^=/\ \_\
ECHO        _// \^=^=^=/ \\_        Author  : SPYRO KiD
ECHO       /_/_//`^='\\_\_\        ~ Web  : http://www.spyrozone.net
ECHO         /_/     \_\          ~ Mail : root\at\spyrozone.net
ECHO ----- BeeSWITCH %BeeVERSION% -------------------------------------------
ECHO.
PAUSE
CLS

:reset
SET confile=config.txt
SET choice=%1
SET profilename=
SET connection=
SET ipset=
SET primdns=
SET secdns=

:head
CLS
ECHO.
ECHO   Network Connection Profile:
ECHO   -----------------------------------------------------------

:menu
FOR /f "tokens=1,2,3,4,5,6 delims=;" %%a in (%confile%) do (
 IF "%choice%"=="" (
 ECHO     %%a = %%b
 ) ELSE (
 IF "%choice%"=="q" GOTO end
 IF "%%a"=="%choice%" (
 SET profilename=%%b
 SET connection=%%c
 SET ipset=%%d
 SET primdns=%%e
 SET secdns=%%f
 )
 )
)
IF "%choice%"=="" (
 ECHO     q = Quit
 ECHO   -----------------------------------------------------------
 SET /p choice=  Enter your choice:
 GOTO head
)

:switchip
IF "%profilename%"=="" (
 CLS
 ECHO.
 ECHO   Invalid Selection!
 ECHO.
 PAUSE
 GOTO reset
) ELSE (
 CLS
 ECHO Please wait...
 ECHO.
 IF "%ipset%"=="dhcp" (
 IF NOT "%connection%"=="" (
 NETSH INTERFACE IP SET ADDRESS "%connection%" DHCP
 NETSH INTERFACE IP SET DNS "%connection%" DHCP
 )
 ) ELSE (
 IF NOT "%ipset%"=="" (NETSH INTERFACE IP SET ADDRESS "%connection%" static %ipset%)
 IF NOT "%primdns%"=="" (NETSH INTERFACE IP SET DNS "%connection%" static %primdns% primary)
 IF NOT "%secdns%"=="" (NETSH INTERFACE IP ADD DNS "%connection%" %secdns%)
 )
)
CLS
ECHO   Your IP Address has been changed into the following configuration:
NETSH INTERFACE IP SHOW CONFIG "%connection%"
ECHO.
PAUSE
CLS
GOTO reset

:end

Sederhana sekali yah, hanya membaca file konfigurasi lalu mengolahnya dengan netsh ^^ Jika Anda ingin mengubah nama dan lokasi file konfigurasi, ubah saja baris ke 24. Misalnya Anda membuat file konfigurasi dengan nama konfigurasi.txt yang terletak pada folder C:\spyrozone.net\folderku\, maka ubah baris ke 24 pada kode diatas dari:

SET confile=config.txt

Menjadi

SET confile=C:\spyrozone.net\folderku\konfigurasi.txt

Sangat mudah, khan? :)

2.3. Menjalankan  BeeSWITCH.bat

  1. Jalankan BeeSWITCH.bat sebagai Administrator. Akan tampil gambar lebah dengan deskripsi aplikasi beserta nama author (nampang nih yee.. ^^)
    {image: BeeSwitch V1.0.0}

    BeeSwitch V1.0.0

    Sesuai keterangan yang tampil, tekan sembarang tombol pada keyboard Anda untuk melanjutkan.

  2. Akan tampil daftar menu sesuai dengan profil koneksi yang Anda isikan pada config.txt
    {image: Menu BeeSwitch V1.0.0}

    Menu BeeSwitch V1.0.0

    Ketik nomor urut menu profil koneksi yang Anda inginkan, kemudian tekan Enter. Tunggu hingga proses perubahan IP selesai.

    {image: Hasil perubahan konfigurasi}

    Hasil perubahan konfigurasi

    BeeSWITCH akan menampilkan hasil perubahan alamat IP. Tekan sembarang tombol pada keyboard Anda untuk melanjutkan.

  3. Anda akan dibawa kembali ke menu utama. Ketik x lalu tekan Enter untuk menutup aplikasi.

Fiturnya terlalu sederhana ya? silahkan saja Anda modifikasi script diatas sesuka hati ^^ Sekian dulu dech, selamat mencoba dan semoga bermanfaat :)


//E.O.F