Commit Graph

286 Commits

Author SHA1 Message Date
Dane Everitt e9680fc29c
Fix for StyleCI 2018-02-17 16:21:37 -06:00
ShadowKitten d8be167a9c Add support for allowing subusers to access SFTP. (#918) 2018-02-17 16:10:44 -06:00
Dane Everitt d86c35d80f
Prevent duplicate allocations for servers 2018-02-17 13:53:38 -06:00
Dane Everitt 241f7d0125
Fix some data integrity issues 2018-02-17 13:37:53 -06:00
Dane Everitt bf537922a3
Fix username validation and auto-generation, closes #927 2018-02-11 16:39:50 -06:00
Dane Everitt a9c1946319
Add support for finding a user by external ID. 2018-02-07 21:56:11 -06:00
Dane Everitt 7a19019980
Fix suspension/installed handling for servers
closes Pterodactyl/Panel#891
2018-01-30 22:40:21 -06:00
Dane Everitt 5ed164e13e
Implement server creation though the API.
Also implements auto-deployment to specific locations and ports.
2018-01-28 17:14:14 -06:00
Dane Everitt 2bd691efad
Add database list endpoint, add more resource name magic 2018-01-25 21:26:06 -06:00
Dane Everitt 17f6f3eeb6
Add server details modification endpoint to API. 2018-01-20 16:03:23 -06:00
Dane Everitt a497a3d153
Make server listing and single server view API endpoints work 2018-01-19 21:47:06 -06:00
Dane Everitt f9fc3f4370
Update interface to begin change to seperate account API keys and application keys
Main difference is permissions, cleaner UI for normal users, and account keys use permissions assigned to servers and subusers while application keys use R/W ACLs stored in the key table.
2018-01-14 13:30:55 -06:00
Dane Everitt 14f9e1ad43
More permission removal cleanup 2018-01-14 12:11:04 -06:00
Dane Everitt ad3a954256
Rename APIKey to ApiKey 2018-01-14 12:06:15 -06:00
Dane Everitt 7aa540b895
Remove api permissions table 2018-01-14 12:05:18 -06:00
Dane Everitt e3df0738da
Change the way API keys are stored and validated; clarify API namespacing
Previously, a single key was used to access the API, this has not changed in terms of what the user sees. However, API keys now use an identifier and token internally. The identifier is the first 16 characters of the key, and the token is the remaining 32. The token is stored encrypted at rest in the database and the identifier is used by the API middleware to grab that record and make a timing attack safe comparison.
2018-01-13 16:06:19 -06:00
Dane Everitt d644a53951
Update users & locations to use new permissions format 2018-01-12 20:39:15 -06:00
Dane Everitt a31e5875dc
First round of changes to API to support simpler permissions. 2018-01-11 22:49:46 -06:00
Dane Everitt cf21fd5a4b
More API updates, better support for node config edits 2018-01-10 23:19:03 -06:00
Dane Everitt 800e2df6b2
Merge branch 'develop' into feature/api-v1
# Conflicts:
#	app/Contracts/Repository/RepositoryInterface.php
#	app/Repositories/Eloquent/EloquentRepository.php
#	app/Services/Nodes/NodeUpdateService.php
#	tests/Unit/Services/Nodes/NodeUpdateServiceTest.php
2018-01-10 20:55:22 -06:00
Dane Everitt b3d7c6f1af
Fix search weighting for servers 2018-01-05 18:49:00 -06:00
Dane Everitt d2afc29a80
Refactor how repositories for the daemon work. 2018-01-05 18:27:47 -06:00
Dane Everitt 60eb60013c
Update repository base code to be cleaner and make use of PHP 7 features 2018-01-04 22:49:50 -06:00
Dane Everitt 15289b76a7
Finish first round of User/Node API additions
Will still need some tweaking and improvements to allow everything to be used.
2018-01-01 15:11:44 -06:00
Dane Everitt d21f70c04b
Merge branch 'develop' into feature/api-v1 2018-01-01 13:33:06 -06:00
Dane Everitt 958c29cfbf
Fix empty server descriptions throwing SQL errors, closes #842 2018-01-01 12:23:45 -06:00
Dane Everitt 4457634127
Fix user creation to use UUIDs correctly
Also updates the notification send method to be cleaner and more maintainable
2018-01-01 12:13:08 -06:00
Dane Everitt 46d7ba7585
Merge branch 'develop' into feature/api-v1 2017-12-31 10:32:28 -06:00
Dane Everitt 5efee34378
close #840 2017-12-30 20:25:04 -06:00
Dane Everitt b9d67459b2
Update to Laravel 5.5 (#814) 2017-12-17 13:07:38 -06:00
Dane Everitt f30f4b45ba
Merge branch 'feature/laravel-55-update' into feature/api-v1 2017-12-16 17:19:35 -06:00
Dane Everitt 3c48947f9d
Fix known issues from the upgrade guide 2017-12-16 13:15:09 -06:00
Dane Everitt a1da8a3c9d
Merge branch 'develop' into feature/api-v1 2017-12-14 21:12:17 -06:00
Dane Everitt f9df463d32
Implement a better management interface for Settings (#809) 2017-12-14 21:05:26 -06:00
Dane Everitt 285485d7b0
Change how API keys are validated (#771) 2017-12-03 14:29:14 -06:00
Dane Everitt 4c57b5e8ee Merge branch 'develop' into feature/api-v1 2017-11-26 13:22:25 -06:00
Dane Everitt a710bdf457 Make a todo a todid, closes #774 2017-11-25 13:45:47 -06:00
Dane Everitt 698c121e11
First round of API additions 2017-11-19 16:30:00 -06:00
Dane Everitt 47e14ccaae
API key UI changes and backend storage of the keys 2017-11-19 13:32:17 -06:00
Dane Everitt c7c2c1a45e
Implement changes to 2FA system (#761) 2017-11-18 13:35:33 -05:00
Dane Everitt 81869bd5f2
Fix allocation alias setting 2017-11-10 21:47:43 -06:00
Dane Everitt e0d03513e4
Cleanup frontend controllers and middleware 2017-10-27 21:42:53 -05:00
Dane Everitt fa62a0982e
Refactor startup modification and environment variable services
Better setup, more flexibility, more tests.
2017-10-26 23:49:54 -05:00
Dane Everitt 058e490ec4 Implement Panel changes to support internal SFTP subsystem on Daemon (#703) 2017-10-25 00:35:25 -04:00
Dane Everitt d50ea18598
Add support for changing the server default allocation as a normal user 2017-10-20 21:32:57 -05:00
Dane Everitt aaf96669d4
Misc fixes 2017-10-08 21:36:22 -05:00
Dane Everitt c19c423568
More fixes 2017-10-07 18:08:19 -05:00
Dane Everitt 17642bffe7
More code updates 2017-10-07 17:21:41 -05:00
Dane Everitt 6b8464ea3a
Nest & Egg management working through the ACP now. 2017-10-07 16:16:51 -05:00
Dane Everitt df87ea0867
This breaks literally the entire panel. 2017-10-06 23:57:53 -05:00
Dane Everitt 344c1a9885
First push before 🥚 2017-10-06 21:22:32 -05:00
Dane Everitt 6269a08db7
Finalize service option import/export 2017-10-03 23:31:04 -05:00
Dane Everitt d608c313c3
Complete the service option export configuration 2017-10-03 20:18:27 -05:00
Dane Everitt ae671e6b19
Begin updating UI 2017-10-02 22:51:13 -05:00
Dane Everitt b1834307d5
Update demon routes to use /v1/ 2017-09-30 21:00:24 -05:00
Dane Everitt fb8a26f141
Merge branch 'develop' into feature/api-daemon-changes 2017-09-25 21:46:44 -05:00
Dane Everitt e56f4cdd33
Update license headers on files. 2017-09-25 21:43:01 -05:00
Lance Pioch 02cabf73a0 Use class string instead of magic string 2017-09-24 22:59:34 -04:00
Dane Everitt 7d1c233c49
Final adjustments to Daemon <-> Panel communication change 2017-09-24 21:12:30 -05:00
Dane Everitt 906a699ee2
Begin implementation of new daemon authentication scheme 2017-09-23 20:45:25 -05:00
Lance Pioch 0c21d401e3 Combine Locations and Nodes on Create Server page (#641) 2017-09-21 13:03:29 -10:00
Dane Everitt c5f2dfd6f6
Begin adding schedule processing jobs. 2017-09-16 23:10:00 -05:00
Dane Everitt 542d1f8db7
Add new location and user management via CLI 2017-09-15 22:13:33 -05:00
Dane Everitt 7f76684453
More schedule changes 2017-09-13 21:46:43 -05:00
Dane Everitt 2ac90b50f2
Begin refactoring Tasks to be apart of the Scheduler system 2017-09-12 23:45:19 -05:00
Dane Everitt 131159c246
Fix some forgotten logic checks temporarily 2017-09-10 23:57:18 -05:00
Dane Everitt bab28dbc85
Initial implementation of new task mgmt system 👮 2017-09-09 23:55:21 -05:00
Dane Everitt e045ef443a
Should wrap up the base landing page stuff for accounts, next step is server rendering 2017-08-30 21:11:14 -05:00
Dane Everitt 1e1eac1b9c Apply fixes from StyleCI (#607) 2017-08-27 14:55:25 -05:00
Dane Everitt 74ea1aa0aa
Push subuser creation service 2017-08-23 21:34:11 -05:00
Dane Everitt 3ee5803416
Massive PHPCS linting 2017-08-21 22:10:48 -05:00
Dane Everitt 9d3dca87f2
Begin moving packs to new service mechanisms, refactor exceptions for services 2017-08-18 22:19:06 -05:00
Dane Everitt 90bbe57148
Move services onto new services system, includes tests 2017-08-15 22:21:47 -05:00
Dane Everitt 340193c013 Apply fixes from StyleCI (#581) 2017-08-12 15:32:34 -05:00
Dane Everitt b8d7d99096
More repository/service/refactor changes 2017-08-12 15:29:01 -05:00
Dane Everitt 2c77d5c44d
Begin implementation of services for services/service options 2017-08-08 23:24:55 -05:00
Dane Everitt 669119c8f8
Handle allocation assignment using services
Function is significantly quicker and uses 1 SQL query per IP rather than 1 query per port.
2017-08-05 21:10:32 -05:00
Dane Everitt 396b5c22d9
Fix formatting issue 2017-08-05 17:29:15 -05:00
Dane Everitt a4b61846ac Apply fixes from StyleCI (#577) 2017-08-05 17:26:30 -05:00
Dane Everitt c1a078bdcf
Add support for node management actions using new services 2017-08-05 17:20:07 -05:00
Dane Everitt 63e39fbe58
Fix database management things to actually work correctly. 2017-07-22 13:55:30 -05:00
Dane Everitt 0c513f24d5
Move server creation over to new service/repository setup.
Moves tons of functions around, but the basic implementation is working again.

Some features are still missing, and the service never actually commits the server to the database right now.

This push is mostly just to get the code into Github and backed up.
2017-07-19 20:49:41 -05:00
Dane Everitt bc3366b10d
Repository interface improvements 2017-07-15 11:52:34 -05:00
Dane Everitt 0deb022093
Update last of existing services to use repositories, includes unit tests
Also update PHPDocs on all the repository interfaces and classes to be correct.
2017-07-08 14:07:51 -05:00
Dane Everitt 5c3dc60d1e
Addition of repository to ease testing and maintainability 2017-07-01 15:29:49 -05:00
Dane Everitt 4ee9d38ad1
Add ApiKey service, cleanup old API key methods
https://zube.io/pterodactyl/panel/c/525
2017-06-25 15:31:50 -05:00
Dane Everitt 2235481765
More service structure testing and configuration
Tests aren't working as well as I had hoped, so a lot are commented out while I wait to hear back on this bug causing them to fail.
2017-06-24 19:49:09 -05:00
Dane Everitt ce2b2447d0 Apply fixes from StyleCI (#501) 2017-06-17 20:52:32 -05:00
Dane Everitt 0111ca7768
Push more changes to DBHost service.
Currently updating via the frontend is broken if you don't provide an actual node to attach it to.
2017-06-17 19:48:31 -05:00
Dane Everitt fe4977f0fa
Update admin location routes and controller to use service
Needs tests written, uses new validation on model.
2017-06-14 23:53:24 -05:00
Dane Everitt 5c2b9deb09
Push initial implementations of new repository structure
This breaks almost the entire panel, do not pull this branch in this state.

Mostly just moved old repository files to a new folder without updating anything else in order to start doing new things. Structure is not finalized.
2017-06-10 22:28:44 -05:00
Dane Everitt c59cfce72c Apply fixes from StyleCI (#416) 2017-05-01 20:58:36 -04:00
Dane Everitt 43df6533b0
Ensure reserved environment names aren't changed, fix undefined variable, ref #412 2017-05-01 17:01:46 -04:00
Dane Everitt 6dc1c15739
Fix display of associated servers when viewing an administrative user in the Admin CP. 2017-05-01 15:28:43 -04:00
Dane Everitt 605c91a9af
Use cache helpers rather than database to handle configuration tokens and downloads. 2017-05-01 14:21:18 -04:00
Dane Everitt 2330c25a8c
Move old /remote routes into /daemon sphere. 2017-05-01 13:59:33 -04:00
Dane Everitt 7eb7377dd5
I really need to stop trying to override PHP reserved keywords... 2017-04-28 10:19:04 -04:00
Dane Everitt 3ee7b7cff1
Add ability to mark a node as being over a proxy 2017-04-27 22:52:37 -04:00
Dane Everitt 30b4934013
Include default installation scripts, as well as ability to symlink a script 2017-04-27 16:16:59 -04:00
Dane Everitt a5a1ea3165
Add ability to change service implementation for a server. 2017-04-21 17:52:44 -04:00