The Order of Precedence is to improve oneself, learn, and have fun. One should first seek to improve oneself. Improving oneself often comes through learning. Learning comes best with it is fun. However, if learning is not fun, one must still learn. If improving oneself does not acquire new knowledge, one must still improve. In this way, one must always seek these things, but be willing to do away with the least of them.
EPPPD - Excellent Point-to-Point Protocol Daemon
- Ye olde AppleScript frontend to
pppd
Download
About
EPPPD is a fairly simple GPLv3’d AppleScript frontend to the pppd program. Common nix methods are used to acquire the most-likely subnet, tty device, and DNS (aka, ls /dev/tty, parsing those values, etc.). At the moment, it is fairly limited in its capabilities, but should be more than enough for the purpose of running a pppd server to a mobile/palm client, as was its original purpose. Additionally, the code is pretty nasty, but for the sake of FS/OSS I have made it available.
Features
- Limited auto-detection of available tty devices!
- Baud rate drop-down menu!
- Target IP!
- DNS!
- Process checking, so you don’t start two pppds!
- Enable IP Forwarding checkbox!
- All settings kept within the bundle’s Info.plist - gogogo portability!
Usage
- Options
- Device: This is the device that will be used by pppd to establish the connection. Looks for /dev/tty.* devices and sets the first item as the default device. If /dev/tty.Bluetooth-PDA-Sync is found, it will be preferred.
- Baud rate: List of possible baud rates.
- Target IP: The IP address that will be assigned to the PPP client. Uses ifconfig to acquire the first subnet that is not 127.0.0.1, then assigns it as the default address.
- DNS: Domain Name System address to send to the PPP client. Reads the first DNS nameserver found in /etc/resolv.conf.
- IP Forwarding: Enable IP forwarding from the PPP client. Without this enabled, the connection will be limited between the server and the client - no LAN or internet connectivity.
- kill on exit: Attempt to kill the pppd process when EPPPD quits.
- Buttons
- Start/Stop: Starts or Stops the pppd process.
- View Log: Opens /var/log/ppp.log in Console.app.
- Clear Log: Clears the log file /var/log/ppp.log.
- Check: Checks to see if the daemon is already running - if so changes the Start/Stop button and sets the PID of the process.
- Save: Saves the settings for Device, Baud rate, Target IP, DNS, and kill on exit to EPPPD’s internal Info.plist file.
- Clear: Clears the settings for Device, Baud rate, Target IP, DNS, and kill on exit.
Additional Notes
For clarity’s sake, it ultimately executes the following:
/usr/sbin/pppd DEVICE BAUDRATE :TARGETIP noauth local ms-dns DNS passive proxyarp silent logfile /var/log/ppp.log
