Add current progress
This commit is contained in:
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
node_modules/
|
||||
config.json
|
||||
logs/
|
||||
6
.idea/jsLibraryMappings.xml
generated
Normal file
6
.idea/jsLibraryMappings.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="JavaScriptLibraryMappings">
|
||||
<includedPredefinedLibrary name="Node.js Core" />
|
||||
</component>
|
||||
</project>
|
||||
6
.idea/misc.xml
generated
Normal file
6
.idea/misc.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
</project>
|
||||
8
.idea/modules.xml
generated
Normal file
8
.idea/modules.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/HQAdmin.iml" filepath="$PROJECT_DIR$/HQAdmin.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
11
.idea/runConfigurations/bin_www.xml
generated
Normal file
11
.idea/runConfigurations/bin_www.xml
generated
Normal file
@@ -0,0 +1,11 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="bin\www" type="NodeJSConfigurationType" factoryName="Node.js" path-to-js-file="bin/www" working-dir="$PROJECT_DIR$">
|
||||
<envs>
|
||||
<env name="DEBUG" value="HQAdmin:*" />
|
||||
</envs>
|
||||
<EXTENSION ID="com.jetbrains.nodejs.run.NodeJSStartBrowserRunConfigurationExtension">
|
||||
<browser url="http://localhost:3000/" />
|
||||
</EXTENSION>
|
||||
<method />
|
||||
</configuration>
|
||||
</component>
|
||||
6
.idea/vcs.xml
generated
Normal file
6
.idea/vcs.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
473
.idea/workspace.xml
generated
Normal file
473
.idea/workspace.xml
generated
Normal file
@@ -0,0 +1,473 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="792feb45-6e3f-45d4-a001-5c7cbb169965" name="Default" comment="" />
|
||||
<ignored path="$PROJECT_DIR$/out/" />
|
||||
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
||||
<option name="TRACKING_ENABLED" value="true" />
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||
</component>
|
||||
<component name="FileEditorManager">
|
||||
<leaf>
|
||||
<file leaf-file-name="app.js" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/app.js">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-238">
|
||||
<caret line="76" column="31" selection-start-line="76" selection-start-column="31" selection-end-line="76" selection-end-column="31" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="index.ejs" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/views/index.ejs">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="215">
|
||||
<caret line="112" column="134" selection-start-line="112" selection-start-column="134" selection-end-line="112" selection-end-column="134" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="shows.js" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/routes/shows.js">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-197">
|
||||
<caret line="15" column="58" selection-start-line="15" selection-start-column="58" selection-end-line="15" selection-end-column="58" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="style.css" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/public/stylesheets/style.css">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="87">
|
||||
<caret line="9015" column="29" selection-start-line="9015" selection-start-column="29" selection-end-line="9015" selection-end-column="29" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="error.ejs" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/views/error.ejs">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="119">
|
||||
<caret line="7" column="18" selection-start-line="7" selection-start-column="18" selection-end-line="7" selection-end-column="18" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="config.json" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/config.json">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state>
|
||||
<caret column="1" selection-start-column="1" selection-end-column="1" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name=".gitignore" pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/.gitignore">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="34">
|
||||
<caret line="2" column="5" selection-start-line="2" selection-start-column="5" selection-end-line="2" selection-end-column="5" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="index.js" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/routes/index.js">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="68">
|
||||
<caret line="4" column="64" selection-start-line="4" selection-start-column="64" selection-end-line="4" selection-end-column="64" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="pac.ejs" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/views/pac.ejs">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="34">
|
||||
<caret line="2" column="36" selection-start-line="2" selection-start-column="36" selection-end-line="2" selection-end-column="36" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="pac.js" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/routes/pac.js">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="153">
|
||||
<caret line="9" column="27" lean-forward="true" selection-start-line="9" selection-start-column="27" selection-end-line="9" selection-end-column="27" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
</leaf>
|
||||
</component>
|
||||
<component name="FileTemplateManagerImpl">
|
||||
<option name="RECENT_TEMPLATES">
|
||||
<list>
|
||||
<option value="JSON File" />
|
||||
<option value="JavaScript File" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="FindInProjectRecents">
|
||||
<findStrings>
|
||||
<find>&#39;</find>
|
||||
<find>setTimeout</find>
|
||||
<find>messages</find>
|
||||
<find>HQ%20Trivia_files</find>
|
||||
<find>password</find>
|
||||
<find>HQ</find>
|
||||
<find>config</find>
|
||||
<find>live</find>
|
||||
<find>taurus</find>
|
||||
<find>interceptor</find>
|
||||
</findStrings>
|
||||
<replaceStrings>
|
||||
<replace>assets</replace>
|
||||
<replace>,</replace>
|
||||
</replaceStrings>
|
||||
</component>
|
||||
<component name="IdeDocumentHistory">
|
||||
<option name="CHANGED_PATHS">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/public/stylesheets/style.css" />
|
||||
<option value="$PROJECT_DIR$/routes/config.js" />
|
||||
<option value="$PROJECT_DIR$/routes/messages.js" />
|
||||
<option value="$PROJECT_DIR$/routes/showas.js" />
|
||||
<option value="$PROJECT_DIR$/routes/verifications.js" />
|
||||
<option value="$PROJECT_DIR$/config.backup.json" />
|
||||
<option value="$PROJECT_DIR$/routes/me.js" />
|
||||
<option value="$PROJECT_DIR$/views/error.ejs" />
|
||||
<option value="$PROJECT_DIR$/routes/shows.js" />
|
||||
<option value="$PROJECT_DIR$/public/robots.txt" />
|
||||
<option value="$PROJECT_DIR$/routes/pac.js" />
|
||||
<option value="$PROJECT_DIR$/routes/index.js" />
|
||||
<option value="$PROJECT_DIR$/views/pac.ejs" />
|
||||
<option value="$PROJECT_DIR$/views/index.ejs" />
|
||||
<option value="$PROJECT_DIR$/app.js" />
|
||||
<option value="$PROJECT_DIR$/config.json" />
|
||||
<option value="$PROJECT_DIR$/.gitignore" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
|
||||
<component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER">
|
||||
<package-json value="$PROJECT_DIR$/package.json" />
|
||||
</component>
|
||||
<component name="JsGulpfileManager">
|
||||
<detection-done>true</detection-done>
|
||||
<sorting>DEFINITION_ORDER</sorting>
|
||||
</component>
|
||||
<component name="NodeModulesDirectoryManager">
|
||||
<handled-path value="$PROJECT_DIR$/node_modules" />
|
||||
</component>
|
||||
<component name="ProjectFrameBounds" extendedState="6">
|
||||
<option name="x" value="-1928" />
|
||||
<option name="y" value="-8" />
|
||||
<option name="width" value="1296" />
|
||||
<option name="height" value="949" />
|
||||
</component>
|
||||
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
|
||||
<component name="ProjectView">
|
||||
<navigator proportions="" version="1">
|
||||
<foldersAlwaysOnTop value="true" />
|
||||
</navigator>
|
||||
<panes>
|
||||
<pane id="AndroidView" />
|
||||
<pane id="ProjectPane">
|
||||
<subPane>
|
||||
<expand>
|
||||
<path>
|
||||
<item name="HQAdmin" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="HQAdmin" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
</expand>
|
||||
<select />
|
||||
</subPane>
|
||||
</pane>
|
||||
<pane id="Scope" />
|
||||
<pane id="PackagesPane" />
|
||||
</panes>
|
||||
</component>
|
||||
<component name="PropertiesComponent">
|
||||
<property name="WebServerToolWindowFactoryState" value="false" />
|
||||
<property name="aspect.path.notification.shown" value="true" />
|
||||
<property name="javascript.nodejs.core.library.configured.version" value="8.10.0" />
|
||||
<property name="nodejs_interpreter_path" value="node" />
|
||||
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
|
||||
<property name="nodejs_npm_path_reset_for_default_project" value="true" />
|
||||
<property name="restartRequiresConfirmation" value="false" />
|
||||
<property name="settings.editor.selected.configurable" value="preferences.lookFeel" />
|
||||
</component>
|
||||
<component name="RunDashboard">
|
||||
<option name="ruleStates">
|
||||
<list>
|
||||
<RuleState>
|
||||
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
|
||||
</RuleState>
|
||||
<RuleState>
|
||||
<option name="name" value="StatusDashboardGroupingRule" />
|
||||
</RuleState>
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="RunManager">
|
||||
<configuration default="true" type="Application" factoryName="Application">
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||
</configuration>
|
||||
<configuration default="true" type="JUnit" factoryName="JUnit">
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" />
|
||||
<option name="PACKAGE_NAME" />
|
||||
<option name="MAIN_CLASS_NAME" />
|
||||
<option name="METHOD_NAME" />
|
||||
<option name="TEST_OBJECT" value="class" />
|
||||
<option name="VM_PARAMETERS" value="-ea" />
|
||||
<option name="PARAMETERS" />
|
||||
<option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
|
||||
<option name="PASS_PARENT_ENVS" value="true" />
|
||||
<option name="TEST_SEARCH_SCOPE">
|
||||
<value defaultName="singleModule" />
|
||||
</option>
|
||||
<patterns />
|
||||
</configuration>
|
||||
<configuration default="true" type="TestNG" factoryName="TestNG">
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" />
|
||||
<option name="SUITE_NAME" />
|
||||
<option name="PACKAGE_NAME" />
|
||||
<option name="MAIN_CLASS_NAME" />
|
||||
<option name="METHOD_NAME" />
|
||||
<option name="GROUP_NAME" />
|
||||
<option name="TEST_OBJECT" value="CLASS" />
|
||||
<option name="VM_PARAMETERS" value="-ea" />
|
||||
<option name="PARAMETERS" />
|
||||
<option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
|
||||
<option name="OUTPUT_DIRECTORY" />
|
||||
<option name="PASS_PARENT_ENVS" value="true" />
|
||||
<option name="TEST_SEARCH_SCOPE">
|
||||
<value defaultName="singleModule" />
|
||||
</option>
|
||||
<option name="USE_DEFAULT_REPORTERS" value="false" />
|
||||
<option name="PROPERTIES_FILE" />
|
||||
<properties />
|
||||
<listeners />
|
||||
</configuration>
|
||||
</component>
|
||||
<component name="SvnConfiguration">
|
||||
<configuration />
|
||||
</component>
|
||||
<component name="TaskManager">
|
||||
<task active="true" id="Default" summary="Default task">
|
||||
<changelist id="792feb45-6e3f-45d4-a001-5c7cbb169965" name="Default" comment="" />
|
||||
<created>1535813979689</created>
|
||||
<option name="number" value="Default" />
|
||||
<option name="presentableId" value="Default" />
|
||||
<updated>1535813979689</updated>
|
||||
<workItem from="1535813994908" duration="44205000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
<component name="TimeTrackingManager">
|
||||
<option name="totallyTimeSpent" value="44205000" />
|
||||
</component>
|
||||
<component name="ToolWindowManager">
|
||||
<frame x="-1928" y="-8" width="1936" height="1056" extended-state="6" />
|
||||
<editor active="true" />
|
||||
<layout>
|
||||
<window_info anchor="right" id="Palette" />
|
||||
<window_info anchor="bottom" id="TODO" order="6" />
|
||||
<window_info anchor="right" id="Palette	" />
|
||||
<window_info id="Image Layers" />
|
||||
<window_info anchor="right" id="Capture Analysis" />
|
||||
<window_info anchor="bottom" id="Event Log" side_tool="true" />
|
||||
<window_info anchor="right" id="Maven Projects" />
|
||||
<window_info anchor="bottom" id="Database Changes" show_stripe_button="false" />
|
||||
<window_info anchor="bottom" id="Run" order="2" visible="true" weight="0.32897604" />
|
||||
<window_info anchor="bottom" id="Version Control" />
|
||||
<window_info id="npm" side_tool="true" />
|
||||
<window_info anchor="bottom" id="Terminal" weight="0.32897604" />
|
||||
<window_info id="Capture Tool" />
|
||||
<window_info id="Designer" />
|
||||
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.16666667" />
|
||||
<window_info anchor="right" id="Database" />
|
||||
<window_info anchor="bottom" id="Find" order="1" weight="0.32897604" />
|
||||
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
|
||||
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
|
||||
<window_info id="UI Designer" />
|
||||
<window_info anchor="right" id="Theme Preview" />
|
||||
<window_info anchor="bottom" id="Debug" order="3" weight="0.39978212" />
|
||||
<window_info id="Favorites" side_tool="true" />
|
||||
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
|
||||
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
|
||||
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
|
||||
<window_info anchor="bottom" id="Message" order="0" />
|
||||
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
|
||||
</layout>
|
||||
</component>
|
||||
<component name="TypeScriptGeneratedFilesManager">
|
||||
<option name="version" value="1" />
|
||||
</component>
|
||||
<component name="VcsContentAnnotationSettings">
|
||||
<option name="myLimit" value="2678400000" />
|
||||
</component>
|
||||
<component name="editorHistoryManager">
|
||||
<entry file="file://$PROJECT_DIR$/routes/showas.js">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/routes/verifications.js">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="51">
|
||||
<caret line="3" selection-start-line="3" selection-end-line="3" selection-end-column="33" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/messages-1535920304860.txt">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/messages-1535920274509.txt">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/messages-1535918513215.txt">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="34">
|
||||
<caret line="2" column="20" selection-start-line="2" selection-start-column="9" selection-end-line="2" selection-end-column="20" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/messages-1535918402315.txt">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/messages-1535918453957.txt">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/messages-1535849932076.txt">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/messages-1535852123877.txt">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/messages-1535852191618.txt">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/messages-1535918386955.txt">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/routes/messages.js">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="34">
|
||||
<caret line="2" column="23" selection-start-line="2" selection-start-column="23" selection-end-line="2" selection-end-column="23" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/config.backup.json">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="476">
|
||||
<caret line="28" column="1" selection-start-line="28" selection-start-column="1" selection-end-line="28" selection-end-column="1" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/routes/me.js">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="85">
|
||||
<caret line="5" column="42" selection-start-line="5" selection-start-column="42" selection-end-line="5" selection-end-column="42" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/public/stylesheets/style.css">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="87">
|
||||
<caret line="9015" column="29" selection-start-line="9015" selection-start-column="29" selection-end-line="9015" selection-end-column="29" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/public/robots.txt">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state>
|
||||
<caret column="11" lean-forward="true" selection-end-column="11" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/routes/shows.js">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-197">
|
||||
<caret line="15" column="58" selection-start-line="15" selection-start-column="58" selection-end-line="15" selection-end-column="58" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/routes/pac.js">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="153">
|
||||
<caret line="9" column="27" lean-forward="true" selection-start-line="9" selection-start-column="27" selection-end-line="9" selection-end-column="27" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/routes/index.js">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="68">
|
||||
<caret line="4" column="64" selection-start-line="4" selection-start-column="64" selection-end-line="4" selection-end-column="64" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/views/error.ejs">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="119">
|
||||
<caret line="7" column="18" selection-start-line="7" selection-start-column="18" selection-end-line="7" selection-end-column="18" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/views/pac.ejs">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="34">
|
||||
<caret line="2" column="36" selection-start-line="2" selection-start-column="36" selection-end-line="2" selection-end-column="36" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/views/index.ejs">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="215">
|
||||
<caret line="112" column="134" selection-start-line="112" selection-start-column="134" selection-end-line="112" selection-end-column="134" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app.js">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-238">
|
||||
<caret line="76" column="31" selection-start-line="76" selection-start-column="31" selection-end-line="76" selection-end-column="31" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/config.json">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state>
|
||||
<caret column="1" selection-start-column="1" selection-end-column="1" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/.gitignore">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="34">
|
||||
<caret line="2" column="5" selection-start-line="2" selection-start-column="5" selection-end-line="2" selection-end-column="5" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</component>
|
||||
<component name="masterDetails">
|
||||
<states>
|
||||
<state key="ProjectJDKs.UI">
|
||||
<settings>
|
||||
<splitter-proportions>
|
||||
<option name="proportions">
|
||||
<list>
|
||||
<option value="0.2" />
|
||||
</list>
|
||||
</option>
|
||||
</splitter-proportions>
|
||||
</settings>
|
||||
</state>
|
||||
</states>
|
||||
</component>
|
||||
</project>
|
||||
8
HQAdmin.iml
Normal file
8
HQAdmin.iml
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="WEB_MODULE" version="4">
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
||||
298
app.js
Normal file
298
app.js
Normal file
@@ -0,0 +1,298 @@
|
||||
var createError = require('http-errors');
|
||||
var express = require('express');
|
||||
var path = require('path');
|
||||
var cookieParser = require('cookie-parser');
|
||||
var logger = require('morgan');
|
||||
var proxy = require('express-http-proxy');
|
||||
var request = require('request');
|
||||
var fs = require('fs');
|
||||
|
||||
var indexRouter = require('./routes/index');
|
||||
var showsRouter = require('./routes/shows');
|
||||
var pacRouter = require('./routes/pac');
|
||||
var WebSocket = require('ws');
|
||||
var Discord = require("discord.js");
|
||||
var client = new Discord.Client();
|
||||
|
||||
var app = express();
|
||||
|
||||
var clients = [];
|
||||
|
||||
// view engine setup
|
||||
app.set('views', path.join(__dirname, 'views'));
|
||||
app.set('view engine', 'ejs');
|
||||
|
||||
app.use(logger('dev'));
|
||||
app.use(express.json());
|
||||
app.use(express.urlencoded({ extended: false }));
|
||||
app.use(cookieParser());
|
||||
app.use(express.static(path.join(__dirname, 'public')));
|
||||
|
||||
app.use('/', indexRouter);
|
||||
app.use('/shows/now', showsRouter);
|
||||
app.use('/tes.pac', pacRouter);
|
||||
|
||||
|
||||
|
||||
// catch 404 and forward to error handler
|
||||
app.use(proxy("https://api-quiz.hype.space/"));
|
||||
|
||||
// error handler
|
||||
app.use(function(err, req, res, next) {
|
||||
// set locals, only providing error in development
|
||||
res.locals.message = err.message;
|
||||
res.locals.error = req.app.get('env') === 'development' ? err : {};
|
||||
|
||||
// render the error page
|
||||
res.status(err.status || 500);
|
||||
res.render('error');
|
||||
});
|
||||
|
||||
module.exports = app;
|
||||
|
||||
//WS INTERCEPTOR
|
||||
var sys = function (message) {
|
||||
var sysmsg = {"type":"viewerEvent","ts":"","eventType":"","message":"","localeKey":"","localeArgs":[],"sent":""};
|
||||
sysmsg.ts = new Date();
|
||||
sysmsg.message = message;
|
||||
sysmsg.sent = new Date();
|
||||
return JSON.stringify(sysmsg);
|
||||
};
|
||||
|
||||
var kick = function (message) {
|
||||
var kickmsg = {"type":"broadcastEnded","ts":"","reason":"","sent":""};
|
||||
kickmsg.ts = new Date();
|
||||
kickmsg.reason = message;
|
||||
kickmsg.sent = new Date();
|
||||
return JSON.stringify(kickmsg);
|
||||
};
|
||||
|
||||
var toast = function (message,avatarURL) {
|
||||
var toastmsg = {"type":"waveToast","ts":"","sent":"","avatarUrl":"https://hypespace-quiz.s3.amazonaws.com/avatars/f8502122aa594246bc11eeb60ea0b516-15284031.jpg","eventType":"succeeded","message":""};
|
||||
if(avatarURL != undefined){
|
||||
toastmsg.avatarUrl = avatarURL;
|
||||
}
|
||||
toastmsg.ts = new Date();
|
||||
toastmsg.sent = new Date();
|
||||
toastmsg.message = message;
|
||||
return JSON.stringify(toastmsg);
|
||||
};
|
||||
|
||||
var chat = function (message, name, avatarURL) {
|
||||
|
||||
var connectmsg = {"type":"interaction","ts":"","itemId":"chat","userId":1,"metadata":{"userId":1,"message":"","avatarUrl":"https://d2xu1hdomh3nrx.cloudfront.net/avatars/f8502122aa594246bc11eeb60ea0b516-15284031.jpg","interaction":"chat","username":"TES"},"sent":""};
|
||||
connectmsg.ts = new Date();
|
||||
connectmsg.sent = new Date();
|
||||
connectmsg.metadata.message = message;
|
||||
if(name != undefined){
|
||||
connectmsg.metadata.username = name;
|
||||
}
|
||||
if(avatarURL != undefined){
|
||||
connectmsg.metadata.avatarUrl = avatarURL;
|
||||
}
|
||||
return JSON.stringify(connectmsg);
|
||||
};
|
||||
|
||||
var WebSocketServer = require('ws').Server,
|
||||
wss = new WebSocketServer({port: 40510})
|
||||
|
||||
wss.on('connection', function (ws, ureq) {
|
||||
try{
|
||||
clients.push(ws);
|
||||
var connected = false;
|
||||
var socket = null;
|
||||
var masterPingTimeout = null;
|
||||
var masterPingInterval = null;
|
||||
var broadcastId = 0;
|
||||
var msgt = (new Date().getTime()).toString();
|
||||
//First connect
|
||||
ws.send(sys('Connecting to HQ...'));
|
||||
request({
|
||||
//uri: 'http://localhost:3000/shows/now'
|
||||
uri: 'https://api-quiz.hype.space/shows/now'
|
||||
}, function (err, res, body) {
|
||||
try{
|
||||
fs.readFile('config.json', 'utf8', function (err, data) {
|
||||
if (err) throw err;
|
||||
var obj = JSON.parse(data);
|
||||
var response = JSON.parse(body);
|
||||
var headers = ureq.headers;
|
||||
delete headers.host;
|
||||
delete headers.origin;
|
||||
delete headers['sec-websocket-key'];
|
||||
|
||||
if (response.active || obj.interceptor.override) {
|
||||
|
||||
if(obj.interceptor.override) ws.send(sys('Game override active'));
|
||||
var options = {
|
||||
headers: headers
|
||||
};
|
||||
if(!obj.interceptor.override){
|
||||
broadcastId = response.broadcastId;
|
||||
var susmsg = {"type": "subscribe", "broadcastId": response.broadcastId};
|
||||
//socket = new WebSocket("http://hqecho.herokuapp.com/", options);
|
||||
socket = new WebSocket(response.broadcast.socketUrl, options);
|
||||
} else{
|
||||
socket = new WebSocket(obj.interceptor.overrideserver, options);
|
||||
}
|
||||
socket.on('error', function (eer) {
|
||||
console.error(eer);
|
||||
console.error('WS error');
|
||||
ws.send(chat('Connection error'));
|
||||
ws.send(chat(eer));
|
||||
ws.send(chat('closing in 5 seconds...'));
|
||||
setTimeout(function () {
|
||||
try{ws.send(kick("generic error"));}catch (e) {}
|
||||
}, 5000);
|
||||
});
|
||||
socket.on('pong', function () {
|
||||
clearTimeout(masterPingTimeout);
|
||||
});
|
||||
socket.on('open', function () {
|
||||
ws.send(toast('Connected!',"https://hypespace-quiz.s3.amazonaws.com/avatars/f8502122aa594246bc11eeb60ea0b516-15284031.jpg"));
|
||||
connected = true;
|
||||
socket.send(JSON.stringify(susmsg));
|
||||
masterPingInterval = setInterval(function () {
|
||||
if (!connected) return;
|
||||
if (!socket) return;
|
||||
try {
|
||||
socket.ping();
|
||||
masterPingTimeout = setTimeout(function () {
|
||||
socket.terminate();
|
||||
try{ws.send(kick('connection closed.'));}catch (e) {}
|
||||
}, 2000);
|
||||
} catch (error) {
|
||||
ws.send(kick('connection closed.'));
|
||||
}
|
||||
}, 10000);
|
||||
});
|
||||
socket.on('close', function () {
|
||||
ws.send(kick("Master closed"));
|
||||
});
|
||||
socket.on('message', function (message) {
|
||||
fs.readFile('config.json', 'utf8', function (err, data) {
|
||||
if (err) throw err;
|
||||
var obj = JSON.parse(data);
|
||||
if(obj.interceptor.discord.enabled){
|
||||
try{
|
||||
var msg = JSON.parse(message);
|
||||
if(msg.type != "interaction"){
|
||||
ws.send(message);
|
||||
}
|
||||
} catch (e) {
|
||||
ws.send(message);
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
fs.appendFile('logs/messages-' + msgt + '.txt', message + '\n', function (err) {
|
||||
if (err) console.error(err);
|
||||
});
|
||||
});
|
||||
} else {
|
||||
ws.send(sys('"HQ isn\'t live!"'));
|
||||
ws.send(sys('closing in 5 seconds...'));
|
||||
setTimeout(function(){ try{ws.send(kick(error.toString()));}catch (e) {} },5000);
|
||||
}
|
||||
});
|
||||
} catch(error){
|
||||
ws.send(sys('Connection error'));
|
||||
console.error(error);
|
||||
ws.send(sys(error.toString()));
|
||||
ws.send(sys(err));
|
||||
ws.send(sys('closing in 5 seconds...'));
|
||||
setTimeout(function(){ try{ws.send(kick(error.toString()));}catch (e) {} },5000);
|
||||
}
|
||||
});
|
||||
|
||||
ws.on('ping', function(){
|
||||
if(connected) {
|
||||
socket.ping();
|
||||
}
|
||||
});
|
||||
ws.on('message', function (message) {
|
||||
if(connected){
|
||||
socket.send(message);
|
||||
} else{
|
||||
console.log('received: %s', message);
|
||||
}
|
||||
fs.appendFile('logs/messages-'+msgt+'.txt', message+'\n', function (err) {
|
||||
if (err) console.error(err);
|
||||
});
|
||||
});
|
||||
} catch(errr){
|
||||
console.warn('Client dropped');
|
||||
console.warn(errr);
|
||||
}
|
||||
});
|
||||
|
||||
client.on("ready", function () {
|
||||
console.log('Discord loaded with '+client.users.size+' players');
|
||||
fs.readFile('config.json', 'utf8', function (err, data) {
|
||||
if (err) throw err;
|
||||
var obj = JSON.parse(data);
|
||||
client.user.setActivity(obj.interceptor.discord.status);
|
||||
});
|
||||
});
|
||||
|
||||
client.on("message", function (message) {
|
||||
if(message.author.id == client.user.id) return;
|
||||
if(message.channel.id == 452223090508693515) {
|
||||
clients.forEach(function (ws) {
|
||||
try {
|
||||
ws.send(chat(message.content, message.author.username, message.author.avatarURL));
|
||||
} catch (e) {
|
||||
//console.warn('A client is missing');
|
||||
}
|
||||
});
|
||||
} else if(message.channel.id == 485940877580304394){
|
||||
if(message.content.includes("!bc=")){
|
||||
fs.readFile('config.json', 'utf8', function (err, data) {
|
||||
if (err) throw err;
|
||||
var obj = JSON.parse(data);
|
||||
obj.interceptor.discord.newsletter.forEach(function(userid) {
|
||||
client.fetchUser(userid).then(function (user) {
|
||||
user.createDM().then(function (channel) {
|
||||
channel.send(message.content.split("=")[1]);
|
||||
});
|
||||
});
|
||||
});
|
||||
message.react("485943564295995393");
|
||||
});
|
||||
} else if(message.author.id == 191939245949190144 && message.content.includes("!kick")){
|
||||
clients.forEach(function (ws) {
|
||||
try {
|
||||
ws.send(kick('TES: Server shutting down.'));
|
||||
} catch (e) {
|
||||
console.warn('A client is missing');
|
||||
}
|
||||
});
|
||||
}
|
||||
} else if(message.channel.type == "dm"){
|
||||
if(message.content.includes("!ns")){
|
||||
fs.readFile('config.json', 'utf8', function (err, data) {
|
||||
if (err) throw err;
|
||||
var obj = JSON.parse(data);
|
||||
if(!obj.interceptor.discord.newsletter.includes(message.author.id)){
|
||||
obj.interceptor.discord.newsletter.push(message.author.id);
|
||||
fs.writeFile('config.json', JSON.stringify(obj,null,2),null,function () {
|
||||
message.reply("Added you to the list!");
|
||||
});
|
||||
} else {
|
||||
message.reply("You are already on the list!");
|
||||
}
|
||||
});
|
||||
} else{
|
||||
message.channel.send("Hi, I'm a bot that sends discord messages to a custom HQ chat in real time. I am currently in development and will be available to HUB sooner or later. reply with !ns to get my newsletter!");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
fs.readFile('config.json', 'utf8', function (err, data) {
|
||||
if (err) throw err;
|
||||
var obj = JSON.parse(data);
|
||||
if(obj.interceptor.discord.enabled){
|
||||
client.login(obj.interceptor.discord.token);
|
||||
}
|
||||
});
|
||||
90
bin/www
Normal file
90
bin/www
Normal file
@@ -0,0 +1,90 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var app = require('../app');
|
||||
var debug = require('debug')('hqadmin:server');
|
||||
var http = require('http');
|
||||
|
||||
/**
|
||||
* Get port from environment and store in Express.
|
||||
*/
|
||||
|
||||
var port = normalizePort(process.env.PORT || '3000');
|
||||
app.set('port', port);
|
||||
|
||||
/**
|
||||
* Create HTTP server.
|
||||
*/
|
||||
|
||||
var server = http.createServer(app);
|
||||
|
||||
/**
|
||||
* Listen on provided port, on all network interfaces.
|
||||
*/
|
||||
|
||||
server.listen(port);
|
||||
server.on('error', onError);
|
||||
server.on('listening', onListening);
|
||||
|
||||
/**
|
||||
* Normalize a port into a number, string, or false.
|
||||
*/
|
||||
|
||||
function normalizePort(val) {
|
||||
var port = parseInt(val, 10);
|
||||
|
||||
if (isNaN(port)) {
|
||||
// named pipe
|
||||
return val;
|
||||
}
|
||||
|
||||
if (port >= 0) {
|
||||
// port number
|
||||
return port;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Event listener for HTTP server "error" event.
|
||||
*/
|
||||
|
||||
function onError(error) {
|
||||
if (error.syscall !== 'listen') {
|
||||
throw error;
|
||||
}
|
||||
|
||||
var bind = typeof port === 'string'
|
||||
? 'Pipe ' + port
|
||||
: 'Port ' + port;
|
||||
|
||||
// handle specific listen errors with friendly messages
|
||||
switch (error.code) {
|
||||
case 'EACCES':
|
||||
console.error(bind + ' requires elevated privileges');
|
||||
process.exit(1);
|
||||
break;
|
||||
case 'EADDRINUSE':
|
||||
console.error(bind + ' is already in use');
|
||||
process.exit(1);
|
||||
break;
|
||||
default:
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Event listener for HTTP server "listening" event.
|
||||
*/
|
||||
|
||||
function onListening() {
|
||||
var addr = server.address();
|
||||
var bind = typeof addr === 'string'
|
||||
? 'pipe ' + addr
|
||||
: 'port ' + addr.port;
|
||||
debug('Listening on ' + bind);
|
||||
}
|
||||
18
config.example.json
Normal file
18
config.example.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"proxyURL": "PROXY URL",
|
||||
"serverURL": "INTERCEPTOR URL",
|
||||
"streamURL": "rtsp://edge-global.hype.space:1935/live/wirecast_high",
|
||||
"testserver": false,
|
||||
"interceptor": {
|
||||
"override": false,
|
||||
"overrideserver": "TEST SERVER URL",
|
||||
"overrideserver2": "wss://hqecho.herokuapp.com/",
|
||||
"discord": {
|
||||
"enabled": false,
|
||||
"token": "",
|
||||
"name": "HQ Chat Proxy",
|
||||
"status": "DM me for information",
|
||||
"newsletter": []
|
||||
}
|
||||
}
|
||||
}
|
||||
2691
logs/messages-1535849932076.txt
Normal file
2691
logs/messages-1535849932076.txt
Normal file
File diff suppressed because one or more lines are too long
1525
logs/messages-1535918513215.txt
Normal file
1525
logs/messages-1535918513215.txt
Normal file
File diff suppressed because one or more lines are too long
0
logs/messages-1535936210113.txt
Normal file
0
logs/messages-1535936210113.txt
Normal file
2908
logs/messages-1535936343548.txt
Normal file
2908
logs/messages-1535936343548.txt
Normal file
File diff suppressed because one or more lines are too long
3
logs/messages-1535947874055.txt
Normal file
3
logs/messages-1535947874055.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
{"type":"chatVisibilityToggled","chatVisible":true}
|
||||
{"type":"chatVisibilityToggled","chatVisible":true}
|
||||
{"type":"subscribe","broadcastId":44433}
|
||||
3
logs/messages-1535948000557.txt
Normal file
3
logs/messages-1535948000557.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
{"type":"chatVisibilityToggled","chatVisible":true}
|
||||
{"type":"chatVisibilityToggled","chatVisible":true}
|
||||
{"type":"subscribe","broadcastId":44433}
|
||||
2
logs/messages-1535948039433.txt
Normal file
2
logs/messages-1535948039433.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
{"type":"subscribe","broadcastId":44433}
|
||||
{"type":"chatVisibilityToggled","chatVisible":true}
|
||||
885
package-lock.json
generated
Normal file
885
package-lock.json
generated
Normal file
@@ -0,0 +1,885 @@
|
||||
{
|
||||
"name": "hqadmin",
|
||||
"version": "0.0.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
"accepts": {
|
||||
"version": "1.3.5",
|
||||
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz",
|
||||
"integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=",
|
||||
"requires": {
|
||||
"mime-types": "2.1.20",
|
||||
"negotiator": "0.6.1"
|
||||
}
|
||||
},
|
||||
"ajv": {
|
||||
"version": "5.5.2",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
|
||||
"integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
|
||||
"requires": {
|
||||
"co": "4.6.0",
|
||||
"fast-deep-equal": "1.1.0",
|
||||
"fast-json-stable-stringify": "2.0.0",
|
||||
"json-schema-traverse": "0.3.1"
|
||||
}
|
||||
},
|
||||
"array-flatten": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
|
||||
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
|
||||
},
|
||||
"asn1": {
|
||||
"version": "0.2.4",
|
||||
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
|
||||
"integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
|
||||
"requires": {
|
||||
"safer-buffer": "2.1.2"
|
||||
}
|
||||
},
|
||||
"assert-plus": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
|
||||
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
|
||||
},
|
||||
"async-limiter": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
|
||||
"integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg=="
|
||||
},
|
||||
"asynckit": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
||||
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
|
||||
},
|
||||
"aws-sign2": {
|
||||
"version": "0.7.0",
|
||||
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
|
||||
"integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
|
||||
},
|
||||
"aws4": {
|
||||
"version": "1.8.0",
|
||||
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
|
||||
"integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
|
||||
},
|
||||
"basic-auth": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.0.tgz",
|
||||
"integrity": "sha1-AV2z81PgLlY3d1X5YnQuiYHnu7o=",
|
||||
"requires": {
|
||||
"safe-buffer": "5.1.1"
|
||||
}
|
||||
},
|
||||
"bcrypt-pbkdf": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
|
||||
"integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"tweetnacl": "0.14.5"
|
||||
}
|
||||
},
|
||||
"body-parser": {
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz",
|
||||
"integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=",
|
||||
"requires": {
|
||||
"bytes": "3.0.0",
|
||||
"content-type": "1.0.4",
|
||||
"debug": "2.6.9",
|
||||
"depd": "1.1.2",
|
||||
"http-errors": "1.6.3",
|
||||
"iconv-lite": "0.4.23",
|
||||
"on-finished": "2.3.0",
|
||||
"qs": "6.5.2",
|
||||
"raw-body": "2.3.3",
|
||||
"type-is": "1.6.16"
|
||||
},
|
||||
"dependencies": {
|
||||
"qs": {
|
||||
"version": "6.5.2",
|
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
|
||||
"integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"bytes": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
|
||||
"integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
|
||||
},
|
||||
"caseless": {
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
|
||||
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
|
||||
},
|
||||
"co": {
|
||||
"version": "4.6.0",
|
||||
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
|
||||
"integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ="
|
||||
},
|
||||
"combined-stream": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
|
||||
"integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
|
||||
"requires": {
|
||||
"delayed-stream": "1.0.0"
|
||||
}
|
||||
},
|
||||
"content-disposition": {
|
||||
"version": "0.5.2",
|
||||
"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
|
||||
"integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ="
|
||||
},
|
||||
"content-type": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
|
||||
"integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
|
||||
},
|
||||
"cookie": {
|
||||
"version": "0.3.1",
|
||||
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
|
||||
"integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s="
|
||||
},
|
||||
"cookie-parser": {
|
||||
"version": "1.4.3",
|
||||
"resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.3.tgz",
|
||||
"integrity": "sha1-D+MfoZ0AC5X0qt8fU/3CuKIDuqU=",
|
||||
"requires": {
|
||||
"cookie": "0.3.1",
|
||||
"cookie-signature": "1.0.6"
|
||||
}
|
||||
},
|
||||
"cookie-signature": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
|
||||
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
|
||||
},
|
||||
"core-util-is": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
|
||||
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
|
||||
},
|
||||
"dashdash": {
|
||||
"version": "1.14.1",
|
||||
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
|
||||
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
|
||||
"requires": {
|
||||
"assert-plus": "1.0.0"
|
||||
}
|
||||
},
|
||||
"debug": {
|
||||
"version": "2.6.9",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
||||
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
|
||||
"requires": {
|
||||
"ms": "2.0.0"
|
||||
}
|
||||
},
|
||||
"delayed-stream": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
||||
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
|
||||
},
|
||||
"depd": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
|
||||
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
|
||||
},
|
||||
"destroy": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
|
||||
"integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
|
||||
},
|
||||
"discord.js": {
|
||||
"version": "11.4.2",
|
||||
"resolved": "https://registry.npmjs.org/discord.js/-/discord.js-11.4.2.tgz",
|
||||
"integrity": "sha512-MDwpu0lMFTjqomijDl1Ed9miMQe6kB4ifKdP28QZllmLv/HVOJXhatRgjS8urp/wBlOfx+qAYSXcdI5cKGYsfg==",
|
||||
"requires": {
|
||||
"long": "4.0.0",
|
||||
"prism-media": "0.0.3",
|
||||
"snekfetch": "3.6.4",
|
||||
"tweetnacl": "1.0.0",
|
||||
"ws": "4.1.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"tweetnacl": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.0.tgz",
|
||||
"integrity": "sha1-cT2LgY2kIGh0C/aDhtBHnmb8ins="
|
||||
}
|
||||
}
|
||||
},
|
||||
"ecc-jsbn": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
|
||||
"integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"jsbn": "0.1.1",
|
||||
"safer-buffer": "2.1.2"
|
||||
}
|
||||
},
|
||||
"ee-first": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
|
||||
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
|
||||
},
|
||||
"ejs": {
|
||||
"version": "2.5.9",
|
||||
"resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.9.tgz",
|
||||
"integrity": "sha512-GJCAeDBKfREgkBtgrYSf9hQy9kTb3helv0zGdzqhM7iAkW8FA/ZF97VQDbwFiwIT8MQLLOe5VlPZOEvZAqtUAQ=="
|
||||
},
|
||||
"encodeurl": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
|
||||
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
|
||||
},
|
||||
"es6-promise": {
|
||||
"version": "4.2.4",
|
||||
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz",
|
||||
"integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ=="
|
||||
},
|
||||
"escape-html": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
|
||||
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
|
||||
},
|
||||
"etag": {
|
||||
"version": "1.8.1",
|
||||
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
|
||||
"integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
|
||||
},
|
||||
"express": {
|
||||
"version": "4.16.3",
|
||||
"resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz",
|
||||
"integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=",
|
||||
"requires": {
|
||||
"accepts": "1.3.5",
|
||||
"array-flatten": "1.1.1",
|
||||
"body-parser": "1.18.2",
|
||||
"content-disposition": "0.5.2",
|
||||
"content-type": "1.0.4",
|
||||
"cookie": "0.3.1",
|
||||
"cookie-signature": "1.0.6",
|
||||
"debug": "2.6.9",
|
||||
"depd": "1.1.2",
|
||||
"encodeurl": "1.0.2",
|
||||
"escape-html": "1.0.3",
|
||||
"etag": "1.8.1",
|
||||
"finalhandler": "1.1.1",
|
||||
"fresh": "0.5.2",
|
||||
"merge-descriptors": "1.0.1",
|
||||
"methods": "1.1.2",
|
||||
"on-finished": "2.3.0",
|
||||
"parseurl": "1.3.2",
|
||||
"path-to-regexp": "0.1.7",
|
||||
"proxy-addr": "2.0.4",
|
||||
"qs": "6.5.1",
|
||||
"range-parser": "1.2.0",
|
||||
"safe-buffer": "5.1.1",
|
||||
"send": "0.16.2",
|
||||
"serve-static": "1.13.2",
|
||||
"setprototypeof": "1.1.0",
|
||||
"statuses": "1.4.0",
|
||||
"type-is": "1.6.16",
|
||||
"utils-merge": "1.0.1",
|
||||
"vary": "1.1.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"body-parser": {
|
||||
"version": "1.18.2",
|
||||
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz",
|
||||
"integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=",
|
||||
"requires": {
|
||||
"bytes": "3.0.0",
|
||||
"content-type": "1.0.4",
|
||||
"debug": "2.6.9",
|
||||
"depd": "1.1.2",
|
||||
"http-errors": "1.6.3",
|
||||
"iconv-lite": "0.4.19",
|
||||
"on-finished": "2.3.0",
|
||||
"qs": "6.5.1",
|
||||
"raw-body": "2.3.2",
|
||||
"type-is": "1.6.16"
|
||||
}
|
||||
},
|
||||
"iconv-lite": {
|
||||
"version": "0.4.19",
|
||||
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
|
||||
"integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ=="
|
||||
},
|
||||
"raw-body": {
|
||||
"version": "2.3.2",
|
||||
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz",
|
||||
"integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=",
|
||||
"requires": {
|
||||
"bytes": "3.0.0",
|
||||
"http-errors": "1.6.2",
|
||||
"iconv-lite": "0.4.19",
|
||||
"unpipe": "1.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"depd": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
|
||||
"integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k="
|
||||
},
|
||||
"http-errors": {
|
||||
"version": "1.6.2",
|
||||
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
|
||||
"integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=",
|
||||
"requires": {
|
||||
"depd": "1.1.1",
|
||||
"inherits": "2.0.3",
|
||||
"setprototypeof": "1.0.3",
|
||||
"statuses": "1.4.0"
|
||||
}
|
||||
},
|
||||
"setprototypeof": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
|
||||
"integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ="
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"express-http-proxy": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/express-http-proxy/-/express-http-proxy-1.2.0.tgz",
|
||||
"integrity": "sha512-HefDxJyPLTtVqQXYhniN0JCS3ibyDwxvIjrwTGqXUeChdeTz9+Lo9LgKHJRTqTIp8wQeknM+W52v/+/NCm4IIw==",
|
||||
"requires": {
|
||||
"debug": "3.1.0",
|
||||
"es6-promise": "4.2.4",
|
||||
"raw-body": "2.3.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"debug": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
|
||||
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
|
||||
"requires": {
|
||||
"ms": "2.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"extend": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
|
||||
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
|
||||
},
|
||||
"extsprintf": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
|
||||
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
|
||||
},
|
||||
"fast-deep-equal": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
|
||||
"integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ="
|
||||
},
|
||||
"fast-json-stable-stringify": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
|
||||
"integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
|
||||
},
|
||||
"finalhandler": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz",
|
||||
"integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==",
|
||||
"requires": {
|
||||
"debug": "2.6.9",
|
||||
"encodeurl": "1.0.2",
|
||||
"escape-html": "1.0.3",
|
||||
"on-finished": "2.3.0",
|
||||
"parseurl": "1.3.2",
|
||||
"statuses": "1.4.0",
|
||||
"unpipe": "1.0.0"
|
||||
}
|
||||
},
|
||||
"forever-agent": {
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
|
||||
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
|
||||
},
|
||||
"form-data": {
|
||||
"version": "2.3.2",
|
||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz",
|
||||
"integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",
|
||||
"requires": {
|
||||
"asynckit": "0.4.0",
|
||||
"combined-stream": "1.0.6",
|
||||
"mime-types": "2.1.20"
|
||||
}
|
||||
},
|
||||
"forwarded": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
|
||||
"integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
|
||||
},
|
||||
"fresh": {
|
||||
"version": "0.5.2",
|
||||
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
|
||||
"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
|
||||
},
|
||||
"getpass": {
|
||||
"version": "0.1.7",
|
||||
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
|
||||
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
|
||||
"requires": {
|
||||
"assert-plus": "1.0.0"
|
||||
}
|
||||
},
|
||||
"har-schema": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
|
||||
"integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
|
||||
},
|
||||
"har-validator": {
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz",
|
||||
"integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==",
|
||||
"requires": {
|
||||
"ajv": "5.5.2",
|
||||
"har-schema": "2.0.0"
|
||||
}
|
||||
},
|
||||
"http": {
|
||||
"version": "0.0.0",
|
||||
"resolved": "https://registry.npmjs.org/http/-/http-0.0.0.tgz",
|
||||
"integrity": "sha1-huYybSnF0Dnen6xYSkVon5KfT3I="
|
||||
},
|
||||
"http-errors": {
|
||||
"version": "1.6.3",
|
||||
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
|
||||
"integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
|
||||
"requires": {
|
||||
"depd": "1.1.2",
|
||||
"inherits": "2.0.3",
|
||||
"setprototypeof": "1.1.0",
|
||||
"statuses": "1.4.0"
|
||||
}
|
||||
},
|
||||
"http-signature": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
|
||||
"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
|
||||
"requires": {
|
||||
"assert-plus": "1.0.0",
|
||||
"jsprim": "1.4.1",
|
||||
"sshpk": "1.14.2"
|
||||
}
|
||||
},
|
||||
"iconv-lite": {
|
||||
"version": "0.4.23",
|
||||
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
|
||||
"integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
|
||||
"requires": {
|
||||
"safer-buffer": "2.1.2"
|
||||
}
|
||||
},
|
||||
"inherits": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
|
||||
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
|
||||
},
|
||||
"ipaddr.js": {
|
||||
"version": "1.8.0",
|
||||
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz",
|
||||
"integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4="
|
||||
},
|
||||
"is-typedarray": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
|
||||
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
|
||||
},
|
||||
"isstream": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
|
||||
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
|
||||
},
|
||||
"jsbn": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
|
||||
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
|
||||
"optional": true
|
||||
},
|
||||
"json-schema": {
|
||||
"version": "0.2.3",
|
||||
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
|
||||
"integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
|
||||
},
|
||||
"json-schema-traverse": {
|
||||
"version": "0.3.1",
|
||||
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
|
||||
"integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A="
|
||||
},
|
||||
"json-stringify-safe": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
|
||||
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
|
||||
},
|
||||
"jsprim": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
|
||||
"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
|
||||
"requires": {
|
||||
"assert-plus": "1.0.0",
|
||||
"extsprintf": "1.3.0",
|
||||
"json-schema": "0.2.3",
|
||||
"verror": "1.10.0"
|
||||
}
|
||||
},
|
||||
"long": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
|
||||
"integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
|
||||
},
|
||||
"media-typer": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
|
||||
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
|
||||
},
|
||||
"merge-descriptors": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
|
||||
"integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
|
||||
},
|
||||
"methods": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
|
||||
"integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
|
||||
},
|
||||
"mime": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
|
||||
"integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ=="
|
||||
},
|
||||
"mime-db": {
|
||||
"version": "1.36.0",
|
||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.36.0.tgz",
|
||||
"integrity": "sha512-L+xvyD9MkoYMXb1jAmzI/lWYAxAMCPvIBSWur0PZ5nOf5euahRLVqH//FKW9mWp2lkqUgYiXPgkzfMUFi4zVDw=="
|
||||
},
|
||||
"mime-types": {
|
||||
"version": "2.1.20",
|
||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.20.tgz",
|
||||
"integrity": "sha512-HrkrPaP9vGuWbLK1B1FfgAkbqNjIuy4eHlIYnFi7kamZyLLrGlo2mpcx0bBmNpKqBtYtAfGbodDddIgddSJC2A==",
|
||||
"requires": {
|
||||
"mime-db": "1.36.0"
|
||||
}
|
||||
},
|
||||
"morgan": {
|
||||
"version": "1.9.0",
|
||||
"resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.0.tgz",
|
||||
"integrity": "sha1-0B+mxlhZt2/PMbPLU6OCGjEdgFE=",
|
||||
"requires": {
|
||||
"basic-auth": "2.0.0",
|
||||
"debug": "2.6.9",
|
||||
"depd": "1.1.2",
|
||||
"on-finished": "2.3.0",
|
||||
"on-headers": "1.0.1"
|
||||
}
|
||||
},
|
||||
"ms": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
||||
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
|
||||
},
|
||||
"nan": {
|
||||
"version": "2.11.0",
|
||||
"resolved": "https://registry.npmjs.org/nan/-/nan-2.11.0.tgz",
|
||||
"integrity": "sha512-F4miItu2rGnV2ySkXOQoA8FKz/SR2Q2sWP0sbTxNxz/tuokeC8WxOhPMcwi0qIyGtVn/rrSeLbvVkznqCdwYnw=="
|
||||
},
|
||||
"negotiator": {
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
|
||||
"integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk="
|
||||
},
|
||||
"oauth-sign": {
|
||||
"version": "0.9.0",
|
||||
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
|
||||
"integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
|
||||
},
|
||||
"on-finished": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
|
||||
"integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
|
||||
"requires": {
|
||||
"ee-first": "1.1.1"
|
||||
}
|
||||
},
|
||||
"on-headers": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz",
|
||||
"integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c="
|
||||
},
|
||||
"parseurl": {
|
||||
"version": "1.3.2",
|
||||
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
|
||||
"integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M="
|
||||
},
|
||||
"path-to-regexp": {
|
||||
"version": "0.1.7",
|
||||
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
|
||||
"integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
|
||||
},
|
||||
"performance-now": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
|
||||
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
|
||||
},
|
||||
"prism-media": {
|
||||
"version": "0.0.3",
|
||||
"resolved": "https://registry.npmjs.org/prism-media/-/prism-media-0.0.3.tgz",
|
||||
"integrity": "sha512-c9KkNifSMU/iXT8FFTaBwBMr+rdVcN+H/uNv1o+CuFeTThNZNTOrQ+RgXA1yL/DeLk098duAeRPP3QNPNbhxYQ=="
|
||||
},
|
||||
"proxy-addr": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz",
|
||||
"integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==",
|
||||
"requires": {
|
||||
"forwarded": "0.1.2",
|
||||
"ipaddr.js": "1.8.0"
|
||||
}
|
||||
},
|
||||
"psl": {
|
||||
"version": "1.1.29",
|
||||
"resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz",
|
||||
"integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ=="
|
||||
},
|
||||
"punycode": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
|
||||
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
|
||||
},
|
||||
"qs": {
|
||||
"version": "6.5.1",
|
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
|
||||
"integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A=="
|
||||
},
|
||||
"range-parser": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
|
||||
"integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4="
|
||||
},
|
||||
"raw-body": {
|
||||
"version": "2.3.3",
|
||||
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz",
|
||||
"integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==",
|
||||
"requires": {
|
||||
"bytes": "3.0.0",
|
||||
"http-errors": "1.6.3",
|
||||
"iconv-lite": "0.4.23",
|
||||
"unpipe": "1.0.0"
|
||||
}
|
||||
},
|
||||
"request": {
|
||||
"version": "2.88.0",
|
||||
"resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
|
||||
"integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
|
||||
"requires": {
|
||||
"aws-sign2": "0.7.0",
|
||||
"aws4": "1.8.0",
|
||||
"caseless": "0.12.0",
|
||||
"combined-stream": "1.0.6",
|
||||
"extend": "3.0.2",
|
||||
"forever-agent": "0.6.1",
|
||||
"form-data": "2.3.2",
|
||||
"har-validator": "5.1.0",
|
||||
"http-signature": "1.2.0",
|
||||
"is-typedarray": "1.0.0",
|
||||
"isstream": "0.1.2",
|
||||
"json-stringify-safe": "5.0.1",
|
||||
"mime-types": "2.1.20",
|
||||
"oauth-sign": "0.9.0",
|
||||
"performance-now": "2.1.0",
|
||||
"qs": "6.5.2",
|
||||
"safe-buffer": "5.1.2",
|
||||
"tough-cookie": "2.4.3",
|
||||
"tunnel-agent": "0.6.0",
|
||||
"uuid": "3.3.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"qs": {
|
||||
"version": "6.5.2",
|
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
|
||||
"integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
|
||||
},
|
||||
"safe-buffer": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
|
||||
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"safe-buffer": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
|
||||
"integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
|
||||
},
|
||||
"safer-buffer": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
|
||||
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
|
||||
},
|
||||
"send": {
|
||||
"version": "0.16.2",
|
||||
"resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz",
|
||||
"integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==",
|
||||
"requires": {
|
||||
"debug": "2.6.9",
|
||||
"depd": "1.1.2",
|
||||
"destroy": "1.0.4",
|
||||
"encodeurl": "1.0.2",
|
||||
"escape-html": "1.0.3",
|
||||
"etag": "1.8.1",
|
||||
"fresh": "0.5.2",
|
||||
"http-errors": "1.6.3",
|
||||
"mime": "1.4.1",
|
||||
"ms": "2.0.0",
|
||||
"on-finished": "2.3.0",
|
||||
"range-parser": "1.2.0",
|
||||
"statuses": "1.4.0"
|
||||
}
|
||||
},
|
||||
"serve-static": {
|
||||
"version": "1.13.2",
|
||||
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz",
|
||||
"integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==",
|
||||
"requires": {
|
||||
"encodeurl": "1.0.2",
|
||||
"escape-html": "1.0.3",
|
||||
"parseurl": "1.3.2",
|
||||
"send": "0.16.2"
|
||||
}
|
||||
},
|
||||
"setprototypeof": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
|
||||
"integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ=="
|
||||
},
|
||||
"snekfetch": {
|
||||
"version": "3.6.4",
|
||||
"resolved": "https://registry.npmjs.org/snekfetch/-/snekfetch-3.6.4.tgz",
|
||||
"integrity": "sha512-NjxjITIj04Ffqid5lqr7XdgwM7X61c/Dns073Ly170bPQHLm6jkmelye/eglS++1nfTWktpP6Y2bFXjdPlQqdw=="
|
||||
},
|
||||
"sshpk": {
|
||||
"version": "1.14.2",
|
||||
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz",
|
||||
"integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=",
|
||||
"requires": {
|
||||
"asn1": "0.2.4",
|
||||
"assert-plus": "1.0.0",
|
||||
"bcrypt-pbkdf": "1.0.2",
|
||||
"dashdash": "1.14.1",
|
||||
"ecc-jsbn": "0.1.2",
|
||||
"getpass": "0.1.7",
|
||||
"jsbn": "0.1.1",
|
||||
"safer-buffer": "2.1.2",
|
||||
"tweetnacl": "0.14.5"
|
||||
}
|
||||
},
|
||||
"statuses": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
|
||||
"integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew=="
|
||||
},
|
||||
"tough-cookie": {
|
||||
"version": "2.4.3",
|
||||
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
|
||||
"integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
|
||||
"requires": {
|
||||
"psl": "1.1.29",
|
||||
"punycode": "1.4.1"
|
||||
}
|
||||
},
|
||||
"tunnel-agent": {
|
||||
"version": "0.6.0",
|
||||
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
|
||||
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
|
||||
"requires": {
|
||||
"safe-buffer": "5.1.1"
|
||||
}
|
||||
},
|
||||
"tweetnacl": {
|
||||
"version": "0.14.5",
|
||||
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
|
||||
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
|
||||
"optional": true
|
||||
},
|
||||
"type-is": {
|
||||
"version": "1.6.16",
|
||||
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz",
|
||||
"integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==",
|
||||
"requires": {
|
||||
"media-typer": "0.3.0",
|
||||
"mime-types": "2.1.20"
|
||||
}
|
||||
},
|
||||
"typedarray-to-buffer": {
|
||||
"version": "3.1.5",
|
||||
"resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
|
||||
"integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
|
||||
"requires": {
|
||||
"is-typedarray": "1.0.0"
|
||||
}
|
||||
},
|
||||
"unpipe": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
|
||||
"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
|
||||
},
|
||||
"utils-merge": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
|
||||
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
|
||||
},
|
||||
"uuid": {
|
||||
"version": "3.3.2",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
|
||||
"integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA=="
|
||||
},
|
||||
"vary": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
|
||||
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
|
||||
},
|
||||
"verror": {
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
|
||||
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
|
||||
"requires": {
|
||||
"assert-plus": "1.0.0",
|
||||
"core-util-is": "1.0.2",
|
||||
"extsprintf": "1.3.0"
|
||||
}
|
||||
},
|
||||
"websocket": {
|
||||
"version": "1.0.26",
|
||||
"resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.26.tgz",
|
||||
"integrity": "sha512-fjcrYDPIQxpTnqFQ9JjxUQcdvR89MFAOjPBlF+vjOt49w/XW4fJknUoMz/mDIn2eK1AdslVojcaOxOqyZZV8rw==",
|
||||
"requires": {
|
||||
"debug": "2.6.9",
|
||||
"nan": "2.11.0",
|
||||
"typedarray-to-buffer": "3.1.5",
|
||||
"yaeti": "0.0.6"
|
||||
}
|
||||
},
|
||||
"ws": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-4.1.0.tgz",
|
||||
"integrity": "sha512-ZGh/8kF9rrRNffkLFV4AzhvooEclrOH0xaugmqGsIfFgOE/pIz4fMc4Ef+5HSQqTEug2S9JZIWDR47duDSLfaA==",
|
||||
"requires": {
|
||||
"async-limiter": "1.0.0",
|
||||
"safe-buffer": "5.1.1"
|
||||
}
|
||||
},
|
||||
"yaeti": {
|
||||
"version": "0.0.6",
|
||||
"resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz",
|
||||
"integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc="
|
||||
}
|
||||
}
|
||||
}
|
||||
22
package.json
Normal file
22
package.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"name": "hqadmin",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"start": "node ./bin/www"
|
||||
},
|
||||
"dependencies": {
|
||||
"body-parser": "^1.18.3",
|
||||
"cookie-parser": "~1.4.3",
|
||||
"debug": "~2.6.9",
|
||||
"discord.js": "^11.4.2",
|
||||
"ejs": "~2.5.7",
|
||||
"express": "~4.16.0",
|
||||
"express-http-proxy": "^1.2.0",
|
||||
"http": "0.0.0",
|
||||
"http-errors": "~1.6.2",
|
||||
"morgan": "~1.9.0",
|
||||
"request": "^2.88.0",
|
||||
"websocket": "^1.0.26"
|
||||
}
|
||||
}
|
||||
BIN
public/assets/Logo_200x.png
Normal file
BIN
public/assets/Logo_200x.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
41
public/assets/dialog.html
Normal file
41
public/assets/dialog.html
Normal file
@@ -0,0 +1,41 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="html--invisible" lang="en"><head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
|
||||
<title>Payment processing error</title>
|
||||
|
||||
<link rel="stylesheet" media="all" href="dialog_data/main-2472df00aa4057007c7aaa75ee277d432a8e35b7f06d5e0776ccec3.css">
|
||||
<script src="prompt.js"></script></head>
|
||||
<body>
|
||||
<div class="dialog dialog--invisible" id="dialog" role="dialog" aria-labelledby="dialog__title" aria-describedby="dialog__error-list-container dialog__line-items-container">
|
||||
<div class="dialog__icon" id="dialog__icon"></div>
|
||||
|
||||
<h3 class="dialog__title" id="dialog__title"></h3>
|
||||
|
||||
<p class="dialog__error-description hidden" id="dialog__error-description"></p>
|
||||
|
||||
<div class="dialog__error-list-container hidden" id="dialog__error-list-container">
|
||||
<div class="dialog__error-list-scrollable" id="dialog__error-list-scrollable"></div>
|
||||
</div>
|
||||
|
||||
<div class="dialog__footer">
|
||||
<button class="btn" id="dialog-dismiss-button" data-trigger="dismiss"></button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="hidden">
|
||||
<svg class="digital-wallets-svgs" xmlns="http://www.w3.org/2000/svg">
|
||||
<symbol id="digital-wallets-svgs__alert" viewBox="0 0 36 36">
|
||||
<path fill="#e32c2b" d="M18,36 C8.06,36 0,27.94 0,18 C0,8.06 8.06,0 18,0 C27.94,0 36,8.06 36,18 C36,27.94 27.94,36 18,36 Z M17,9 L17,22 L19,22 L19,9 L17,9 Z M16.5,27.5 C16.5,28.3342028 17.1715729,29 18,29 C18.8342028,29 19.5,28.3284271 19.5,27.5 C19.5,26.6657972 18.8284271,26 18,26 C17.1657972,26 16.5,26.6715729 16.5,27.5 Z"></path>
|
||||
</symbol>
|
||||
</svg>
|
||||
</div>
|
||||
|
||||
<script src="dialog_data/scripts-ef7820ac96d3425d0d0a181c414b091a5221a4e5492c2de2715b8.js"></script>
|
||||
|
||||
|
||||
</body></html>
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
4
public/assets/jquery-2.js
vendored
Normal file
4
public/assets/jquery-2.js
vendored
Normal file
File diff suppressed because one or more lines are too long
8
public/assets/lazysizes.js
Normal file
8
public/assets/lazysizes.js
Normal file
File diff suppressed because one or more lines are too long
240
public/assets/prompt.js
Normal file
240
public/assets/prompt.js
Normal file
@@ -0,0 +1,240 @@
|
||||
/*
|
||||
* Copyright 2017 SideeX committers
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
*/
|
||||
|
||||
const originalPrompt = window.prompt;
|
||||
let nextPromptResult = false;
|
||||
let recordedPrompt = null;
|
||||
|
||||
const originalConfirmation = window.confirm;
|
||||
let nextConfirmationResult = false;
|
||||
let recordedConfirmation = null;
|
||||
|
||||
const originalAlert = window.alert;
|
||||
let recordedAlert = null;
|
||||
|
||||
function getFrameLocation() {
|
||||
let frameLocation = "";
|
||||
let currentWindow = window;
|
||||
let currentParentWindow;
|
||||
while (currentWindow !== window.top) {
|
||||
currentParentWindow = currentWindow.parent;
|
||||
for (let idx = 0; idx < currentParentWindow.frames.length; idx++)
|
||||
if (currentParentWindow.frames[idx] === currentWindow) {
|
||||
frameLocation = ":" + idx + frameLocation;
|
||||
currentWindow = currentParentWindow;
|
||||
break;
|
||||
}
|
||||
}
|
||||
frameLocation = "root" + frameLocation;
|
||||
return frameLocation;
|
||||
}
|
||||
|
||||
|
||||
//before record prompt
|
||||
|
||||
// Not a top window
|
||||
if (window !== window.top) {
|
||||
|
||||
window.prompt = function(text, defaultText) {
|
||||
if (document.body.hasAttribute("SideeXPlayingFlag")) {
|
||||
return window.top.prompt(text, defaultText);
|
||||
} else {
|
||||
let result = originalPrompt(text, defaultText);
|
||||
let frameLocation = getFrameLocation();
|
||||
window.top.postMessage({
|
||||
direction: "from-page-script",
|
||||
recordedType: "prompt",
|
||||
recordedMessage: text,
|
||||
recordedResult: result,
|
||||
frameLocation: frameLocation
|
||||
}, "*");
|
||||
return result;
|
||||
}
|
||||
};
|
||||
|
||||
window.confirm = function(text) {
|
||||
if (document.body.hasAttribute("SideeXPlayingFlag")) {
|
||||
return window.top.confirm(text);
|
||||
} else {
|
||||
let result = originalConfirmation(text);
|
||||
let frameLocation = getFrameLocation();
|
||||
window.top.postMessage({
|
||||
direction: "from-page-script",
|
||||
recordedType: "confirm",
|
||||
recordedMessage: text,
|
||||
recordedResult: result,
|
||||
frameLocation: frameLocation
|
||||
}, "*");
|
||||
return result;
|
||||
}
|
||||
};
|
||||
|
||||
window.alert = function(text) {
|
||||
if(document.body.hasAttribute("SideeXPlayingFlag")){
|
||||
recordedAlert = text;
|
||||
// Response directly
|
||||
window.top.postMessage({
|
||||
direction: "from-page-script",
|
||||
response: "alert",
|
||||
value: recordedAlert
|
||||
}, "*");
|
||||
return;
|
||||
} else {
|
||||
let result = originalAlert(text);
|
||||
let frameLocation = getFrameLocation();
|
||||
window.top.postMessage({
|
||||
direction: "from-page-script",
|
||||
recordedType: "alert",
|
||||
recordedMessage: text,
|
||||
recordedResult: result,
|
||||
frameLocation: frameLocation
|
||||
}, "*");
|
||||
return result;
|
||||
}
|
||||
};
|
||||
|
||||
} else { // top window
|
||||
|
||||
window.prompt = function(text, defaultText) {
|
||||
recordedPrompt = text;
|
||||
if (document.body.hasAttribute("setPrompt")) {
|
||||
document.body.removeAttribute("setPrompt");
|
||||
return nextPromptResult;
|
||||
} else {
|
||||
let result = originalPrompt(text, defaultText);
|
||||
let frameLocation = getFrameLocation();
|
||||
window.top.postMessage({
|
||||
direction: "from-page-script",
|
||||
recordedType: "prompt",
|
||||
recordedMessage: text,
|
||||
recordedResult: result,
|
||||
frameLocation: frameLocation
|
||||
}, "*");
|
||||
return result;
|
||||
}
|
||||
};
|
||||
window.confirm = function(text) {
|
||||
recordedConfirmation = text;
|
||||
if (document.body.hasAttribute("setConfirm")) {
|
||||
document.body.removeAttribute("setConfirm");
|
||||
return nextConfirmationResult;
|
||||
} else {
|
||||
let result = originalConfirmation(text);
|
||||
let frameLocation = getFrameLocation();
|
||||
window.top.postMessage({
|
||||
direction: "from-page-script",
|
||||
recordedType: "confirm",
|
||||
recordedMessage: text,
|
||||
recordedResult: result,
|
||||
frameLocation: frameLocation
|
||||
}, "*");
|
||||
return result;
|
||||
}
|
||||
};
|
||||
window.alert = function(text) {
|
||||
recordedAlert = text;
|
||||
if(document.body.hasAttribute("SideeXPlayingFlag")){
|
||||
// Response directly
|
||||
window.top.postMessage({
|
||||
direction: "from-page-script",
|
||||
response: "alert",
|
||||
value: recordedAlert
|
||||
}, "*");
|
||||
return;
|
||||
} else {
|
||||
let result = originalAlert(text);
|
||||
let frameLocation = getFrameLocation();
|
||||
window.top.postMessage({
|
||||
direction: "from-page-script",
|
||||
recordedType: "alert",
|
||||
recordedMessage: text,
|
||||
recordedResult: result,
|
||||
frameLocation: frameLocation
|
||||
}, "*");
|
||||
return result;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
//play window methods
|
||||
if (window == window.top) {
|
||||
window.addEventListener("message", handler);
|
||||
}
|
||||
|
||||
function handler(event) {
|
||||
if (event.source == window && event.data &&
|
||||
event.data.direction == "from-content-script") {
|
||||
if (event.data.detach) {
|
||||
console.log("detaching...");
|
||||
window.removeEventListener("message", handler);
|
||||
window.prompt = originalPrompt;
|
||||
window.confirm = originalConfirmation;
|
||||
window.alert = originalAlert;
|
||||
return;
|
||||
}
|
||||
let result = undefined;
|
||||
switch (event.data.command) {
|
||||
case "setNextPromptResult":
|
||||
nextPromptResult = event.data.target;
|
||||
document.body.setAttribute("setPrompt", true);
|
||||
window.postMessage({
|
||||
direction: "from-page-script",
|
||||
response: "prompt"
|
||||
}, "*");
|
||||
break;
|
||||
case "getPromptMessage":
|
||||
result = recordedPrompt;
|
||||
recordedPrompt = null;
|
||||
window.postMessage({
|
||||
direction: "from-page-script",
|
||||
response: "prompt",
|
||||
value: result
|
||||
}, "*");
|
||||
break;
|
||||
case "setNextConfirmationResult":
|
||||
nextConfirmationResult = event.data.target;
|
||||
document.body.setAttribute("setConfirm", true);
|
||||
window.postMessage({
|
||||
direction: "from-page-script",
|
||||
response: "confirm"
|
||||
}, "*");
|
||||
break;
|
||||
case "getConfirmationMessage":
|
||||
result = recordedConfirmation;
|
||||
recordedConfirmation = null;
|
||||
try{
|
||||
console.error("no");
|
||||
window.postMessage({
|
||||
direction: "from-page-script",
|
||||
response: "confirm",
|
||||
value: result
|
||||
}, "*");
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
}
|
||||
break;
|
||||
|
||||
case "setNextAlertResult":
|
||||
document.body.setAttribute("setAlert", true);
|
||||
window.postMessage({
|
||||
direction: "from-page-script",
|
||||
response: "alert"
|
||||
}, "*");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
1
public/assets/theme.css
Normal file
1
public/assets/theme.css
Normal file
File diff suppressed because one or more lines are too long
1591
public/assets/theme.js
Normal file
1591
public/assets/theme.js
Normal file
File diff suppressed because one or more lines are too long
1
public/assets/timber.css
Normal file
1
public/assets/timber.css
Normal file
File diff suppressed because one or more lines are too long
1
public/assets/trekkie.js
Normal file
1
public/assets/trekkie.js
Normal file
File diff suppressed because one or more lines are too long
BIN
public/images/hq32x32.png
Normal file
BIN
public/images/hq32x32.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.9 KiB |
1
public/robots.txt
Normal file
1
public/robots.txt
Normal file
@@ -0,0 +1 @@
|
||||
Disallow: /
|
||||
9075
public/stylesheets/style.css
Normal file
9075
public/stylesheets/style.css
Normal file
File diff suppressed because it is too large
Load Diff
12
routes/index.js
Normal file
12
routes/index.js
Normal file
@@ -0,0 +1,12 @@
|
||||
var express = require('express');
|
||||
var router = express.Router();
|
||||
/* GET home page. */
|
||||
router.get('/', function(req, res, next) {
|
||||
var pacUrl = req.protocol + '://' + req.get('host') + '/tes.pac';
|
||||
res.render('index', {
|
||||
title: 'TES',
|
||||
pac: pacUrl
|
||||
});
|
||||
});
|
||||
|
||||
module.exports = router;
|
||||
17
routes/pac.js
Normal file
17
routes/pac.js
Normal file
@@ -0,0 +1,17 @@
|
||||
var express = require('express');
|
||||
var router = express.Router();
|
||||
var fs = require('fs');
|
||||
/* GET pac script. */
|
||||
router.get('/', function(req, res, next) {
|
||||
fs.readFile('config.json', 'utf8', function (err, data) {
|
||||
if (err) throw err;
|
||||
var obj = JSON.parse(data);
|
||||
res.set({'Content-Type': 'application/x-ns-proxy-autoconfig'});
|
||||
res.render('pac', {
|
||||
proxy: obj.proxyURL
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
module.exports = router;
|
||||
54
routes/shows.js
Normal file
54
routes/shows.js
Normal file
@@ -0,0 +1,54 @@
|
||||
var express = require('express');
|
||||
var router = express.Router();
|
||||
var fs = require('fs');
|
||||
var request = require('request');
|
||||
/* GET users listing. */
|
||||
router.all('/', function(req, res, next) {
|
||||
fs.readFile('config.json', 'utf8', function (err, data) {
|
||||
if (err) throw err;
|
||||
obj = JSON.parse(data);
|
||||
request({
|
||||
uri: 'https://api-quiz.hype.space/shows/now'
|
||||
}, function (err, ress, body) {
|
||||
//it works!
|
||||
var output = JSON.parse(body);
|
||||
output.upcoming[0].nextShowLabel.color = '#'+(Math.random()*0xFFFFFF<<0).toString(16);
|
||||
output.upcoming[0].nextShowLabel.title = '[TES]' + output.upcoming[0].nextShowLabel.title;
|
||||
if(obj.testserver){
|
||||
output.active = true;
|
||||
output.showId = 4311;
|
||||
output.showType = 'hq';
|
||||
output.startTime = new Date();
|
||||
output.prize = 5000;
|
||||
output.gameKey = 'hq:16';
|
||||
output.broadcast = {};
|
||||
output.broadcast.broadcastId=44433;
|
||||
output.broadcast.channelId=100;
|
||||
output.broadcast.created = new Date();
|
||||
output.broadcast.ended = null;
|
||||
output.broadcast.links = {};
|
||||
output.broadcast.links.self = '/broadcasts/44433';
|
||||
output.broadcast.links.transcript = '/broadcasts/44433/transcript';
|
||||
output.broadcast.links.viewers = '/broadcasts/44433/viewers';
|
||||
output.broadcast.permalink = 'https://hy.pe/b/aDp';
|
||||
output.broadcast.relativeTimestamp = 1294691;
|
||||
output.broadcast.socketUrl = obj.serverURL;
|
||||
output.broadcast.started = new Date();
|
||||
output.broadcast.state = 'live';
|
||||
output.broadcast.status = 1;
|
||||
output.broadcast.streamKey = 'wirecast';
|
||||
output.broadcast.streams = {};
|
||||
output.broadcast.streams.high = obj.streamURL;
|
||||
output.broadcast.streams.low = obj.streamURL;
|
||||
output.broadcast.streams.medium = obj.streamURL;
|
||||
output.broadcast.streams.passthrough = obj.streamURL;
|
||||
output.broadcast.streams.source = obj.streamURL;
|
||||
output.broadcast.streamUrl = obj.streamURL;
|
||||
}
|
||||
res.json(output);
|
||||
});
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
module.exports = router;
|
||||
11
views/error.ejs
Normal file
11
views/error.ejs
Normal file
@@ -0,0 +1,11 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title><%= message %></title>
|
||||
<link rel='stylesheet' href='/stylesheets/style.css' />
|
||||
</head>
|
||||
<body>
|
||||
<h1><%= message %></h1>
|
||||
<h2><%= error.status %></h2>
|
||||
</body>
|
||||
</html>
|
||||
128
views/index.ejs
Normal file
128
views/index.ejs
Normal file
@@ -0,0 +1,128 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
||||
<meta charset="UTF-8">
|
||||
<title>
|
||||
<%= title %>
|
||||
</title>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1">
|
||||
<link rel="shortcut icon" href="/images/hq32x32.png" type="image/png">
|
||||
<style media="all">.additional-checkout-button{border:0 !important;border-radius:5px !important;display:inline-block;margin:0 0 10px;padding:0 24px !important;max-width:100%;min-width:150px !important;line-height:44px !important;text-align:center !important}.additional-checkout-button+.additional-checkout-button{margin-left:10px}.additional-checkout-button:last-child{margin-bottom:0}.additional-checkout-button span{font-size:14px !important}.additional-checkout-button img{display:inline-block !important;height:1.3em !important;margin:0 !important;vertical-align:middle !important;width:auto !important}@media (max-width: 500px){.additional-checkout-button{display:block;margin-left:0 !important;padding:0 10px !important;width:100%}}.additional-checkout-button--apple-pay{background-color:#000 !important;color:#fff !important;display:none;font-family:-apple-system, 'Helvetica Neue', sans-serif !important;min-width:150px !important;white-space:nowrap !important}.additional-checkout-button--apple-pay:hover,.additional-checkout-button--apple-pay:active,.additional-checkout-button--apple-pay:visited{color:#fff !important;text-decoration:none !important}.additional-checkout-button--apple-pay .additional-checkout-button__logo{background:-webkit-named-image(apple-pay-logo-white) center center no-repeat !important;background-size:auto 100% !important;display:inline-block !important;vertical-align:middle !important;width:3em !important;height:1.3em !important}@media (max-width: 500px){.additional-checkout-button--apple-pay{display:none}}.additional-checkout-button--google-pay{line-height:0 !important;padding:0 !important;border-radius:unset !important;width:80px !important}@media (max-width: 500px){.additional-checkout-button--google-pay{width:100% !important}}.gpay-iframe{height:44px !important;width:100% !important;cursor:pointer;vertical-align:middle !important}.additional-checkout-button--paypal-express{background-color:#ffc439 !important}.additional-checkout-button--paypal{vertical-align:top;line-height:0 !important;padding:0 !important}.additional-checkout-button--amazon{background-color:#fad676 !important;position:relative !important}.additional-checkout-button--amazon .additional-checkout-button__logo{-webkit-transform:translateY(4px) !important;transform:translateY(4px) !important}.additional-checkout-button--amazon .alt-payment-list-amazon-button-image{max-height:none !important;opacity:0 !important;position:absolute !important;top:0 !important;left:0 !important;width:100% !important;height:100% !important}.additional-checkout-button-visually-hidden{border:0 !important;clip:rect(0, 0, 0, 0) !important;clip:rect(0 0 0 0) !important;width:1px !important;height:1px !important;margin:-2px !important;overflow:hidden !important;padding:0 !important;position:absolute !important}</style>
|
||||
<style>.shopify-payment-button__button--hidden {
|
||||
visibility: hidden;
|
||||
}
|
||||
.shopify-payment-button__button {
|
||||
border-radius: 4px;
|
||||
border: none;
|
||||
box-shadow: 0 0 0 0 transparent;
|
||||
color: white;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
font-size: 1em;
|
||||
font-weight: 500;
|
||||
line-height: 1;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
transition: background 0.2s ease-in-out;
|
||||
}
|
||||
.shopify-payment-button__button[disabled] {
|
||||
opacity: 0.6;
|
||||
cursor: default;
|
||||
}
|
||||
.shopify-payment-button__button--unbranded {
|
||||
background-color: #1990c6;
|
||||
padding: 1em 2em;
|
||||
}
|
||||
.shopify-payment-button__button--unbranded:hover:not([disabled]) {
|
||||
background-color: #136f99;
|
||||
}
|
||||
.shopify-payment-button__more-options {
|
||||
background: transparent;
|
||||
border: 0 none;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
font-size: 1em;
|
||||
margin-top: 1em;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
.shopify-payment-button__more-options:hover:not([disabled]) {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.shopify-payment-button__more-options[disabled] {
|
||||
opacity: 0.6;
|
||||
cursor: default;
|
||||
}
|
||||
.shopify-payment-button__button--branded {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
min-height: 44px;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
.shopify-payment-button__button--branded .shopify-cleanslate {
|
||||
flex: 1 !important;
|
||||
display: flex !important;
|
||||
flex-direction: column !important;
|
||||
}
|
||||
</style>
|
||||
<!-- CSS ================================================== -->
|
||||
<link href="assets/timber.css" rel="stylesheet" type="text/css" media="all">
|
||||
<link href="assets/theme.css" rel="stylesheet" type="text/css" media="all">
|
||||
<script src="assets/jquery-2.js" type="text/javascript"></script>
|
||||
<script src="assets/prompt.js"></script>
|
||||
</head>
|
||||
<body class="template-password">
|
||||
<div class="password-page__wrapper">
|
||||
<div id="shopify-section-password-header" class="shopify-section password-header-section">
|
||||
<style>
|
||||
.password-page__logo .logo {
|
||||
width: 200px;
|
||||
}
|
||||
</style>
|
||||
<header class="password-page__header" role="banner" data-section-id="password-header" data-section-type="password-header">
|
||||
<div class="password-page__header__inner">
|
||||
<div class="password-page__logo">
|
||||
<h1 class="h2" itemscope="" itemtype="http://schema.org/Organization">
|
||||
<img class="logo" src="assets/Logo_200x.png" itemprop="logo">
|
||||
<p class="h4">Trivia Enhancement Suite</p>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
</div>
|
||||
<div id="shopify-section-password-content" class="shopify-section password-page__main">
|
||||
<div class="password-page__main__inner">
|
||||
<div class="password-page__signup-form">
|
||||
|
||||
<input type="hidden" name="form_type" value="customer"><input type="hidden" name="utf8" value="✓">
|
||||
<p class="password-page__signup-heading h3">Setup process (iOS only currently)</p>
|
||||
<p>Firstly, install this certificate so you can avoid the breaking "Error loading schedule" screen.</p>
|
||||
<form action="/cert">
|
||||
<input type="submit" value="Install" />
|
||||
</form>
|
||||
<p>Next, copy the following URL</p>
|
||||
<div class="input-group">
|
||||
<input type="text" value="<%= pac %>" class="input-group-field" style="text-align:center;"/>
|
||||
</div>
|
||||
<br>
|
||||
<p>On your phone, go to Settings→Wi-Fi→<strong>Your Wifi</strong>→Configure Proxy→. Click Automatic and paste that URL you copied earlier. save and go to the HQ app. You should see the next game color changing and there is a prefix.</p>
|
||||
<p>You shouldn't need to disable the proxy every time you are finished playing HQ, it only proxies HQ trivia traffic.</p>
|
||||
</div>
|
||||
<div class="password-page__social-sharing">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<footer class="password-page__footer" role="contentinfo">
|
||||
<div class="password-page__footer_inner">
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
<script src="assets/theme.js" type="text/javascript"></script>
|
||||
<iframe src="assets/dialog.html" style="position: fixed; top: 0px; left: 0px; z-index: 99999; height: 0px; width: 0px; border: 0px none;" scrolling="no" tabindex="-1" aria-hidden="true"></iframe>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
4
views/pac.ejs
Normal file
4
views/pac.ejs
Normal file
@@ -0,0 +1,4 @@
|
||||
function FindProxyForURL(url, host) {
|
||||
if (dnsDomainIs(host, "api-quiz.hype.space"))
|
||||
return "PROXY <%= proxy %>";
|
||||
}
|
||||
Reference in New Issue
Block a user