GithubHelp home page GithubHelp logo

mdwheele / owls Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 1.0 1.79 MB

🦉 Easy management of /etc/hosts built on top of Electron.

License: MIT License

JavaScript 26.12% HTML 1.89% Vue 71.41% CSS 0.57%
vuejs vue-cli electron nodejs tailwindcss system-administration windows osx linux hacktoberfest

owls's Introduction


Owls
Owls

Easy management of /etc/hosts built on top of Electron.

Key FeaturesHow To UseDownloadLicense

Disclaimer 🔥

I'm actively developing this application, which means that if you don't trust me (you shouldn't), you should make backups of your host file before using this application in the circumstance that 🦉 deletes everything.

You've been warned. On with the show.

Key Features

  • Use Projects for every hostname you're interested in tracking.
  • Create Environments for your Projects which point at specific IP addresses.
  • Automatic importing of current host files.
  • Cross platform - Windows, macOS and Linux ready.
  • Pretty as fuck.
  • Easy to use, blah blah.

How To Use

These instructions are most useful for those that want to run unreleased builds or to do development on Owls. If you would prefer to use a known working build, check out our Download section.

To clone and run this application, you'll need Git and Node.js (which comes with npm) installed on your computer.

From your command line:

# Clone this repository
$ git clone https://github.com/mdwheele/owls

# Go into the repository
$ cd owls

# Install dependencies
$ npm install

# Run the app in developer mode
$ npm run electron:serve

Download

We're currently providing prerelease builds that are notable releases of work-in-progress. Please keep in mind that these are not bulletproof builds and that there will be bugs. Please report any bugs you discover so we can work to get them resolved!

Releases

Emailware

Owls is an emailware. Meaning, if you liked using this app or it has helped you in any way, I'd like you send me an email at [email protected] about anything you'd want to say about this software. I'd really appreciate it!

Of course, you can always leave ❤️ on our issue board.

License

MIT


GitHub @mdwheele  ·  Twitter @mdwheele

owls's People

Contributors

mdwheele avatar rmeby avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

rmeby

owls's Issues

Search and Add Project button are not clickable on Windows

Currently, you can't click anything in the top bar. This prevents normies from being able to search or create new Projects.

There is a workaround for now. Basically, open the app and Tab until you get focus on the search bar. Now you can search. If you want to add a project, press Tab one more time and then press Spacebar. This will open the Add Project dialog.

Use loader.js instead of nodeIntegration

Currently, we enable the Node integration setting for our BrowserWindow instance. My understanding is this basically attaches Node APIs to window so they are accessible to our Vue application.

Instead, we should use the loader.js pattern, which exports explicitly what the BrowserWindow has access to. In this way, we could actually export our OWN public "system" API rather than the low level Node facilities.

Because security and shit.

Move application state out of local storage into userdata.

The application tracks user projects and environments in Local Storage, currently. This works well enough, but can cause issues if you're doing development and running a released build of Owls.

What would be better is that we use Electron's APIs for accessing cross-platform userdata locations and keep a JSON file or something simple there. Basically, just move what we're doing in Local Storage to disk.

Add proper support for Windows and Linux

We're currently building for Windows and Linux, but the application doesn't really do anything to properly support these platforms. Things... like... might work because we use hostile to manage the hosts file and it supports those platforms. However (and for example), we give all users instructions to give themselves write to their hosts file using a command that only works on MacOS so...

Let's fix that.

Users should be able to share their configurations with others

The idea is that I'm on a team that has a setup that makes Owls like... useful. I'm new to the team, so I don't have all the host entries that folks are keeping, commenting, ugh... awful.

If one of the old-timers could just export a portion of their configs that I could import into my Owl, then shit would be tight.

Add "empty states" to the application

Let's work something up that follows this story:

  1. User is loading Owls for the first time and has existing host entries.
  2. They get some sort of simulated "Owl is slurping the host file" before being dropped on the dashboard.
  3. When they create a new Project, rather than show an empty space, put a call-to-action in place that guides them to creating their first Environment. Perhaps even have a "want us to point this at 127.0.0.1 for you?" quick-create.

If they don't have any host entries, then we'll also want to have an empty-state for that which guides them to create their first project. Easy enough. Make sure to use some badass picture of an Owl.

In general, use Owl imagery wherever we can.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.