Support opening remote files
Public IP lookup refactoring