Commit graph

1311 commits

Author SHA1 Message Date
Dane Everitt
9e54dabe5b
Display if subusers are using 2FA 2017-01-22 16:16:26 -05:00
Dane Everitt
edd26893a5
Adjust default theme in .env and note that http:// is required on URLs 2017-01-22 13:51:56 -05:00
Emmet Young
9025f1f583 Repair user creation functionality
Repair functionality of the make user console command (pterodactyl:user)
Fix up the user repository, was using the old $password instead of the changed format $data['password']
Change User model to allow root_admin to be a fillable item.
2017-01-23 00:47:09 +11:00
Dane Everitt
355697dbb5 Apply fixes from StyleCI () 2017-01-21 15:56:32 -05:00
Dane Everitt
0e23f87724
Add task management views 2017-01-21 15:40:46 -05:00
Dane Everitt
db7b741b28
Show server status in sidebar properly on subuser views 2017-01-21 13:49:14 -05:00
Dane Everitt
8e9069cced
Subuser updates 2017-01-21 00:04:09 -05:00
Dane Everitt
3d2278ba3e
Add subuser list and new subuser views
Holy 🐄 translations are annoying to implement for these views.
2017-01-20 23:39:37 -05:00
Dane Everitt
994588c82d
Set the old theme on admin center until new theme is done 2017-01-20 17:19:42 -05:00
Dane Everitt
91178d78a4
Add support for creating files via file manager 2017-01-20 17:10:14 -05:00
Dane Everitt
83c776fc82
Fix up most of the file manager 2017-01-19 16:58:57 -05:00
Dane Everitt
88378ce983
Add allocations tab
Strips some core allocation features for now, will be added back with
more features once the theme is done.
2017-01-18 20:45:10 -05:00
Jakob Schrettenbrunner
c0df57c087 add isRootAdmin() method to User model to get rid of User->root_admin === 1 2017-01-18 21:13:05 +01:00
Dane Everitt
f6600f447f
Add Startup Params view
Translations might be the end of us.
2017-01-17 19:30:27 -05:00
Dane Everitt
e2eff27a56 Apply fixes from StyleCI 2017-01-17 23:21:33 +00:00
Dane Everitt
515e543c7f
Add SFTP and Database management pages to new theme. 2017-01-15 20:28:54 -05:00
Dane Everitt
c7f3bb5112
New theme assigned to server console page. 2017-01-15 18:52:22 -05:00
Dane Everitt
2fc852c6a4
Push 'Account' and 'Security' pages as well as 'My Servers' 2017-01-15 14:09:57 -05:00
Dane Everitt
1c85b1fbc4
Fix exception handler misnamed variable 2017-01-15 13:53:08 -05:00
Dane Everitt
457ed28b0b
Initial change of theme.
Only themed pages currently are login and reset password pages.
2017-01-14 21:32:33 -05:00
Dane Everitt
0d792f05c5
Properly handle no passed packs. 2017-01-13 23:21:37 -05:00
Dane Everitt
fee3f3df6f Apply fixes from StyleCI () 2017-01-13 23:17:32 -05:00
Dane Everitt
4979811885
Add ability to add a location via the CLI.
closes 
2017-01-13 23:16:57 -05:00
Dane Everitt
d1e5253ca1
Add support for creating node through CLI. 2017-01-13 23:10:42 -05:00
Dane Everitt
b71604566e
Improved code to generate SFTP usernames
Fixes edge case where specific server names could cause daemon errors
due to an invalid SFTP username being created by the panel.
2017-01-13 22:22:25 -05:00
Dane Everitt
a5aa089d66 Apply fixes from StyleCI 2017-01-12 20:48:12 +00:00
Dane Everitt
e91362eee6
Update user controller 2017-01-12 15:40:24 -05:00
Dane Everitt
f292080483
Should close
What a peculiar bug. Also modifies code to try and return the correct
status code, as well as return JSON based errors on any request that
Laravel thinks should have a JSON based response.
2017-01-12 13:44:23 -05:00
Dane Everitt
6bd9663f59
Merge branch 'develop' into feature/service-changes 2017-01-12 13:15:37 -05:00
Jakob Schrettenbrunner
9f2ca17ea4 replace manual json headers with laravel response()->json()
better Carbon dependency
rename admin.nodes.configuration-token route
style fixes
2017-01-08 15:21:02 +01:00
Jakob Schrettenbrunner
f70b33d69c one more styleci fix. don’t be that picky! 🙈 2017-01-07 18:40:55 +01:00
Jakob Schrettenbrunner
a661f71974 fix styleci issues 2017-01-07 18:39:41 +01:00
Jakob Schrettenbrunner
a1568e5acb add button to generate token to node configuration tab
add info message after node creation about token generation
2017-01-07 18:27:19 +01:00
Jakob Schrettenbrunner
52a395ac9a fix forgotten rename of NodeConfigurationToken 2017-01-07 18:26:45 +01:00
Jakob Schrettenbrunner
e1e159b7de add ability to generate a token to retrieve the config for a specific node 2017-01-07 18:10:11 +01:00
Jakob Schrettenbrunner
ef1fa4c4e6 add method to get config as json to node model 2017-01-07 18:06:09 +01:00
Dane Everitt
d9de884de3 Apply fixes from StyleCI 2017-01-03 22:46:30 +00:00
Dane Everitt
c1bf757623
Fix service option name being set wrongly after adding a new variable. closes 2017-01-03 17:44:48 -05:00
Dane Everitt
aa6e733ba5
Switch filemanager and EULA check to use pure Javascript methods
Removes the need for the javascript to be parsed by Blade template
engine by using a defined javascript variable with the values that are
necessary for checking everything and passing the correct values.

This does make it so that if a user does not have permission to do
something they could theoretically make the option show up in the
context menu, however when they click it, it will simply return an
error by the daemon.
2017-01-03 16:47:33 -05:00
Dane Everitt
39731f99da Merge pull request from hammerdawn/APICHANGE
Allow listing a user by both ID and email. Useful for checking if a u…
2017-01-02 22:00:45 -05:00
Emmet Young
3f5bf099ae Use DaneEveritt's shortened query call. 2017-01-03 13:40:35 +11:00
Dane Everitt
6331a29962 Merge pull request from Pterodactyl/analysis-XWDo3P
Apply fixes from StyleCI
2016-12-30 17:18:54 -05:00
Dane Everitt
a1dff5cda0
Push updated languages 2016-12-30 17:17:36 -05:00
Dane Everitt
fb182ffb4a Apply fixes from StyleCI 2016-12-30 22:00:06 +00:00
Dane Everitt
0afa568095
Address two bugs in subuser system.
1.) Prevents adding the owner of a server as a subuser which could
potentially break things.
2.) Prevents adding duplicate subusers for a server.
2016-12-30 16:28:43 -05:00
Dane Everitt
7848f63e05
Fix error thrown on 0 values for variables, closes 2016-12-30 16:00:51 -05:00
Dane Everitt
43786b1d2a
Block addition of more than 2000 ports at once, closes 2016-12-30 15:50:37 -05:00
Dane Everitt
9a494d8245
Adjust server name requirements, closes 2016-12-30 15:46:10 -05:00
Emmet Young
b5d3417167 Allow listing a user by both ID and email. Useful for checking if a user exists by its email. 2016-12-29 22:56:45 +11:00
Dane Everitt
a49dee2416
Add base implementation of service retrieval. 🏇
There is currently no authentication middleware on this route.
2016-12-14 18:54:43 -05:00
Dane Everitt
fd360f6475
Fix data pack assignment 2016-12-14 17:17:16 -05:00
Dane Everitt
efda0dd009 Apply fixes from StyleCI 2016-12-14 21:56:25 +00:00
Dane Everitt
fc38b09e1f
Merge branch 'develop' into feature/service-changes 2016-12-14 16:53:53 -05:00
spaceemotion
a85ac87ae8 Refactor to use more laravel logic and improve compatibility with older PHP versions ()
* Fix @param namespaces for PHPDocs in ServerPolicy

* Reduce permission check duplication in ServerPolicy

This introduces a new checkPermission method to reduce code duplication when checking for permissions.

* Simplify logic to list accessible servers for the user

We can directly use the pluck function that laravel collections provide to simplify the logic.

* Fix pagination issue when databases/servers exceed 20

Laravels strips out the currently selected tab (or any GET query for that matter) by default when using pagination. the appends() methods helps with keeping that information.

* Refactor unnecessary array_merge calls

We can just append to the array instead of constantly merging a new copy.

* Fix accessing “API Access” on some versions of PHP

The “new” word is reserved and should not be used as a method name.

http://stackoverflow.com/questions/9575590/why-am-i-getting-an-unexpected-t-new-error-in-php

* Fix revoking API keys on older versions of php (5.6)

“string” was not a valid function argument type yet, so revoking keys results in an error on older installations.

* Fix issues with API due to methods named “list”

“list” is yet another reserved keyword in PHP and messes up older installations of PHP (5.6).
This renames all methods named “list” to “lists”. The API route names are left untouched (e.g. still called “api.admin.users.list”).

* Refactor and shorten some API logic

Used laravel collection methods where applicable to directly transform the values instead of converting back and forth.
This also removes some dead variables that were never used as well as getting rid of a n+1 problem in the Service API (loading service variables afterwards, not during the model creation).

* Return model save status in repositories where applicable

* Fix typo in ServicePolicy#powerStart

* Apply StyleCI corrections
2016-12-12 14:30:57 -05:00
Dane Everitt
c1fb0a665f Apply fixes from StyleCI 2016-12-07 22:46:38 +00:00
Emmet Young
f687fab9a2 API: ability to search for an allocation based on the assigned server id () 2016-12-04 22:17:35 -05:00
Dane Everitt
9ae716ee42
show container ID for server in panel
Also shows the UID of the user to ease permissions setting

closes 
2016-12-02 19:35:08 -05:00
Dane Everitt
2ac734d595
Update node config sent over API 2016-12-02 19:12:29 -05:00
Dane Everitt
259b220dfc
misc file cleanup 2016-12-02 18:45:08 -05:00
Dane Everitt
3cd0a8337f
Add ability to filter user list 2016-12-02 18:41:52 -05:00
Dane Everitt
ed5b7559ec
Fixes potential for generated password to not meet own validation requirements 2016-12-01 19:16:40 -05:00
Dane Everitt
1eb1f96e71
Add support for updating the daemon's configuration file automatically. 2016-12-01 18:33:32 -05:00
Emmet Young
a03add7e4f Allow API to set a custom ID for server creation. ()
* Allow API to set a custom ID for server creation.

Useful when dealing with billing systems such as WHMCS

* Correct API code changes based on feedback.
2016-11-30 11:01:22 -05:00
Jakob
03c6f986d2 fix api /servers/{id}/build
remove unrelated error thrown every time
2016-11-30 12:26:23 +01:00
Dane Everitt
75de060a55
Fix pack selector 2016-11-27 14:57:23 -05:00
Dane Everitt
c4a4b84bd3
Add service pack reference to server and send to daemon 2016-11-27 14:50:10 -05:00
Dane Everitt
238f08f222
Add pack selection to view 2016-11-27 14:30:44 -05:00
Dane Everitt
9eb14614c2
Merge branch 'develop' into feature/service-changes 2016-11-27 14:01:13 -05:00
Dane Everitt
f6275058d0
Support for hostnames in database connection field. 2016-11-26 20:27:36 -05:00
Dane Everitt
946512bac9
search for owner:<email> correctly. 2016-11-26 20:18:46 -05:00
Dane Everitt
90cd2b677e
Add version checking to daemon and panel
Also includes some buttons for users to get help from the panel.
2016-11-26 19:29:57 -05:00
Dane Everitt
1ad715f1a3
Improve database management for servers, fixes 2016-11-26 17:34:14 -05:00
Dane Everitt
723b608e0c
Implement node deletion properly, fixes 2016-11-26 16:29:13 -05:00
Dane Everitt
0e89ecb427
Handle node:<param> properly when doing server searches
Uses the node name rather than the node’s ID by default.
2016-11-26 16:19:25 -05:00
Dane Everitt
fc2ce11a39
Add template, add files when new service is added. 2016-11-18 18:22:26 -05:00
Dane Everitt
5600f3201c
Add support for deleting service packs. 2016-11-18 17:31:57 -05:00
Dane Everitt
d4729427aa
Support for uploading templates for installing packs 2016-11-16 17:22:22 -05:00
Dane Everitt
e09659a88f
support for pack editing 2016-11-16 16:09:28 -05:00
Dane Everitt
09c2dcc1b6
Support for viewing and exporting packs 2016-11-15 23:12:47 -05:00
Dane Everitt
a1bc6fa2d3
Push changes that support creations of service packs and basic listing 2016-11-15 20:20:32 -05:00
Dane Everitt
1f47eda3b3
Run 'pterodactyl:cleanservices' twice a day to prevent a huge file buildup 2016-11-09 17:59:57 -05:00
Dane Everitt
cfd5e0e854
Implement base service file modification through panel 2016-11-09 17:58:14 -05:00
Dane Everitt
659c33f0e8
Fixes a bug that allows a user to bypass 2FA authentication requirements
This bug was reported to us by a user (@Ferry#1704) on Discord on
Monday, November 7th, 2016.

It was disclosed that it was possible to bypass the 2FA checkpoint by
clicking outside of the modal which would prompt the modal to close,
but not submit the form. The user could then press the login button
which would trigger an error. Due to this error being triggered the
authentication attempt was not cancelled. On the next page load the
application recognized the user as logged in and continued on to the
panel.

At no time was it possible to login without using the correct email
address and password.

As a result of this bug we have re-factored the Authentication code for
logins to address the persistent session. Previously accounts were
manually logged back out on 2FA failure. However, as this bug
demonstrated, causing a fatal error in the code would prevent the
logout code from firing, thus preserving their session state.

This commit modifies the code to use a non-persistent login to handle
2FA checking. In order for the session to be saved the application must
complete all portions of the login without any errors, at which point
the user is persistently authenticated using Auth::login().

This resolves the ability to cause an exception and bypass 2FA
verification.
2016-11-07 15:55:57 -05:00
Dane Everitt
48994c1354
Fix the other user bug... 2016-11-04 21:50:47 -04:00
Dane Everitt
4359252545
Fix a @schrej bug 2016-11-04 21:46:16 -04:00
Dane Everitt
cd3f5ed6fe
Correct password setting for MySQL user 2016-11-04 20:47:40 -04:00
Dane Everitt
61e65294af
Fix bug preventing rendering of database hosts when not linked to a node. 2016-11-04 20:44:56 -04:00
Dane Everitt
a55220da39
Fix missing environment variables relating to queues 2016-10-30 18:34:50 -04:00
Jakob
e65dc5708d Validate password on reset according to rules ()
* move password rules to Models\User::PASSWORD_RULES

* validate new password according to rules on password reset

* add password requirements info to auth.passwords.reset view
2016-10-30 16:02:39 -04:00
Dane Everitt
6fd7c78f0c
Add server deletion to a queue.
This action allows servers to be deleted, but only be soft-deleted for
10 minutes. After that time period the server will be completely
removed from the database and daemon. This allows some safety if a
server is accidentally deleted.

Force deleting a server will still work. If the daemon is in-accessible
the server will fail to be deleted. When server is soft-deleted admins
can still view its information page in the admin CP, however the server
will be suspended and inaccessible on the front-end or though the
daemon.

Admins can manually delete the server ahead of the delete timer, or if
it failed to delete previously they can do an immediate retry.
2016-10-27 20:05:29 -04:00
Dane Everitt
dbec99498d
run task manager tasks at lowest priority 2016-10-27 18:50:10 -04:00
Dane Everitt
bb96039bf1
use low priority queue for tasks 2016-10-27 16:35:50 -04:00
Dane Everitt
55c9f0f2f2
Delete databases when we delete a server. 2016-10-23 19:21:57 -04:00
Dane Everitt
08b236ac1d
better port checking, don't send rebuild unless things are changed. 2016-10-23 19:07:29 -04:00
Dane Everitt
0b044b3cc6
fixes bug that would allow deleting the default allocation for a server. 2016-10-23 18:59:13 -04:00
Dane Everitt
dda5d9aa01
Fix no error display if adding a server with an invalid email 2016-10-23 18:48:14 -04:00
Dane Everitt
ad906e0680
FQDN support for allocations, and JS bug fix. 2016-10-21 17:33:26 -04:00
Dane Everitt
176d92176e
Run tasks every minute as needed
Clear logs every month (configurable) for old tasks logs.
2016-10-21 16:36:40 -04:00
Dane Everitt
bef717b202
add typeahead support for owner email when adding new server
closes 
pic: http://s3.pterodactyl.io/UpPSJ.png
2016-10-21 15:22:47 -04:00
Dane Everitt
f24347d1bd
Remove old admin routes, fix display to non-admins
Complete!
2016-10-20 18:40:16 -04:00
Dane Everitt
b1a9a59707
Update middleware to handle wildcards correctly. 2016-10-20 18:35:55 -04:00
Dane Everitt
0f4648b13a
Fixes adding api keys a little more 2016-10-20 18:29:34 -04:00
Dane Everitt
53ec2c55ec
Add front-end support for adding and deleting API keys. 2016-10-20 18:20:58 -04:00
Dane Everitt
dfeed013ba
Server API obey's the subuser permissions as well 2016-10-20 17:04:58 -04:00
Dane Everitt
9fd8a087b8
Revert some changes that cause issues with other URLs 2016-10-20 16:48:37 -04:00
Dane Everitt
125856d92f
Support for server info and minor changes to API setup 2016-10-20 16:42:54 -04:00
Dane Everitt
5a03ce7e1a
Add support for controlling server power from API. 2016-10-20 13:39:39 -04:00
Dane Everitt
745c735b32
Add initial basic API changes
New route is `/api/me`
2016-10-14 20:22:23 -04:00
Dane Everitt
126df09152
Fix route handling 2016-10-14 17:17:35 -04:00
Dane Everitt
7cf7a5a961
Split account things into own controllers. 2016-10-14 17:15:36 -04:00
Dane Everitt
073ef638b8
fix wording in notification event 2016-10-14 16:25:57 -04:00
Dane Everitt
63058d8c8e
Super early base implementation of notifications from daemon 2016-10-14 16:20:24 -04:00
Dane Everitt
c989dd0cc2
Send notification when server is created for user 2016-10-14 15:58:52 -04:00
Dane Everitt
a115c71433
Change SFTP username to be name_uuidShort 2016-10-14 15:34:01 -04:00
Dane Everitt
f65e41a1af
flags for setup scripts, closes 2016-10-12 19:02:18 -04:00
Dane Everitt
649b18c8d1
support for server filtering
closes 
2016-10-12 17:12:27 -04:00
Dane Everitt
84a4c8b7f4
API enhancements, return node config, return 200 not 201 2016-10-12 15:42:23 -04:00
Dane Everitt
c8a73fa608
Log the error output for API 2016-10-07 16:10:54 -04:00
Dane Everitt
af68dbed8f
Add support for base API logging of all requests
ref 
2016-10-07 16:06:09 -04:00
Dane Everitt
06422b2055
fix up API route return 2016-10-07 14:26:50 -04:00
Dane Everitt
9d55e93e9e
Fix auto-deploy not throwing proper exception 2016-10-07 14:26:37 -04:00
Dane Everitt
06756af994
add ?daemon=true option to API for servers 2016-10-06 23:56:32 -04:00
Dane Everitt
fbfaec6b20
create server with user ID or email 2016-10-06 22:43:50 -04:00
Dane Everitt
9d10c2a757
Support custom user id though API, closes 2016-10-06 22:36:59 -04:00
Dane Everitt
c347a6756c
Save set image to database 2016-10-06 22:32:54 -04:00
Dane Everitt
a2fc511e7e
Add permissions for filemanager stuff to subusers 2016-10-06 20:29:21 -04:00
Dane Everitt
77198b48df
Support folders within folders for JS path 2016-10-06 17:27:30 -04:00
Dane Everitt
8330e26b39
Update routes to reflect daemon changes 2016-10-04 21:38:32 -04:00
Dane Everitt
4d922b6a0c
Clean up file adding and listing 2016-10-03 21:09:20 -04:00
Dane Everitt
81dc74a175
File adding support, editor enhancements, JS improved. 2016-10-03 20:22:28 -04:00
Dane Everitt
dbd2900f0f
Merge branch 'develop' into feature/filemanager 2016-10-03 13:19:02 -04:00
Dominic Fitch-Jones
b67813b260 Make sure that you can't delete your own account. () 2016-10-02 21:27:25 -04:00
Dane Everitt
fb4d122a2a
More updates to file manager
Not doing individual commits for this, tons of changes for tons of
different aspects across multiple files.
2016-10-01 23:09:55 -04:00
Dane Everitt
6098f31f9a
Better dropdown menu setup, more options
Still rough
2016-10-01 15:40:38 -04:00
Dane Everitt
71245cb531
Minor changes to support better dynamic JS loading 2016-09-30 20:53:08 -04:00
Dane Everitt
831399184f
clean up front-end port allocation handling 2016-09-30 18:21:02 -04:00
Dane Everitt
bd7fd836ff
clean up node allocation 2016-09-30 17:12:36 -04:00
Dane Everitt
16222d1bd7
redirect if no locations 2016-09-30 16:05:39 -04:00
Dane Everitt
2e88c51ac7
If value is empty set to null 2016-09-30 16:01:36 -04:00
Dane Everitt
a9d0b4a4fe
Add support for setting IP aliases though panel 2016-09-29 21:34:20 -04:00
Dane Everitt
723e34a784
redirect to allocation tab when created 2016-09-29 17:47:47 -04:00
Dane Everitt
b2cd7cc5c9
Throw exception if no allocation is there. 2016-09-28 17:32:11 -04:00
Dane Everitt
30f58382bc
Add support for automatic node assignment 2016-09-27 21:01:46 -04:00
Jakob
2ec7fcc3ab Remove unnecessary brackets in RunTasks
fixes 
2016-09-26 13:59:18 +01:00
Dane Everitt
4068332fb9 postmark uses smtp driver 2016-09-20 19:35:26 -04:00
Dane Everitt
4917105a99 Add email setup command to artisan 2016-09-20 19:33:32 -04:00
Dane Everitt
d9f1a7faf7 allow setting variable options to "0", closes 2016-09-17 20:25:13 -04:00
Dane Everitt
812b869be8 add ability to change servers docker image 2016-09-17 20:14:36 -04:00
Dane Everitt
fd8417b5de Fix a display bug with IP aliasing 2016-09-17 14:51:27 -04:00
Dane Everitt
7dd00d6d88 Fix startup executable display bug 2016-09-16 18:44:12 -04:00
Dane Everitt
bcd4b35890 Startup not required, fix display executable bug 2016-09-16 18:39:36 -04:00
Dane Everitt
c9420cdd7e Don't require executable or startup for services 2016-09-16 17:59:26 -04:00
Dane Everitt
abaf29483b Only send updated data to daemon; makes better use of on-the-fly container updates
Now we only send information that would trigger a container rebuild if
it actually changes from current settings.
2016-09-14 18:36:33 -04:00
Dane Everitt
06c680ee52 Fix redirect on server delete 2016-09-14 18:36:33 -04:00
Dane Everitt
fcae6b5f15 remove required default value, update descriptions in seeder 2016-09-14 18:36:33 -04:00
Dane Everitt
c2d0a5adb3 Fix exception loading typo 2016-09-14 18:36:33 -04:00
Dane Everitt
bea790d149 Don't require a default value 2016-09-14 18:36:33 -04:00
Dane Everitt
33ca221b99 Fix typo in exception handler 2016-09-07 18:25:11 -04:00
Dane Everitt
05f0f48caf Add seeders for services, cleanup environment setters 2016-09-07 17:48:20 -04:00
Dane Everitt
228d6b1b21 Clean up exception handling code, closes
Makes sure things get logged properly.
2016-09-07 16:12:06 -04:00
Dane Everitt
e0bff4db8e closes , also fixes route names 2016-09-07 15:28:57 -04:00
Dane Everitt
9fb0cb420e Add subuser support to tasks
Also allow task creation…
2016-09-05 17:39:58 -04:00
Dane Everitt
9b4a0ed143 Add task toggle and delete 2016-09-05 17:13:22 -04:00
Dane Everitt
7529e961de Add back API ()
Re-implements the API after it was removed in the Laravel 5.3 upgrade.
2016-09-05 16:21:36 -04:00
Dane Everitt
b02df8e610 Implement base notifications support ()
* initial implementation of notifications
* typehint UUID returns. Fixes that notifications bug
2016-09-05 12:00:56 -04:00
Dane Everitt
b3ca8a3732 Fix password reset redirection path 2016-09-04 19:08:46 -04:00
Dane Everitt
5a07073e0a Fix a reading error when we added suspensions
Also remove excessie exception logging for these
2016-09-04 18:07:01 -04:00
Dane Everitt
afb5011fbe Update to Laravel 5.3
[BREAKING] — REMOVES REMOTE API

A new API will need to be implemented properly using the new Laravel
Passport OAuth2 system. DingoAPI was becoming too unstable and
development wasn’t really moving along enough to continue to rely on it.
2016-09-03 17:09:00 -04:00
Dane Everitt
1ca07e665e Add support for viewing SFTP password in panel
requested in 
closes 
2016-09-02 19:26:48 -04:00
Dane Everitt
8e657a0bf0 Remove old 'active' column and replace some references with 'suspended' in place 2016-09-01 21:21:01 -04:00
Dane Everitt
38eae88bd0 Add support for suspension 2016-09-01 21:16:38 -04:00
Dane Everitt
3ca7e4d578 prevent daemon call until confirming DB has been updated
closes 
2016-08-31 16:09:23 -04:00
Dane Everitt
e8c175f385 Add IP Aliasing ()
* complete support for IP Alias's throughout panel

Includes a database change and probably better allocation handling
anyways

closes 
2016-08-31 16:03:37 -04:00
Dane Everitt
f1a3008a50 Fix display and subuser settings for databases 2016-08-17 17:36:06 -04:00
Dane Everitt
4d31004cf4 Suppress overly verbose error output to users 2016-08-16 19:20:58 -04:00
Dane Everitt
445b2f20eb closes 2016-08-16 19:06:03 -04:00
Dane Everitt
7c80588fd3 Allow IP if not using SSL 2016-08-16 18:45:22 -04:00
Dane Everitt
5233d6e87b Add database password change support and fix column name 2016-08-16 00:07:10 -04:00
Dane Everitt
67d9f9f4ab Improve scheduled task layout and data handling 2016-03-18 16:23:10 -04:00
Dane Everitt
c1301c7190 Fix tasks to use proper cron syntax 2016-02-28 22:37:58 -05:00
Dane Everitt
51f4ea7d5d Minor queue fixes and add active option 2016-02-27 19:12:17 -05:00
Dane Everitt
1296d08dcb add basic scheduler and queue processing for tasks 2016-02-27 18:35:12 -05:00
Dane Everitt
84a7eec2e1 Fix all transaction try/catches, closes 2016-02-27 10:30:59 -05:00
Dane Everitt
e7436aab2b Add active session management 2016-02-26 00:35:23 -05:00
Dane Everitt
cad5b8c78d allow unlimited memory for server creation; closes 2016-02-21 01:18:30 -05:00
Dane Everitt
f6be06164f fix user controller; closes , closes 2016-02-21 01:15:37 -05:00
Dane Everitt
48b9bc0c52 add support for variable creation and deletion 2016-02-21 00:38:03 -05:00
Dane Everitt
dcf2f6fa0a fix up urls to follow a cleaner pattern 2016-02-21 00:07:03 -05:00
Dane Everitt
dcfdb89e3c add support for deleting service option 2016-02-20 16:55:05 -05:00
Dane Everitt
1e9bf1c220 Add support for adding new service option 2016-02-20 16:45:13 -05:00
Dane Everitt
177bd4ec9d add ability to delete a service 2016-02-20 16:23:04 -05:00
Dane Everitt
a50bb5da14 add ability to create new service 2016-02-20 16:02:49 -05:00
Dane Everitt
e42547a1ff add support for editing service options 2016-02-20 15:59:37 -05:00
Dane Everitt
ad5e253a07 Really basic initial implementation of service management 2016-02-15 15:21:28 -05:00
Dane Everitt
3266f220b9 should close ; references 2016-02-14 21:49:00 -05:00
Dane Everitt
217762a2eb More complete implementation of database management in panel.
Still missing ability to change passwords for databases, but that will
come soon.
2016-02-14 21:43:20 -05:00
Dane Everitt
a36f3dd875 Fix startup variable editing to allow admin full control 2016-02-13 17:36:03 -05:00
Dane Everitt
a903ae313a Add per-service-option startup & executable
Also fixes display issue on front-end where users could see and edit
hidden settings
Fixes a bug in relation to 
2016-02-13 17:29:52 -05:00
Dane Everitt
5678d643cd Very basic view of databases and database servers on the system 2016-02-13 00:18:32 -05:00
Dane Everitt
938df4023d Allow swap to be assigned as -1 2016-02-13 00:06:23 -05:00
Dane Everitt
7013d10987 Add basic support for per-server databases
Still missing ability to define database servers
2016-02-08 18:03:05 -05:00
Dane Everitt
76049c5860 Improved exception handler for AJAX requests 2016-02-08 18:03:05 -05:00
Dane Everitt
a9ced7d474 Very basic initial auto-deploy script setup 2016-02-05 23:41:16 -05:00
Dane Everitt
9a07cc83d1 fix password hashing bug; closes 2016-02-04 11:11:38 -05:00
Dane Everitt
d6bd7e7a2e Fix casts on models; closes 2016-01-26 22:17:51 -05:00
Dane Everitt
4a7fdaedde Update composer; fix environment setting 2016-01-25 20:30:50 -05:00
Dane Everitt
1c58a9d699 Add environment variable configuration; closes 2016-01-25 20:08:48 -05:00
Dane Everitt
dd58bdfff6 fixes setting user administrative status; closes 2016-01-25 19:18:22 -05:00
Dane Everitt
4d99d57820 fix associated server display; closes 2016-01-25 19:14:32 -05:00
Dane Everitt
2d1452d72a Fix validation bug 2016-01-25 18:56:40 -05:00
Dane Everitt
333aa73be5 Remove exception logging for connection error; closes 2016-01-25 18:42:27 -05:00
Dane Everitt
873f39d574 fix download error; closes 2016-01-25 18:39:34 -05:00
Dane Everitt
35de668622 Change version handling; bump to 0.1.1-beta 2016-01-23 21:42:56 -05:00
Dane Everitt
7bb0190ffa Change hmac method 2016-01-22 21:56:54 -05:00
Dane Everitt
aac498808c closes 2016-01-22 21:53:11 -05:00
Dane Everitt
be48fbd418 Fix allocation selection 2016-01-22 21:43:56 -05:00
Dane Everitt
ae843a72c6 This took an ungodly long amount of time to debug as the cause of issues frontend. 2016-01-22 21:43:50 -05:00
Dane Everitt
32b6bfbbe5 Fixes typo 2016-01-22 20:44:24 -05:00
Dane Everitt
fbd1b3f097 Improved display for server view if not installed 2016-01-22 20:39:16 -05:00
Dane Everitt
be47565c78 Update to match new installer processing. 2016-01-22 20:31:47 -05:00
Dane Everitt
4719b20a27 Implement server startup stuff 2016-01-22 19:40:48 -05:00
Dane Everitt
401d72a884 Update server policy class 2016-01-22 17:12:32 -05:00
Dane Everitt
52229d5d2e Add SFTP management to server front-end 2016-01-21 23:58:08 -05:00
Dane Everitt
63f4d08f0f Add language switching support 2016-01-20 22:39:02 -05:00
Dane Everitt
b63fc02cef Add settings to panel 2016-01-20 22:08:13 -05:00
Dane Everitt
591cc8648d Fix user creation 2016-01-20 22:08:13 -05:00
Dane Everitt
40c68a5391 Add title to copyright 2016-01-20 16:05:16 -05:00
Dane Everitt
026df6a36f Relicense project under MIT
Permission obtained from @DDynamic. Contributions from other users were
removed since we did not obtain permission from them for the re-license.

From this point forward all contributors must have a signed Contributor
License Agreement on file.
2016-01-20 15:56:40 -05:00
Dane Everitt
b0bcb879d0 Add license details to add app files. 2016-01-19 19:10:39 -05:00
Dane Everitt
a457bf2806 Fix a few bugs 2016-01-18 21:35:37 -05:00
Dane Everitt
ac6edc4d64 Completed subuser system 2016-01-18 19:57:10 -05:00
Dane Everitt
b7666bdb05 Basic initial subuser management 2016-01-18 01:24:33 -05:00
Dane Everitt
57cf636816 Update server policy definitions 2016-01-18 00:56:09 -05:00
Dane Everitt
4f3629fc4c Fixes issue with special characters in URL for file manager
closes 
2016-01-17 22:54:03 -05:00
Dane Everitt
644f26fbfe Add location creation 2016-01-16 23:10:46 -05:00
Dane Everitt
fb5533f107 add location editing 2016-01-16 22:57:28 -05:00
Dane Everitt
21a95a5d0e Add location delete support 2016-01-16 22:29:35 -05:00
Dane Everitt
861af87e93 Fix password reset system 2016-01-16 21:57:10 -05:00
Dane Everitt
8e92f96999 Fix logout 2016-01-16 21:45:35 -05:00
Dane Everitt
d14b9ff83c Add command line ability to create user 2016-01-16 21:42:46 -05:00
Dane Everitt
c701aa0825 Add support for CIDR ranges on API 2016-01-16 20:17:46 -05:00
Dane Everitt
317698a84a encrypt API keys 2016-01-16 20:11:31 -05:00
Dane Everitt
3e595ca856 Add API Management to admin CP 2016-01-16 19:56:48 -05:00
Dane Everitt
ade16e64c8 Fix api route permission 2016-01-16 17:34:07 -05:00
Dane Everitt
a6bc36a710 add initial api management page 2016-01-16 01:20:27 -05:00
Dane Everitt
ac65d5fa21 Finish base API.
Making PR, any additional API functions or modifications can be done
within the repository now.
2016-01-16 00:25:21 -05:00
Dane Everitt
77e3744b40 Change authentication method for API. 2016-01-15 19:26:50 -05:00
Dane Everitt
63f377a038 Add more API routes
Servers: list all, list single
Nodes: list all, list single, list single allocations, add node
Locations: list all
2016-01-15 17:54:29 -05:00
Dane Everitt
0ccaa16ea4 Fix exceptions thrown to mimic proper HTTP status codes 2016-01-15 00:20:58 -05:00
Dane Everitt
69c2e89fe0 Fix some missing exceptions and validation handling for users 2016-01-15 00:08:50 -05:00
Dane Everitt
e2d5145e3d Set user language properly 2016-01-14 23:48:58 -05:00
Dane Everitt
8c9e797210 Finish user portion of API 2016-01-14 23:13:26 -05:00
Dane Everitt
4604500349 Replace tabs with Spaces
I *really* wish Atom would stop doing this to me.
2016-01-12 23:49:56 -05:00
Dane Everitt
695728295a Add support for creating a user using the API 2016-01-12 23:43:33 -05:00
Dane Everitt
3114c1f73e Add user specific listing route 2016-01-12 22:59:34 -05:00
Dane Everitt
72acf06353 Improve API auth to rate limit requests and verify they are root_admin 2016-01-12 22:59:24 -05:00
Dane Everitt
2def94c958 Update routes to use CSRF protection 2016-01-12 21:50:43 -05:00
Dane Everitt
98b3355158 very basic initial push of API 2016-01-12 01:05:44 -05:00
Dane Everitt
ca1f928490 Fix wording on server create error 2016-01-11 22:47:44 -05:00
Dane Everitt
a3eb4b7dc4 Update to Laravel 5.2 2016-01-11 22:04:11 -05:00
Dane Everitt
02f6bf428e Show initial locations list 2016-01-10 19:22:21 -05:00
Dane Everitt
1d97b0be98 Add support for modification of server startup variables and command 2016-01-10 18:57:22 -05:00
Dane Everitt
232c05c31d Add support for deleting nodes
Finishes node management
2016-01-10 16:59:19 -05:00
Dane Everitt
179481c547 Add support for allocation management on nodes.
Allows deleting entire IP blocks, as well as allocating new IPs and
Ports via CIDR ranges, single IP, and single ports or a port range.
2016-01-10 00:38:16 -05:00
Dane Everitt
80bef5bd93 Fix file manager permissions 2016-01-08 22:42:33 -05:00
Dane Everitt
a1c6aa6358 Clean up setting allocation front-end 2016-01-08 22:36:57 -05:00
Dane Everitt
b41e7ecf09 Fix more permissions checking 2016-01-08 22:30:21 -05:00
Dane Everitt
b996316d92 Fixes some permissions stuff 2016-01-08 22:22:57 -05:00
Dane Everitt
71e6d2e1b6 Fixes potential for accidental update/deletion of edited model 2016-01-08 22:22:41 -05:00
Dane Everitt
65a91baa16 Fix inner join bug 2016-01-08 20:39:16 -05:00
Dane Everitt
54bef1e7d5 Basic allocation information
Allows deleting ports, nothing else yet
2016-01-08 20:01:18 -05:00
Dane Everitt
2160613163 Add EULA acceptance popup when starting server 2016-01-08 19:54:06 -05:00
Dane Everitt
edf0939ff3 MiddleWare !== Middleware 2016-01-08 15:08:29 -05:00
Dane Everitt
0d6994e90f Fixes error in repo
1/1 FatalErrorException in ServerRepository.php line 404: 'continue'
not in the 'loop' or 'switch' context
2016-01-08 14:54:55 -05:00
Dane Everitt
6e0c5d16af Allow updating settings and show configuration for node 2016-01-05 18:31:25 -05:00
Dane Everitt
52a2f2e2ae Fix socket.io error
We no longer support self-signed certs, so if we cant connect 99%
chance the daemon is off.
2016-01-05 01:19:59 -05:00
Dane Everitt
09d28bf145 adds support for viewing server stats from 'Your Servers' page
http://s3.pterodactyl.io/bnSTK.png
2016-01-05 01:15:23 -05:00
Dane Everitt
69f0340c48 Add very basic node information view
Adds a servers tab with 30 second interval data from the daemon for
each displayed server.
2016-01-05 00:52:20 -05:00
Dane Everitt
d381c691ba Add support for node creation 2016-01-04 23:59:45 -05:00
Dane Everitt
b5821ffb0f fix regex check for server name to validate correctly 2016-01-04 23:26:27 -05:00
Dane Everitt
98d2a1e1fd Delete account is no longer a GET request 2016-01-04 16:22:57 -05:00
Dane Everitt
4ae8a45ed3 Clean up routes and middleware checking 2016-01-04 16:09:39 -05:00
Dane Everitt
99a67127c9 Add toggle install status support 2016-01-04 16:09:22 -05:00
Dane Everitt
7314e70372 Fix a regex bug when trying to modify server key 2016-01-03 23:24:30 -05:00
Dane Everitt
4fe4881f77 Add delete server support as well as fix a few other bugs
Also a few JS fixes to make things work better and not clear the
console every time the server is booted
2016-01-03 23:16:03 -05:00
Dane Everitt
9d2d726992 🎉 Finishes server creation 🎉 2016-01-03 18:10:28 -05:00
Dane Everitt
a7fdb9618c support for changing allocation on frontend 2016-01-03 15:15:14 -05:00
Dane Everitt
fb77e23eb4 Make server overview cleaner and easier to follow
Also adds allocation information tab, still need to make it so users
can actually change their default connection address
2016-01-03 00:28:33 -05:00
Dane Everitt
4953608aee Add build configuration to server management.
Allows modification of certain settings, as well as assigning
additional IP addresses and ports.
2016-01-02 23:21:22 -05:00
Dane Everitt
2c054e7edc Add initial support for viewing basic server details
Includes support for changing server name, owner, and daemon secret.
2016-01-02 18:04:18 -05:00
Dane Everitt
f467c3f0eb Improved user management in Admin CP
Fixes a few bugs from PR#17
2016-01-02 15:08:33 -05:00
BlameDylan
6810375d2b View and Delete Users
This commit implements an interface into the Admin Panel that allows
users to be viewed, modified, and deleted.
2016-01-02 00:38:15 -06:00
Dane Everitt
6b25a163fc Improved server creation and options 2016-01-01 22:53:43 -05:00
Dane Everitt
59fb0eae4f Improved file downloading 2016-01-01 19:27:44 -05:00
Dane Everitt
46117afc77 Code cleanup and fixes filemanager 2016-01-01 18:08:15 -05:00
Dane Everitt
cc90fa3e63 Add http(s) toggle for nodes, update power page
Updates power and console controls to match new daemon output and API.
2015-12-31 17:55:42 -05:00
Dane Everitt
264431a271 Whats this? We can add new servers now?! 2015-12-15 15:08:41 -05:00
Dane Everitt
22b0bbf6ce Model fixing, moving things around to improve code.
Adds unique UUID generator, moves functions into repositories for
adding servers and users, cleans up code, adding more comments.
2015-12-13 22:22:16 -05:00
Dane Everitt
5955b1453c Fix authentication handler
Check email & password before token to handle case where email is
invalid.
2015-12-13 21:30:57 -05:00
Dane Everitt
9c9d33c127 Merge pull request from DDynamic/development
Account Creation in AdminCP
2015-12-13 20:36:39 -05:00
BlameDylan
3d80c5b7e6 Account Creation in AdminCP 2015-12-13 19:03:04 -06:00
Dane Everitt
b6ac96550b Fairly basic implementation of adding a server. Does not actually do anything yet.
Pushing this for commit sake.
2015-12-11 23:29:00 -05:00
Dane Everitt
d0e4592377 Initial validator implementation for server creation 2015-12-10 23:13:34 -05:00
Dane Everitt
288ee1a258 Improved TOTp handling in login.
Cleaned up the code a bit, also checks TOTP before attemping to verify
user.

This addresses the potential for an attacker to try at a password
and/or confirm that the password is correct unless they have a valid
TOTP code for the request. A failed TOTP response will trigger a
throttle count on the login as well.
2015-12-10 21:58:17 -05:00
BlameDylan
4585753d04 Implement Two-factor authentication 2015-12-10 19:40:59 -06:00
Dane Everitt
59ff1ebbe6 Finish front-end server creation page. 2015-12-10 18:30:49 -05:00
BlameDylan
2d57772528 Migrate ability to reset passwords 2015-12-08 18:28:49 -06:00
Dane Everitt
f47f0cd549 More additions to server creation page.
Adds memory/disk/etc. fields as well as selecting the service type and
option. Still need to add in the ability to set the variables once an
option is selected.
2015-12-08 18:34:18 -05:00
Dane Everitt
e77cea6f99 Add models for service databases 2015-12-08 18:33:33 -05:00
Dane Everitt
47235b670a Push some basic add server functionality
Doesn’t support adding the server, but adds improved support for
handling picking server location, node, and ip+port
2015-12-07 00:47:19 -05:00
Dane Everitt
1489f7a694 Initial Commit of Files
PufferPanel v0.9 (Laravel) is now Pterodactyl 1.0
2015-12-06 13:58:49 -05:00