Skip to content

Instantly share code, notes, and snippets.

@TekExplorer
Last active August 20, 2023 08:40
Show Gist options
  • Select an option

  • Save TekExplorer/a9d5cb17b6984931dbb1015df0eb50f6 to your computer and use it in GitHub Desktop.

Select an option

Save TekExplorer/a9d5cb17b6984931dbb1015df0eb50f6 to your computer and use it in GitHub Desktop.
Featherdactyl Info and Discussion/Brainstorming

Featherdactyl

What is Featherdactyl?

Featherdactyl is intended to be an app for Pterodactyl Panel made in Flutter. More than that, its intended to add features to any panel without modifications, and for those features that need modifications; it will be done sanely.

Current ideas

  • How should logging in to Feather work?
    • url + api key? url + user + pass?
    • save session as api key or cookies?
  • Human Readable Crontab like crontab.guru? any pub.dev package for this? forced to use js package? update: TekExplorer/dart_human_crontab
  • Theme System? How should it work?
  • Addon System? How should this work???
  • ?
  • ?
  • ? Present your ideas below!
@yesBad

yesBad commented Feb 28, 2022

Copy link
Copy Markdown

I had been thinking of using a JSON/YAML file on the server-side that feather might pull and use for the theme.

That would probably work

@yesBad

yesBad commented Feb 28, 2022

Copy link
Copy Markdown

and does not sound that hard to pull of

@yesBad

yesBad commented Feb 28, 2022

Copy link
Copy Markdown

any pub.dev package for this? forced to use js package?

also this part.... wouldn't it be possible to make our own package for it? (do keep in mind I have pretty much no clue about Flutter)

@TekExplorer

Copy link
Copy Markdown
Author

how's this? just made it. TekExplorer/dart_human_crontab

@Ferks-FK

Ferks-FK commented Mar 1, 2022

Copy link
Copy Markdown

I saw another guy saying that he was going to make a system of addons for the panel, so that it would not be necessary to replace panel files.
But I don't know if he started this.

@TekExplorer

Copy link
Copy Markdown
Author

I don't know, but I do intend to make an addon system myself - i just don't know if there is a way to alter the ui or theme using the method i have in mind.

@devnote-dev

Copy link
Copy Markdown

Some ideas for the client side:

  • Websockets to show console output in the app
  • Prioritised control over subuser access
  • Favouriting servers in the server overview: this has been a requested feature for Ptero and would be useful for users with a lot of servers / admins that can view all servers
  • (Already mentioned) interchangeable themes: the GitHub app implements this pretty well

@TekExplorer

Copy link
Copy Markdown
Author

@devnote-dev

  1. That's a core feature, of course.
  2. What do you mean?
  3. How should this be implemented? should favorites be saved locally on the app? save it on the server with an addon? or perhaps some external "Feather" database to store preferences linked by url+username+password?
  4. Yep. but I was thinking that it would be neat to allow the server side to dictate a custom theme as well. how do you recommend that be done?

@yesBad

yesBad commented Mar 9, 2022

Copy link
Copy Markdown
  1. How should this be implemented? should favorites be saved locally on the app? save it on the server with an addon? or perhaps some external "Feather" database to store preferences linked by url+username+password?

imo "or perhaps some external "Feather" database to store preferences linked by url+username+password?" sounds like the best idea

@TekExplorer

Copy link
Copy Markdown
Author
  1. How should this be implemented? should favorites be saved locally on the app? save it on the server with an addon? or perhaps some external "Feather" database to store preferences linked by url+username+password?

imo "or perhaps some external "Feather" database to store preferences linked by url+username+password?" sounds like the best idea

this would be centralized though. (but then, perhaps it doesn't have to be the only way)

the issue that arises then is, what would I use to store this data, and how do I make it secure?

@TekExplorer

Copy link
Copy Markdown
Author

maybe it could be a FeatherProfile that you could login to, and it could work the same profile (which could include theme?) across panels?

@devnote-dev

Copy link
Copy Markdown
  1. What do you mean?
  2. How should this be implemented? should favorites be saved locally on the app? save it on the server with an addon? or perhaps some external "Feather" database to store preferences linked by url+username+password?
  3. Yep. but I was thinking that it would be neat to allow the server side to dictate a custom theme as well. how do you recommend that be done?
  • More extensive control over subuser access and permissions, perhaps extended permissions
  • It depends on the layout of the page, but theoretically there would be a section at the top of the servers overview page where favourited servers are listed, then the rest of the servers are shown below. Saving them locally on the app would be best for efficiency reasons (e.g. less requests needed if using a DB or API)
  • I'm still thinking about this but one idea that came up was allowing users to create custom themes for Feather, similarly to existing Pterodactyl themes, then have a page where you can manage themes.

@TekExplorer

Copy link
Copy Markdown
Author
  • More extensive control over subuser access and permissions, perhaps extended permissions

Don't see how i can do that. ptero v2 has it anyway.

  • It depends on the layout of the page, but theoretically there would be a section at the top of the servers overview page where favourited servers are listed, then the rest of the servers are shown below. Saving them locally on the app would be best for efficiency reasons (e.g. less requests needed if using a DB or API)

So a sort of "pinned" servers?

  • I'm still thinking about this but one idea that came up was allowing users to create custom themes for Feather, similarly to existing Pterodactyl themes, then have a page where you can manage themes.

Something that's gonna need more thought. Especially since I want to be able to have changable layouts too

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment