Unfortunately, Yosemite breaks pow because ipfw has been completely removed from the OS. I was able to get pow working again using PF, which is the new recommended way to do port forwarding in OS X. Here‘s what I did to get it working:
First, add an anchor file to contain the pow port forwarding rule. Place the following code in /etc/pf.anchors/com.pow:
rdr pass on lo0 inet proto tcp from any to any port 80 -> 127.0.0.1 port 20559
NOTE: The trailing line break is required. Otherwise pf will say you have a syntax error.
Next, add two lines to /etc/pf.conf to load your new rule. It is important where these lines go. Add this line right after rdr-anchor "com.apple/*"
:
rdr-anchor "pow"
Add this line directly after load anchor "com.apple" from "/etc/pf.anchors/com.apple"
:
load anchor "pow" from "/etc/pf.anchors/com.pow"
Again, make sure to maintain the final line break.
Next, reload the rules into pf by running sudo pfctl -f /etc/pf.conf
Finally, enable pf by running sudo pfctl -e
Interested to hear how other people fare with this. I would provide a pull request but I‘m not familiar with the internals of pow or the way this should be implemented.