├── .gitignore ├── LICENCE ├── README.md ├── assemblies ├── distAssembly.xml └── webappAssembly.xml ├── jsOptimizer.js ├── lib ├── com │ └── db4o │ │ └── db4o-all-java5 │ │ ├── 8.0.249.16098 │ │ ├── db4o-all-java5-8.0.249.16098.jar │ │ └── db4o-all-java5-8.0.249.16098.pom │ │ └── maven-metadata-local.xml └── javascript │ └── r │ └── r.js ├── pom.xml ├── src ├── main │ ├── java │ │ └── strat │ │ │ └── mining │ │ │ └── stratum │ │ │ └── proxy │ │ │ ├── Launcher.java │ │ │ ├── callback │ │ │ ├── ConnectionClosedCallback.java │ │ │ ├── LongPollingCallback.java │ │ │ └── ResponseReceivedCallback.java │ │ │ ├── cli │ │ │ ├── BooleanArrayOptionHandler.java │ │ │ ├── CommandLineOptions.java │ │ │ ├── IntegerArrayOptionHandler.java │ │ │ └── LogLevelOptionHandler.java │ │ │ ├── configuration │ │ │ ├── ConfigurationManager.java │ │ │ └── model │ │ │ │ ├── Configuration.java │ │ │ │ └── Pool.java │ │ │ ├── constant │ │ │ └── Constants.java │ │ │ ├── database │ │ │ ├── DatabaseManager.java │ │ │ └── model │ │ │ │ └── HashrateModel.java │ │ │ ├── exception │ │ │ ├── AuthorizationException.java │ │ │ ├── BadParameterException.java │ │ │ ├── ChangeExtranonceNotSupportedException.java │ │ │ ├── NoCredentialsException.java │ │ │ ├── NoPoolAvailableException.java │ │ │ ├── NotConnectedException.java │ │ │ ├── NotFoundException.java │ │ │ ├── PoolStartException.java │ │ │ ├── TooManyWorkersException.java │ │ │ └── UnsupportedPoolSwitchingStrategyException.java │ │ │ ├── grizzly │ │ │ ├── CLStaticHttpHandlerWithIndexSupport.java │ │ │ └── StaticHttpHandlerWithCharset.java │ │ │ ├── json │ │ │ ├── ClientGetVersionRequest.java │ │ │ ├── ClientGetVersionResponse.java │ │ │ ├── ClientReconnectNotification.java │ │ │ ├── ClientShowMessageNotification.java │ │ │ ├── GetworkRequest.java │ │ │ ├── GetworkResponse.java │ │ │ ├── JsonRpcError.java │ │ │ ├── JsonRpcNotification.java │ │ │ ├── JsonRpcRequest.java │ │ │ ├── JsonRpcResponse.java │ │ │ ├── MiningAuthorizeRequest.java │ │ │ ├── MiningAuthorizeResponse.java │ │ │ ├── MiningExtranonceSubscribeRequest.java │ │ │ ├── MiningExtranonceSubscribeResponse.java │ │ │ ├── MiningGetTransactionsRequest.java │ │ │ ├── MiningNotifyNotification.java │ │ │ ├── MiningSetDifficultyNotification.java │ │ │ ├── MiningSetExtranonceNotification.java │ │ │ ├── MiningSubmitRequest.java │ │ │ ├── MiningSubmitResponse.java │ │ │ ├── MiningSubscribeRequest.java │ │ │ ├── MiningSubscribeResponse.java │ │ │ └── MiningSuggestDifficultyRequest.java │ │ │ ├── manager │ │ │ ├── AuthorizationManager.java │ │ │ ├── HashrateRecorder.java │ │ │ ├── LogManager.java │ │ │ ├── ProxyManager.java │ │ │ └── strategy │ │ │ │ ├── MonoCurrentPoolStrategyManager.java │ │ │ │ ├── PoolSwitchingStrategyFactory.java │ │ │ │ ├── PoolSwitchingStrategyManager.java │ │ │ │ ├── PriorityFailoverStrategyManager.java │ │ │ │ └── WeightedRoundRobinStrategyManager.java │ │ │ ├── model │ │ │ ├── Share.java │ │ │ └── User.java │ │ │ ├── network │ │ │ ├── Connection.java │ │ │ └── StratumConnection.java │ │ │ ├── pool │ │ │ ├── Pool.java │ │ │ └── PoolConnection.java │ │ │ ├── rest │ │ │ ├── ProxyResources.java │ │ │ ├── authentication │ │ │ │ ├── AuthenticationAddOn.java │ │ │ │ ├── AuthenticationFilter.java │ │ │ │ └── PubliclyAvailable.java │ │ │ ├── dto │ │ │ │ ├── AddPoolDTO.java │ │ │ │ ├── AddressDTO.java │ │ │ │ ├── AuthenticationDetails.java │ │ │ │ ├── ChangePriorityDTO.java │ │ │ │ ├── ConnectionIdentifierDTO.java │ │ │ │ ├── HashrateDTO.java │ │ │ │ ├── HashrateHistoryDTO.java │ │ │ │ ├── LogEntry.java │ │ │ │ ├── LogLevelDTO.java │ │ │ │ ├── PoolDetailsDTO.java │ │ │ │ ├── PoolNameDTO.java │ │ │ │ ├── PoolSwitchingStrategyDTO.java │ │ │ │ ├── ProxyVersionDTO.java │ │ │ │ ├── RemovePoolDTO.java │ │ │ │ ├── StatusDTO.java │ │ │ │ ├── SummaryDTO.java │ │ │ │ ├── TimestampDTO.java │ │ │ │ ├── UpdatePoolDTO.java │ │ │ │ ├── UserDetailsDTO.java │ │ │ │ ├── UserNameDTO.java │ │ │ │ └── WorkerConnectionDTO.java │ │ │ └── ssl │ │ │ │ ├── SSLRedirectAddOn.java │ │ │ │ └── SSLRedirectFilter.java │ │ │ ├── utils │ │ │ ├── ArrayUtils.java │ │ │ ├── AtomicBigInteger.java │ │ │ ├── EquatableWeakReference.java │ │ │ ├── HttpUtils.java │ │ │ ├── Timer.java │ │ │ └── mining │ │ │ │ ├── DifficultyUtils.java │ │ │ │ ├── HashrateUtils.java │ │ │ │ ├── SHA256HashingUtils.java │ │ │ │ ├── ScryptHashingUtils.java │ │ │ │ └── WorkerConnectionHashrateDelegator.java │ │ │ └── worker │ │ │ ├── GetworkJobSubmit.java │ │ │ ├── GetworkJobTemplate.java │ │ │ ├── GetworkRequestHandler.java │ │ │ ├── GetworkWorkerConnection.java │ │ │ ├── StratumWorkerConnection.java │ │ │ └── WorkerConnection.java │ └── resources │ │ ├── headerGPLv3Template.txt │ │ ├── log4j.xml │ │ ├── stratum-proxy-full-sample.conf │ │ ├── stratum-proxy-minimal-sample.conf │ │ └── webapp │ │ ├── .gitignore │ │ ├── .settings │ │ └── .gitignore │ │ ├── css │ │ ├── bootstrap-select.min.css │ │ ├── bootstrap-theme.css │ │ ├── bootstrap-theme.css.map │ │ ├── bootstrap-theme.min.css │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ ├── bootstrap.min.css │ │ └── stratumProxy.css │ │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ └── glyphicons-halflings-regular.woff │ │ ├── index.html │ │ ├── js │ │ ├── config.js │ │ ├── controllers │ │ │ ├── abstractPageController.js │ │ │ ├── addPoolPopup.js │ │ │ ├── confirmationPopup.js │ │ │ ├── connectionItem.js │ │ │ ├── connectionsPage.js │ │ │ ├── editPoolPopup.js │ │ │ ├── logsPage.js │ │ │ ├── poolItem.js │ │ │ ├── poolsPage.js │ │ │ ├── settingsPage.js │ │ │ ├── userItem.js │ │ │ └── usersPage.js │ │ ├── libs │ │ │ ├── bootstrap-select.js │ │ │ ├── bootstrap.js │ │ │ ├── d3.js │ │ │ ├── highstock.src.js │ │ │ ├── i18next-builder.js │ │ │ ├── i18next.amd.withJQuery.js │ │ │ ├── jquery-2.1.3.js │ │ │ ├── jquery-plugins │ │ │ │ ├── jquery-sort.js │ │ │ │ └── jquery-totop.js │ │ │ ├── json2.js │ │ │ ├── moment-with-locales.js │ │ │ ├── ractive.customDefaults.js │ │ │ ├── ractive.js │ │ │ ├── ractive.runtime.js │ │ │ ├── require.js │ │ │ └── requirejs-plugins │ │ │ │ ├── i18next.js │ │ │ │ └── rv.js │ │ ├── main.js │ │ ├── managers │ │ │ └── authenticationManager.js │ │ └── stratum-proxy-client.js │ │ ├── locales │ │ ├── en-gb │ │ │ └── stratumProxy.json │ │ ├── flags │ │ │ ├── ASEAN.png │ │ │ ├── Afghanistan.png │ │ │ ├── African Union(OAS).png │ │ │ ├── Albania.png │ │ │ ├── Algeria.png │ │ │ ├── American Samoa.png │ │ │ ├── Andorra.png │ │ │ ├── Angola.png │ │ │ ├── Anguilla.png │ │ │ ├── Antarctica.png │ │ │ ├── Antigua & Barbuda.png │ │ │ ├── Arab League.png │ │ │ ├── Argentina.png │ │ │ ├── Armenia.png │ │ │ ├── Aruba.png │ │ │ ├── Australia.png │ │ │ ├── Austria.png │ │ │ ├── Azerbaijan.png │ │ │ ├── Bahamas.png │ │ │ ├── Bahrain.png │ │ │ ├── Bangladesh.png │ │ │ ├── Barbados.png │ │ │ ├── Belarus.png │ │ │ ├── Belgium.png │ │ │ ├── Belize.png │ │ │ ├── Benin.png │ │ │ ├── Bermuda.png │ │ │ ├── Bhutan.png │ │ │ ├── Bolivia.png │ │ │ ├── Bosnia & Herzegovina.png │ │ │ ├── Botswana.png │ │ │ ├── Brazil.png │ │ │ ├── Brunei.png │ │ │ ├── Bulgaria.png │ │ │ ├── Burkina Faso.png │ │ │ ├── Burundi.png │ │ │ ├── CARICOM.png │ │ │ ├── CIS.png │ │ │ ├── Cambodja.png │ │ │ ├── Cameroon.png │ │ │ ├── Canada.png │ │ │ ├── Cape Verde.png │ │ │ ├── Cayman Islands.png │ │ │ ├── Central African Republic.png │ │ │ ├── Chad.png │ │ │ ├── Chile.png │ │ │ ├── China.png │ │ │ ├── Colombia.png │ │ │ ├── Commonwealth.png │ │ │ ├── Comoros.png │ │ │ ├── Congo-Brazzaville.png │ │ │ ├── Congo-Kinshasa(Zaire).png │ │ │ ├── Cook Islands.png │ │ │ ├── Costa Rica.png │ │ │ ├── Cote d'Ivoire.png │ │ │ ├── Croatia.png │ │ │ ├── Cuba.png │ │ │ ├── Cyprus.png │ │ │ ├── Czech Republic.png │ │ │ ├── Denmark.png │ │ │ ├── Djibouti.png │ │ │ ├── Dominica.png │ │ │ ├── Dominican Republic.png │ │ │ ├── Ecuador.png │ │ │ ├── Egypt.png │ │ │ ├── El Salvador.png │ │ │ ├── England.png │ │ │ ├── Equatorial Guinea.png │ │ │ ├── Eritrea.png │ │ │ ├── Estonia.png │ │ │ ├── Ethiopia.png │ │ │ ├── European Union.png │ │ │ ├── Faroes.png │ │ │ ├── Fiji.png │ │ │ ├── Finland.png │ │ │ ├── France.png │ │ │ ├── Gabon.png │ │ │ ├── Gambia.png │ │ │ ├── Georgia.png │ │ │ ├── Germany.png │ │ │ ├── Ghana.png │ │ │ ├── Gibraltar.png │ │ │ ├── Greece.png │ │ │ ├── Greenland.png │ │ │ ├── Grenada.png │ │ │ ├── Guadeloupe.png │ │ │ ├── Guam.png │ │ │ ├── Guatemala.png │ │ │ ├── Guernsey.png │ │ │ ├── Guinea-Bissau.png │ │ │ ├── Guinea.png │ │ │ ├── Guyana.png │ │ │ ├── Haiti.png │ │ │ ├── Honduras.png │ │ │ ├── Hong Kong.png │ │ │ ├── Hungary.png │ │ │ ├── Iceland.png │ │ │ ├── India.png │ │ │ ├── Indonesia.png │ │ │ ├── Iran.png │ │ │ ├── Iraq.png │ │ │ ├── Ireland.png │ │ │ ├── Islamic Conference.png │ │ │ ├── Isle of Man.png │ │ │ ├── Israel.png │ │ │ ├── Italy.png │ │ │ ├── Jamaica.png │ │ │ ├── Japan.png │ │ │ ├── Jersey.png │ │ │ ├── Jordan.png │ │ │ ├── Kazakhstan.png │ │ │ ├── Kenya.png │ │ │ ├── Kiribati.png │ │ │ ├── Kosovo.png │ │ │ ├── Kuwait.png │ │ │ ├── Kyrgyzstan.png │ │ │ ├── LIthuania.png │ │ │ ├── Laos.png │ │ │ ├── Latvia.png │ │ │ ├── Lebanon.png │ │ │ ├── Lesotho.png │ │ │ ├── Liberia.png │ │ │ ├── Libya.png │ │ │ ├── Liechtenstein.png │ │ │ ├── Luxembourg.png │ │ │ ├── Macao.png │ │ │ ├── Macedonia.png │ │ │ ├── Madagascar.png │ │ │ ├── Malawi.png │ │ │ ├── Malaysia.png │ │ │ ├── Maldives.png │ │ │ ├── Mali.png │ │ │ ├── Malta.png │ │ │ ├── Marshall Islands.png │ │ │ ├── Martinique.png │ │ │ ├── Mauritania.png │ │ │ ├── Mauritius.png │ │ │ ├── Mexico.png │ │ │ ├── Micronesia.png │ │ │ ├── Moldova.png │ │ │ ├── Monaco.png │ │ │ ├── Mongolia.png │ │ │ ├── Montenegro.png │ │ │ ├── Montserrat.png │ │ │ ├── Morocco.png │ │ │ ├── Mozambique.png │ │ │ ├── Myanmar(Burma).png │ │ │ ├── NATO.png │ │ │ ├── Namibia.png │ │ │ ├── Nauru.png │ │ │ ├── Nepal.png │ │ │ ├── Netherlands Antilles.png │ │ │ ├── Netherlands.png │ │ │ ├── New Caledonia.png │ │ │ ├── New Zealand.png │ │ │ ├── Nicaragua.png │ │ │ ├── Niger.png │ │ │ ├── Nigeria.png │ │ │ ├── North Korea.png │ │ │ ├── Northern Cyprus.png │ │ │ ├── Northern Ireland.png │ │ │ ├── Norway.png │ │ │ ├── OPEC.png │ │ │ ├── Olimpic Movement.png │ │ │ ├── Oman.png │ │ │ ├── Pakistan.png │ │ │ ├── Palau.png │ │ │ ├── Palestine.png │ │ │ ├── Panama.png │ │ │ ├── Papua New Guinea.png │ │ │ ├── Paraguay.png │ │ │ ├── Peru.png │ │ │ ├── Philippines.png │ │ │ ├── Poland.png │ │ │ ├── Portugal.png │ │ │ ├── Puerto Rico.png │ │ │ ├── Qatar.png │ │ │ ├── Red Cross.png │ │ │ ├── Reunion.png │ │ │ ├── Romania.png │ │ │ ├── Russian Federation.png │ │ │ ├── Rwanda.png │ │ │ ├── Saint Lucia.png │ │ │ ├── Samoa.png │ │ │ ├── San Marino.png │ │ │ ├── Sao Tome & Principe.png │ │ │ ├── Saudi Arabia.png │ │ │ ├── Scotland.png │ │ │ ├── Senegal.png │ │ │ ├── Serbia(Yugoslavia).png │ │ │ ├── Seychelles.png │ │ │ ├── Sierra Leone.png │ │ │ ├── Singapore.png │ │ │ ├── Slovakia.png │ │ │ ├── Slovenia.png │ │ │ ├── Solomon Islands.png │ │ │ ├── Somalia.png │ │ │ ├── Somaliland.png │ │ │ ├── South Africa.png │ │ │ ├── South Korea.png │ │ │ ├── Spain.png │ │ │ ├── Sri Lanka.png │ │ │ ├── St Kitts & Nevis.png │ │ │ ├── St Vincent & the Grenadines.png │ │ │ ├── Sudan.png │ │ │ ├── Suriname.png │ │ │ ├── Swaziland.png │ │ │ ├── Sweden.png │ │ │ ├── Switzerland.png │ │ │ ├── Syria.png │ │ │ ├── Tahiti(French Polinesia).png │ │ │ ├── Taiwan.png │ │ │ ├── Tajikistan.png │ │ │ ├── Tanzania.png │ │ │ ├── Thailand.png │ │ │ ├── Timor-Leste.png │ │ │ ├── Togo.png │ │ │ ├── Tonga.png │ │ │ ├── Trinidad & Tobago.png │ │ │ ├── Tunisia.png │ │ │ ├── Turkey.png │ │ │ ├── Turkmenistan.png │ │ │ ├── Turks and Caicos Islands.png │ │ │ ├── Tuvalu.png │ │ │ ├── Uganda.png │ │ │ ├── Ukraine.png │ │ │ ├── United Arab Emirates.png │ │ │ ├── United Kingdom(Great Britain).png │ │ │ ├── United Nations.png │ │ │ ├── United States of America (USA).png │ │ │ ├── Uruguay.png │ │ │ ├── Uzbekistan.png │ │ │ ├── Vanutau.png │ │ │ ├── Vatican City.png │ │ │ ├── Venezuela.png │ │ │ ├── Viet Nam.png │ │ │ ├── Virgin Islands British.png │ │ │ ├── Virgin Islands US.png │ │ │ ├── Wales.png │ │ │ ├── Western Sahara.png │ │ │ ├── Yemen.png │ │ │ ├── Zambia.png │ │ │ └── Zimbabwe.png │ │ ├── fr-fr │ │ │ └── stratumProxy.json │ │ └── localesConfig.js │ │ └── ui │ │ └── templates │ │ ├── addPoolPopup.html │ │ ├── confirmationPopup.html │ │ ├── connectionItem.html │ │ ├── connectionsPage.html │ │ ├── editPoolPopup.html │ │ ├── logsPage.html │ │ ├── mainContainer.html │ │ ├── poolItem.html │ │ ├── poolsPage.html │ │ ├── settingsPage.html │ │ ├── userItem.html │ │ └── usersPage.html └── test │ ├── java │ └── strat │ │ └── mining │ │ └── stratum │ │ └── proxy │ │ └── test │ │ └── Test.java │ └── resources │ ├── stratum-proxy-full-sample-scrypt.conf │ └── stratum-proxy-full-sample.conf └── swaggerTemplates ├── html.mustache └── markdown.mustache /.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | /.classpath 3 | /.project 4 | /.settings 5 | -------------------------------------------------------------------------------- /assemblies/distAssembly.xml: -------------------------------------------------------------------------------- 1 | 2 | zip-package 3 | 4 | zip 5 | 6 | true 7 | 8 | 9 | false 10 | /lib 11 | 12 | 13 | 14 | 15 | ${project.build.directory}/stratum-proxy-${project.version}.jar 16 | 17 | / 18 | stratum-proxy.jar 19 | 20 | 21 | ${basedir}/LICENCE 22 | / 23 | 24 | 25 | ${basedir}/README.md 26 | / 27 | 28 | 29 | src/main/resources/stratum-proxy-full-sample.conf 30 | / 31 | 32 | 33 | src/main/resources/stratum-proxy-minimal-sample.conf 34 | / 35 | 36 | 37 | ${project.build.directory}/lib/stratum-proxy-webapp.jar 38 | /lib 39 | 40 | 41 | -------------------------------------------------------------------------------- /assemblies/webappAssembly.xml: -------------------------------------------------------------------------------- 1 | 2 | webapp 3 | 4 | jar 5 | 6 | false 7 | 8 | 9 | 10 | target/webapp-optimizer 11 | / 12 | 13 | 14 | -------------------------------------------------------------------------------- /jsOptimizer.js: -------------------------------------------------------------------------------- 1 | ({ 2 | appDir: "${basedir}/src/main/resources/webapp", 3 | baseUrl: "js", 4 | dir: "${project.build.directory}/webapp-optimizer", 5 | mainConfigFile: "${basedir}/src/main/resources/webapp/js/main.js", 6 | modules: [{ 7 | name: "main", 8 | include: ['controllers/abstractPageController', 'controllers/poolsPage', 'controllers/usersPage', 'controllers/connectionsPage', 'controllers/settingsPage', 'controllers/logsPage'] 9 | }], 10 | optimizeCss: "standard", 11 | optimize: "uglify2", 12 | generateSourceMaps: true, 13 | preserveLicenseComments: false 14 | }) -------------------------------------------------------------------------------- /lib/com/db4o/db4o-all-java5/8.0.249.16098/db4o-all-java5-8.0.249.16098.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/lib/com/db4o/db4o-all-java5/8.0.249.16098/db4o-all-java5-8.0.249.16098.jar -------------------------------------------------------------------------------- /lib/com/db4o/db4o-all-java5/8.0.249.16098/db4o-all-java5-8.0.249.16098.pom: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | com.db4o 6 | db4o-all-java5 7 | 8.0.249.16098 8 | POM was created from install:install-file 9 | 10 | -------------------------------------------------------------------------------- /lib/com/db4o/db4o-all-java5/maven-metadata-local.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | com.db4o 4 | db4o-all-java5 5 | 6 | 8.0.249.16098 7 | 8 | 8.0.249.16098 9 | 10 | 20140715090951 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/callback/ConnectionClosedCallback.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.callback; 20 | 21 | import strat.mining.stratum.proxy.worker.WorkerConnection; 22 | 23 | /** 24 | * Called when a connection has been closed. 25 | * 26 | * @author Strat 27 | * 28 | */ 29 | public interface ConnectionClosedCallback { 30 | 31 | /** 32 | * Called when the connection given in parameters is closed. 33 | * 34 | * @param connection 35 | */ 36 | public void onConnectionClosed(WorkerConnection connection); 37 | 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/callback/LongPollingCallback.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.callback; 20 | 21 | import java.util.concurrent.atomic.AtomicLong; 22 | 23 | /** 24 | * Callback of long polling requests 25 | * 26 | * @author Strat 27 | * 28 | */ 29 | public abstract class LongPollingCallback { 30 | 31 | private static AtomicLong callbackCounter = new AtomicLong(0); 32 | 33 | private long id; 34 | 35 | public LongPollingCallback() { 36 | id = callbackCounter.getAndIncrement(); 37 | } 38 | 39 | /** 40 | * Called when a long polling request has to be replied. 41 | * 42 | * @param jsonResponse 43 | */ 44 | public abstract void onLongPollingResume(); 45 | 46 | /** 47 | * Called when a long polling request has to be cancelled. 48 | */ 49 | public abstract void onLongPollingCancel(String causeMessage); 50 | 51 | @Override 52 | public int hashCode() { 53 | final int prime = 31; 54 | int result = 1; 55 | result = prime * result + (int) (id ^ (id >>> 32)); 56 | return result; 57 | } 58 | 59 | @Override 60 | public boolean equals(Object obj) { 61 | if (this == obj) 62 | return true; 63 | if (obj == null) 64 | return false; 65 | if (getClass() != obj.getClass()) 66 | return false; 67 | LongPollingCallback other = (LongPollingCallback) obj; 68 | if (id != other.id) 69 | return false; 70 | return true; 71 | } 72 | 73 | } 74 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/callback/ResponseReceivedCallback.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.callback; 20 | 21 | import strat.mining.stratum.proxy.json.JsonRpcRequest; 22 | import strat.mining.stratum.proxy.json.JsonRpcResponse; 23 | 24 | public interface ResponseReceivedCallback { 25 | 26 | /** 27 | * Called when a response is received for the given request. 28 | * 29 | * @param request 30 | * @param response 31 | */ 32 | public void onResponseReceived(R request, T response); 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/cli/IntegerArrayOptionHandler.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.cli; 20 | 21 | import org.kohsuke.args4j.CmdLineException; 22 | import org.kohsuke.args4j.CmdLineParser; 23 | import org.kohsuke.args4j.OptionDef; 24 | import org.kohsuke.args4j.spi.OptionHandler; 25 | import org.kohsuke.args4j.spi.Parameters; 26 | import org.kohsuke.args4j.spi.Setter; 27 | 28 | public class IntegerArrayOptionHandler extends OptionHandler { 29 | 30 | public IntegerArrayOptionHandler(CmdLineParser parser, OptionDef option, Setter setter) { 31 | super(parser, option, setter); 32 | } 33 | 34 | @Override 35 | public String getDefaultMetaVariable() { 36 | return "INTEGER[]"; 37 | } 38 | 39 | @Override 40 | public int parseArguments(Parameters params) throws CmdLineException { 41 | int counter = 0; 42 | for (; counter < params.size(); counter++) { 43 | String param = params.getParameter(counter); 44 | 45 | if (param.startsWith("-")) { 46 | break; 47 | } 48 | 49 | for (String p : param.split(" ")) { 50 | setter.addValue(Integer.parseInt(p)); 51 | } 52 | } 53 | 54 | return counter; 55 | } 56 | 57 | } 58 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/cli/LogLevelOptionHandler.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.cli; 20 | 21 | import org.apache.log4j.Level; 22 | import org.kohsuke.args4j.CmdLineException; 23 | import org.kohsuke.args4j.CmdLineParser; 24 | import org.kohsuke.args4j.OptionDef; 25 | import org.kohsuke.args4j.spi.OneArgumentOptionHandler; 26 | import org.kohsuke.args4j.spi.Setter; 27 | 28 | public class LogLevelOptionHandler extends OneArgumentOptionHandler { 29 | 30 | public LogLevelOptionHandler(CmdLineParser parser, OptionDef option, Setter setter) { 31 | super(parser, option, setter); 32 | } 33 | 34 | @Override 35 | protected Level parse(String argument) throws NumberFormatException, CmdLineException { 36 | return Level.toLevel(argument); 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/database/model/HashrateModel.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.database.model; 20 | 21 | 22 | public class HashrateModel { 23 | 24 | private String name; 25 | private Long acceptedHashrate; 26 | private Long rejectedHashrate; 27 | private Long captureTime; 28 | 29 | public String getName() { 30 | return name; 31 | } 32 | 33 | public void setName(String name) { 34 | this.name = name; 35 | } 36 | 37 | public Long getAcceptedHashrate() { 38 | return acceptedHashrate; 39 | } 40 | 41 | public void setAcceptedHashrate(Long acceptedHashrate) { 42 | this.acceptedHashrate = acceptedHashrate; 43 | } 44 | 45 | public Long getRejectedHashrate() { 46 | return rejectedHashrate; 47 | } 48 | 49 | public void setRejectedHashrate(Long rejectedHashrate) { 50 | this.rejectedHashrate = rejectedHashrate; 51 | } 52 | 53 | public Long getCaptureTime() { 54 | return captureTime; 55 | } 56 | 57 | public void setCaptureTime(Long captureTime) { 58 | this.captureTime = captureTime; 59 | } 60 | 61 | } 62 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/exception/AuthorizationException.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.exception; 20 | 21 | public class AuthorizationException extends Exception { 22 | 23 | public AuthorizationException() { 24 | super(); 25 | } 26 | 27 | public AuthorizationException(String message, Throwable cause) { 28 | super(message, cause); 29 | } 30 | 31 | public AuthorizationException(String message) { 32 | super(message); 33 | } 34 | 35 | public AuthorizationException(Throwable cause) { 36 | super(cause); 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/exception/BadParameterException.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.exception; 20 | 21 | public class BadParameterException extends Exception { 22 | 23 | public BadParameterException() { 24 | super(); 25 | } 26 | 27 | public BadParameterException(String message, Throwable cause) { 28 | super(message, cause); 29 | } 30 | 31 | public BadParameterException(String message) { 32 | super(message); 33 | } 34 | 35 | public BadParameterException(Throwable cause) { 36 | super(cause); 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/exception/ChangeExtranonceNotSupportedException.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.exception; 20 | 21 | public class ChangeExtranonceNotSupportedException extends Exception { 22 | 23 | public ChangeExtranonceNotSupportedException() { 24 | super(); 25 | } 26 | 27 | public ChangeExtranonceNotSupportedException(String message, Throwable cause) { 28 | super(message, cause); 29 | } 30 | 31 | public ChangeExtranonceNotSupportedException(String message) { 32 | super(message); 33 | } 34 | 35 | public ChangeExtranonceNotSupportedException(Throwable cause) { 36 | super(cause); 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/exception/NoCredentialsException.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.exception; 20 | 21 | public class NoCredentialsException extends Exception { 22 | 23 | public NoCredentialsException() { 24 | super(); 25 | } 26 | 27 | public NoCredentialsException(String message, Throwable cause) { 28 | super(message, cause); 29 | } 30 | 31 | public NoCredentialsException(String message) { 32 | super(message); 33 | } 34 | 35 | public NoCredentialsException(Throwable cause) { 36 | super(cause); 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/exception/NoPoolAvailableException.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.exception; 20 | 21 | public class NoPoolAvailableException extends Exception { 22 | 23 | public NoPoolAvailableException() { 24 | super(); 25 | } 26 | 27 | public NoPoolAvailableException(String message, Throwable cause) { 28 | super(message, cause); 29 | } 30 | 31 | public NoPoolAvailableException(String message) { 32 | super(message); 33 | } 34 | 35 | public NoPoolAvailableException(Throwable cause) { 36 | super(cause); 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/exception/NotConnectedException.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.exception; 20 | 21 | public class NotConnectedException extends Exception { 22 | 23 | public NotConnectedException() { 24 | super(); 25 | } 26 | 27 | public NotConnectedException(String message, Throwable cause) { 28 | super(message, cause); 29 | } 30 | 31 | public NotConnectedException(String message) { 32 | super(message); 33 | } 34 | 35 | public NotConnectedException(Throwable cause) { 36 | super(cause); 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/exception/NotFoundException.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.exception; 20 | 21 | public class NotFoundException extends Exception { 22 | 23 | public NotFoundException() { 24 | super(); 25 | } 26 | 27 | public NotFoundException(String message, Throwable cause) { 28 | super(message, cause); 29 | } 30 | 31 | public NotFoundException(String message) { 32 | super(message); 33 | } 34 | 35 | public NotFoundException(Throwable cause) { 36 | super(cause); 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/exception/PoolStartException.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.exception; 20 | 21 | public class PoolStartException extends Exception { 22 | 23 | public PoolStartException() { 24 | super(); 25 | } 26 | 27 | public PoolStartException(String message, Throwable cause) { 28 | super(message, cause); 29 | } 30 | 31 | public PoolStartException(String message) { 32 | super(message); 33 | } 34 | 35 | public PoolStartException(Throwable cause) { 36 | super(cause); 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/exception/TooManyWorkersException.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.exception; 20 | 21 | public class TooManyWorkersException extends Exception { 22 | 23 | public TooManyWorkersException() { 24 | super(); 25 | } 26 | 27 | public TooManyWorkersException(String message, Throwable cause) { 28 | super(message, cause); 29 | } 30 | 31 | public TooManyWorkersException(String message) { 32 | super(message); 33 | } 34 | 35 | public TooManyWorkersException(Throwable cause) { 36 | super(cause); 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/exception/UnsupportedPoolSwitchingStrategyException.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.exception; 20 | 21 | public class UnsupportedPoolSwitchingStrategyException extends RuntimeException { 22 | 23 | public UnsupportedPoolSwitchingStrategyException() { 24 | super(); 25 | } 26 | 27 | public UnsupportedPoolSwitchingStrategyException(String message, Throwable cause) { 28 | super(message, cause); 29 | } 30 | 31 | public UnsupportedPoolSwitchingStrategyException(String message) { 32 | super(message); 33 | } 34 | 35 | public UnsupportedPoolSwitchingStrategyException(Throwable cause) { 36 | super(cause); 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/json/ClientGetVersionRequest.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.json; 20 | 21 | import java.util.List; 22 | 23 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 24 | 25 | @JsonIgnoreProperties(ignoreUnknown = true) 26 | public class ClientGetVersionRequest extends JsonRpcRequest { 27 | 28 | public static final String METHOD_NAME = "client.get_version"; 29 | 30 | public ClientGetVersionRequest() { 31 | super(METHOD_NAME); 32 | } 33 | 34 | public ClientGetVersionRequest(JsonRpcRequest request) { 35 | super(request); 36 | } 37 | 38 | @Override 39 | public List getParams() { 40 | return super.getParams(); 41 | } 42 | 43 | @Override 44 | public void setParams(List params) { 45 | super.setParams(params); 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/json/ClientGetVersionResponse.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.json; 20 | 21 | import com.fasterxml.jackson.annotation.JsonIgnore; 22 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 23 | 24 | @JsonIgnoreProperties(ignoreUnknown = true) 25 | public class ClientGetVersionResponse extends JsonRpcResponse { 26 | 27 | @JsonIgnore 28 | private String version; 29 | 30 | public ClientGetVersionResponse() { 31 | super(); 32 | } 33 | 34 | public String getVersion() { 35 | return version; 36 | } 37 | 38 | public void setVersion(String version) { 39 | this.version = version; 40 | } 41 | 42 | public ClientGetVersionResponse(JsonRpcResponse response) { 43 | super(response); 44 | } 45 | 46 | @Override 47 | public Object getResult() { 48 | return version; 49 | } 50 | 51 | @Override 52 | public void setResult(Object result) { 53 | version = (String) result; 54 | } 55 | 56 | } 57 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/json/ClientReconnectNotification.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.json; 20 | 21 | import java.util.ArrayList; 22 | import java.util.List; 23 | 24 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 25 | 26 | @JsonIgnoreProperties(ignoreUnknown = true) 27 | public class ClientReconnectNotification extends JsonRpcNotification { 28 | 29 | public static final String METHOD_NAME = "client.reconnect"; 30 | 31 | private String host; 32 | private Integer port; 33 | 34 | public ClientReconnectNotification() { 35 | super(METHOD_NAME); 36 | } 37 | 38 | public ClientReconnectNotification(JsonRpcNotification notification) { 39 | super(notification); 40 | } 41 | 42 | public String getHost() { 43 | return host; 44 | } 45 | 46 | public void setHost(String host) { 47 | this.host = host; 48 | } 49 | 50 | public Integer getPort() { 51 | return port; 52 | } 53 | 54 | public void setPort(Integer port) { 55 | this.port = port; 56 | } 57 | 58 | @Override 59 | public List getParams() { 60 | if (super.getParams() == null) { 61 | List params = new ArrayList(); 62 | super.setParams(params); 63 | params.add(host); 64 | params.add(port); 65 | } 66 | return super.getParams(); 67 | } 68 | 69 | @Override 70 | public void setParams(List params) { 71 | super.setParams(params); 72 | if (params != null) { 73 | host = getParamsObjectAtIndex(0); 74 | if (getParamsObjectAtIndex(1) != null) { 75 | // Some pools send the port as an integer, other as a string. 76 | if (getParamsObjectAtIndex(1) instanceof Number) { 77 | port = ((Number) getParamsObjectAtIndex(1)).intValue(); 78 | } else if (getParamsObjectAtIndex(1) instanceof String) { 79 | port = Integer.valueOf((String) getParamsObjectAtIndex(1)); 80 | } 81 | } else { 82 | port = null; 83 | } 84 | 85 | } 86 | } 87 | 88 | } 89 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/json/ClientShowMessageNotification.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.json; 20 | 21 | import java.util.ArrayList; 22 | import java.util.List; 23 | 24 | import com.fasterxml.jackson.annotation.JsonIgnore; 25 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 26 | 27 | @JsonIgnoreProperties(ignoreUnknown = true) 28 | public class ClientShowMessageNotification extends JsonRpcNotification { 29 | 30 | public static final String METHOD_NAME = "client.show_message"; 31 | 32 | @JsonIgnore 33 | private String message; 34 | 35 | public ClientShowMessageNotification() { 36 | super(METHOD_NAME); 37 | } 38 | 39 | public ClientShowMessageNotification(JsonRpcNotification notification) { 40 | super(notification); 41 | } 42 | 43 | @Override 44 | public List getParams() { 45 | if (super.getParams() == null) { 46 | List params = new ArrayList(); 47 | super.setParams(params); 48 | params.add(message); 49 | } 50 | return super.getParams(); 51 | } 52 | 53 | @Override 54 | public void setParams(List params) { 55 | super.setParams(params); 56 | if (params != null) { 57 | message = (String) params.get(0); 58 | } 59 | } 60 | 61 | public String getMessage() { 62 | return message; 63 | } 64 | 65 | public void setMessage(String message) { 66 | this.message = message; 67 | } 68 | 69 | } 70 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/json/GetworkRequest.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.json; 20 | 21 | import java.util.ArrayList; 22 | import java.util.List; 23 | 24 | import com.fasterxml.jackson.annotation.JsonIgnore; 25 | 26 | public class GetworkRequest extends JsonRpcRequest { 27 | 28 | public static final String METHOD_NAME = "getwork"; 29 | 30 | @JsonIgnore 31 | private String data; 32 | 33 | public GetworkRequest() { 34 | super(METHOD_NAME); 35 | } 36 | 37 | public String getData() { 38 | return data; 39 | } 40 | 41 | public void setData(String data) { 42 | this.data = data; 43 | } 44 | 45 | @Override 46 | public List getParams() { 47 | if (super.getParams() == null) { 48 | List params = new ArrayList(); 49 | super.setParams(params); 50 | if (data != null) { 51 | params.add(data); 52 | } 53 | } 54 | return super.getParams(); 55 | } 56 | 57 | @Override 58 | public void setParams(List params) { 59 | super.setParams(params); 60 | if (params != null && params.size() > 0) { 61 | data = (String) params.get(0); 62 | } 63 | } 64 | 65 | } 66 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/json/JsonRpcError.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.json; 20 | 21 | public class JsonRpcError { 22 | 23 | public enum ErrorCode { 24 | 25 | UNKNOWN(20), JOB_NOT_FOUND(21), DUPLICATE_SHARE(22), LOW_DIFFICULTY_SHARE(23), UNAUTHORIZED_WORKER(24), NOT_SUBSCRIBED(25); 26 | 27 | private int code; 28 | 29 | private ErrorCode(int code) { 30 | this.code = code; 31 | } 32 | 33 | public int getCode() { 34 | return this.code; 35 | } 36 | 37 | public static ErrorCode getErrorFromCode(int errorCode) { 38 | ErrorCode result = UNKNOWN; 39 | for (ErrorCode error : ErrorCode.values()) { 40 | if (error.getCode() == errorCode) { 41 | result = error; 42 | } 43 | } 44 | return result; 45 | } 46 | 47 | } 48 | 49 | private Integer code; 50 | private String message; 51 | private Object traceback; 52 | 53 | public Integer getCode() { 54 | return code; 55 | } 56 | 57 | public void setCode(Integer code) { 58 | this.code = code; 59 | } 60 | 61 | public String getMessage() { 62 | return message; 63 | } 64 | 65 | public void setMessage(String message) { 66 | this.message = message; 67 | } 68 | 69 | public Object getTraceback() { 70 | return traceback; 71 | } 72 | 73 | public void setTraceback(Object traceback) { 74 | this.traceback = traceback; 75 | } 76 | 77 | @Override 78 | public String toString() { 79 | StringBuilder builder = new StringBuilder(); 80 | builder.append("JsonRpcError [code="); 81 | builder.append(code); 82 | builder.append(", message="); 83 | builder.append(message); 84 | builder.append(", traceback="); 85 | builder.append(traceback); 86 | builder.append("]"); 87 | return builder.toString(); 88 | } 89 | 90 | } 91 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/json/MiningAuthorizeRequest.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.json; 20 | 21 | import java.util.ArrayList; 22 | import java.util.List; 23 | 24 | import com.fasterxml.jackson.annotation.JsonIgnore; 25 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 26 | 27 | @JsonIgnoreProperties(ignoreUnknown = true) 28 | public class MiningAuthorizeRequest extends JsonRpcRequest { 29 | 30 | public static final String METHOD_NAME = "mining.authorize"; 31 | 32 | @JsonIgnore 33 | private String username; 34 | @JsonIgnore 35 | private String password; 36 | 37 | public MiningAuthorizeRequest() { 38 | super(METHOD_NAME); 39 | } 40 | 41 | public MiningAuthorizeRequest(JsonRpcRequest request) { 42 | super(request); 43 | } 44 | 45 | public String getUsername() { 46 | return username; 47 | } 48 | 49 | public void setUsername(String username) { 50 | this.username = username; 51 | } 52 | 53 | public String getPassword() { 54 | return password; 55 | } 56 | 57 | public void setPassword(String password) { 58 | this.password = password; 59 | } 60 | 61 | @Override 62 | public List getParams() { 63 | if (super.getParams() == null) { 64 | List params = new ArrayList(); 65 | super.setParams(params); 66 | params.add(username); 67 | params.add(password); 68 | } 69 | return super.getParams(); 70 | } 71 | 72 | @Override 73 | public void setParams(List params) { 74 | super.setParams(params); 75 | if (params != null) { 76 | username = (String) params.get(0); 77 | password = (String) params.get(1); 78 | } 79 | } 80 | 81 | } 82 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/json/MiningAuthorizeResponse.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.json; 20 | 21 | import com.fasterxml.jackson.annotation.JsonIgnore; 22 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 23 | 24 | @JsonIgnoreProperties(ignoreUnknown = true) 25 | public class MiningAuthorizeResponse extends JsonRpcResponse { 26 | 27 | @JsonIgnore 28 | private Boolean isAuthorized; 29 | 30 | public MiningAuthorizeResponse() { 31 | super(); 32 | } 33 | 34 | public MiningAuthorizeResponse(JsonRpcResponse response) { 35 | super(response); 36 | } 37 | 38 | public Boolean getIsAuthorized() { 39 | return isAuthorized; 40 | } 41 | 42 | public void setIsAuthorized(Boolean isAuthorized) { 43 | this.isAuthorized = isAuthorized; 44 | } 45 | 46 | @Override 47 | public Object getResult() { 48 | return isAuthorized; 49 | } 50 | 51 | @Override 52 | public void setResult(Object result) { 53 | this.isAuthorized = (Boolean) result; 54 | } 55 | 56 | } 57 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/json/MiningExtranonceSubscribeRequest.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.json; 20 | 21 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 22 | 23 | @JsonIgnoreProperties(ignoreUnknown = true) 24 | public class MiningExtranonceSubscribeRequest extends JsonRpcRequest { 25 | 26 | public static final String METHOD_NAME = "mining.extranonce.subscribe"; 27 | 28 | public MiningExtranonceSubscribeRequest() { 29 | super(METHOD_NAME); 30 | } 31 | 32 | public MiningExtranonceSubscribeRequest(JsonRpcRequest request) { 33 | super(request); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/json/MiningExtranonceSubscribeResponse.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.json; 20 | 21 | import java.util.ArrayList; 22 | import java.util.List; 23 | 24 | import com.fasterxml.jackson.annotation.JsonIgnore; 25 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 26 | 27 | @JsonIgnoreProperties(ignoreUnknown = true) 28 | public class MiningExtranonceSubscribeResponse extends JsonRpcResponse { 29 | 30 | @JsonIgnore 31 | private Boolean isSubscribed; 32 | 33 | public MiningExtranonceSubscribeResponse() { 34 | super(); 35 | } 36 | 37 | public MiningExtranonceSubscribeResponse(JsonRpcResponse response) { 38 | super(response); 39 | } 40 | 41 | public Boolean getIsSubscribed() { 42 | return isSubscribed; 43 | } 44 | 45 | public void setIsSubscribed(Boolean isSubscribed) { 46 | this.isSubscribed = isSubscribed; 47 | } 48 | 49 | @Override 50 | public Object getResult() { 51 | if (super.getResult() == null) { 52 | List result = new ArrayList(); 53 | super.setResult(result); 54 | result.add(isSubscribed); 55 | } 56 | return super.getResult(); 57 | } 58 | 59 | @Override 60 | public void setResult(Object result) { 61 | super.setResult(result); 62 | if (result != null) { 63 | isSubscribed = (Boolean) result; 64 | } 65 | } 66 | 67 | } 68 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/json/MiningGetTransactionsRequest.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.json; 20 | 21 | import java.util.ArrayList; 22 | import java.util.List; 23 | 24 | import com.fasterxml.jackson.annotation.JsonIgnore; 25 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 26 | 27 | @JsonIgnoreProperties(ignoreUnknown = true) 28 | public class MiningGetTransactionsRequest extends JsonRpcRequest { 29 | 30 | public static final String METHOD_NAME = "mining.get_transactions"; 31 | 32 | @JsonIgnore 33 | private String jobId; 34 | 35 | public MiningGetTransactionsRequest() { 36 | super(METHOD_NAME); 37 | } 38 | 39 | public MiningGetTransactionsRequest(JsonRpcRequest request) { 40 | super(request); 41 | } 42 | 43 | public String getJobId() { 44 | return jobId; 45 | } 46 | 47 | public void setJobId(String jobId) { 48 | this.jobId = jobId; 49 | } 50 | 51 | @Override 52 | public List getParams() { 53 | if (super.getParams() == null) { 54 | ArrayList params = new ArrayList(); 55 | super.setParams(params); 56 | params.add(jobId); 57 | } 58 | return super.getParams(); 59 | } 60 | 61 | @Override 62 | public void setParams(List params) { 63 | super.setParams(params); 64 | if (params != null) { 65 | jobId = (String) params.get(0); 66 | } 67 | } 68 | 69 | } 70 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/json/MiningSetDifficultyNotification.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.json; 20 | 21 | import java.util.ArrayList; 22 | import java.util.List; 23 | 24 | import com.fasterxml.jackson.annotation.JsonIgnore; 25 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 26 | 27 | @JsonIgnoreProperties(ignoreUnknown = true) 28 | public class MiningSetDifficultyNotification extends JsonRpcNotification { 29 | 30 | public static final String METHOD_NAME = "mining.set_difficulty"; 31 | 32 | @JsonIgnore 33 | private Double difficulty; 34 | 35 | public MiningSetDifficultyNotification() { 36 | super(METHOD_NAME); 37 | } 38 | 39 | public MiningSetDifficultyNotification(JsonRpcNotification notification) { 40 | super(notification); 41 | } 42 | 43 | public Double getDifficulty() { 44 | return difficulty; 45 | } 46 | 47 | public void setDifficulty(Double difficulty) { 48 | this.difficulty = difficulty; 49 | } 50 | 51 | @Override 52 | public List getParams() { 53 | if (super.getParams() == null) { 54 | List params = new ArrayList(); 55 | super.setParams(params); 56 | params.add(difficulty); 57 | } 58 | return super.getParams(); 59 | } 60 | 61 | @Override 62 | public void setParams(List params) { 63 | super.setParams(params); 64 | if (params != null) { 65 | difficulty = ((Number) getParamsObjectAtIndex(0)).doubleValue(); 66 | } 67 | } 68 | 69 | } 70 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/json/MiningSetExtranonceNotification.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.json; 20 | 21 | import java.util.ArrayList; 22 | import java.util.List; 23 | 24 | import com.fasterxml.jackson.annotation.JsonIgnore; 25 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 26 | 27 | @JsonIgnoreProperties(ignoreUnknown = true) 28 | public class MiningSetExtranonceNotification extends JsonRpcNotification { 29 | 30 | public static final String METHOD_NAME = "mining.set_extranonce"; 31 | 32 | @JsonIgnore 33 | private String extranonce1; 34 | @JsonIgnore 35 | private Integer extranonce2Size; 36 | 37 | public MiningSetExtranonceNotification() { 38 | super(METHOD_NAME); 39 | } 40 | 41 | public MiningSetExtranonceNotification(JsonRpcNotification notification) { 42 | super(notification); 43 | } 44 | 45 | public String getExtranonce1() { 46 | return extranonce1; 47 | } 48 | 49 | public void setExtranonce1(String extranonce1) { 50 | this.extranonce1 = extranonce1; 51 | } 52 | 53 | public Integer getExtranonce2Size() { 54 | return extranonce2Size; 55 | } 56 | 57 | public void setExtranonce2Size(Integer extranonce2Size) { 58 | this.extranonce2Size = extranonce2Size; 59 | } 60 | 61 | @Override 62 | public List getParams() { 63 | if (super.getParams() == null) { 64 | List params = new ArrayList(); 65 | super.setParams(params); 66 | params.add(extranonce1); 67 | params.add(extranonce2Size); 68 | } 69 | return super.getParams(); 70 | } 71 | 72 | @Override 73 | public void setParams(List params) { 74 | super.setParams(params); 75 | if (params != null) { 76 | extranonce1 = getParamsObjectAtIndex(0); 77 | extranonce2Size = ((Number) getParamsObjectAtIndex(1)).intValue(); 78 | } 79 | } 80 | 81 | } 82 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/json/MiningSubmitResponse.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.json; 20 | 21 | import com.fasterxml.jackson.annotation.JsonIgnore; 22 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 23 | 24 | @JsonIgnoreProperties(ignoreUnknown = true) 25 | public class MiningSubmitResponse extends JsonRpcResponse { 26 | 27 | @JsonIgnore 28 | private Boolean isAccepted; 29 | 30 | public MiningSubmitResponse() { 31 | super(); 32 | } 33 | 34 | public MiningSubmitResponse(JsonRpcResponse response) { 35 | super(response); 36 | } 37 | 38 | public Boolean getIsAccepted() { 39 | return isAccepted; 40 | } 41 | 42 | public void setIsAccepted(Boolean isAccepted) { 43 | this.isAccepted = isAccepted; 44 | } 45 | 46 | @Override 47 | public Object getResult() { 48 | return isAccepted; 49 | } 50 | 51 | @Override 52 | public void setResult(Object result) { 53 | this.isAccepted = (Boolean) result; 54 | } 55 | 56 | } 57 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/json/MiningSubscribeRequest.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.json; 20 | 21 | import java.util.ArrayList; 22 | import java.util.List; 23 | 24 | import strat.mining.stratum.proxy.constant.Constants; 25 | 26 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 27 | 28 | @JsonIgnoreProperties(ignoreUnknown = true) 29 | public class MiningSubscribeRequest extends JsonRpcRequest { 30 | 31 | public static final String METHOD_NAME = "mining.subscribe"; 32 | 33 | public MiningSubscribeRequest() { 34 | super(METHOD_NAME); 35 | } 36 | 37 | public MiningSubscribeRequest(JsonRpcRequest request) { 38 | super(request); 39 | } 40 | 41 | @Override 42 | public List getParams() { 43 | ArrayList params = new ArrayList(); 44 | params.add(Constants.VERSION); 45 | return params; 46 | } 47 | 48 | @Override 49 | public void setParams(List params) { 50 | // Do nothing since there is no mutable parameters for this request 51 | } 52 | 53 | } 54 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/json/MiningSuggestDifficultyRequest.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.json; 20 | 21 | import java.util.ArrayList; 22 | import java.util.List; 23 | 24 | import com.fasterxml.jackson.annotation.JsonIgnore; 25 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 26 | 27 | @JsonIgnoreProperties(ignoreUnknown = true) 28 | public class MiningSuggestDifficultyRequest extends JsonRpcRequest { 29 | 30 | public static final String METHOD_NAME = "mining.suggest_difficulty"; 31 | 32 | @JsonIgnore 33 | private Double suggestedDifficulty; 34 | 35 | public MiningSuggestDifficultyRequest() { 36 | super(METHOD_NAME); 37 | } 38 | 39 | public MiningSuggestDifficultyRequest(JsonRpcRequest request) { 40 | super(request); 41 | } 42 | 43 | public Double getSuggestedDifficulty() { 44 | return suggestedDifficulty; 45 | } 46 | 47 | public void setSuggestedDifficulty(Double suggestedDifficulty) { 48 | this.suggestedDifficulty = suggestedDifficulty; 49 | } 50 | 51 | @Override 52 | public List getParams() { 53 | if (super.getParams() == null) { 54 | ArrayList params = new ArrayList(); 55 | super.setParams(params); 56 | params.add(suggestedDifficulty); 57 | } 58 | return super.getParams(); 59 | } 60 | 61 | @Override 62 | public void setParams(List params) { 63 | super.setParams(params); 64 | if (params != null) { 65 | suggestedDifficulty = (Double) params.get(0); 66 | } 67 | } 68 | 69 | } 70 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/manager/strategy/PoolSwitchingStrategyFactory.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.manager.strategy; 20 | 21 | import strat.mining.stratum.proxy.exception.UnsupportedPoolSwitchingStrategyException; 22 | import strat.mining.stratum.proxy.manager.ProxyManager; 23 | 24 | public class PoolSwitchingStrategyFactory { 25 | 26 | private ProxyManager proxyManager; 27 | 28 | public PoolSwitchingStrategyFactory(ProxyManager proxyManager) { 29 | this.proxyManager = proxyManager; 30 | } 31 | 32 | public PoolSwitchingStrategyManager getPoolSwitchingStrategyManagerByName(String name) throws UnsupportedPoolSwitchingStrategyException { 33 | PoolSwitchingStrategyManager result = null; 34 | if (PriorityFailoverStrategyManager.NAME.equalsIgnoreCase(name)) { 35 | result = getPriorityFailoverStrategyManager(); 36 | } else if (WeightedRoundRobinStrategyManager.NAME.equalsIgnoreCase(name)) { 37 | result = getWeightedRoundRobinStrategyManager(); 38 | } else { 39 | throw new UnsupportedPoolSwitchingStrategyException("No pool switching strategy found with name " + name 40 | + ". Available strategy are: priorityFailover, weightedRoundRobin"); 41 | } 42 | return result; 43 | } 44 | 45 | private PriorityFailoverStrategyManager getPriorityFailoverStrategyManager() { 46 | return new PriorityFailoverStrategyManager(proxyManager); 47 | } 48 | 49 | private WeightedRoundRobinStrategyManager getWeightedRoundRobinStrategyManager() { 50 | return new WeightedRoundRobinStrategyManager(proxyManager); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/model/Share.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.model; 20 | 21 | public class Share { 22 | 23 | private long time; 24 | private double difficulty; 25 | 26 | public long getTime() { 27 | return time; 28 | } 29 | 30 | public void setTime(long time) { 31 | this.time = time; 32 | } 33 | 34 | public double getDifficulty() { 35 | return difficulty; 36 | } 37 | 38 | public void setDifficulty(double difficulty) { 39 | this.difficulty = difficulty; 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/network/Connection.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.network; 20 | 21 | import java.net.InetAddress; 22 | 23 | public interface Connection { 24 | 25 | /** 26 | * Close the connection 27 | */ 28 | public void close(); 29 | 30 | /** 31 | * Return the connection name. 32 | * 33 | * @return 34 | */ 35 | public String getConnectionName(); 36 | 37 | /** 38 | * Return the remote address. 39 | * 40 | * @return 41 | */ 42 | public InetAddress getRemoteAddress(); 43 | 44 | /** 45 | * Return the remote port. 46 | * 47 | * @return 48 | */ 49 | public Integer getRemotePort(); 50 | 51 | } 52 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/rest/authentication/AuthenticationAddOn.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.rest.authentication; 20 | 21 | import org.glassfish.grizzly.filterchain.FilterChainBuilder; 22 | import org.glassfish.grizzly.http.HttpServerFilter; 23 | import org.glassfish.grizzly.http.server.AddOn; 24 | import org.glassfish.grizzly.http.server.NetworkListener; 25 | 26 | public class AuthenticationAddOn implements AddOn { 27 | 28 | private String basePath; 29 | 30 | public AuthenticationAddOn(String basePath) { 31 | this.basePath = basePath; 32 | } 33 | 34 | @Override 35 | public void setup(NetworkListener networkListener, FilterChainBuilder builder) { 36 | // Get the index of HttpServerFilter in the HttpServerFilter filter 37 | // chain 38 | final int httpServerFilterIdx = builder.indexOfType(HttpServerFilter.class); 39 | 40 | if (httpServerFilterIdx >= 0) { 41 | // Insert the AuthenticationFilter right after HttpServerFilter 42 | builder.add(httpServerFilterIdx + 1, new AuthenticationFilter(basePath)); 43 | } 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/rest/authentication/PubliclyAvailable.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.rest.authentication; 20 | 21 | import java.lang.annotation.ElementType; 22 | import java.lang.annotation.Retention; 23 | import java.lang.annotation.RetentionPolicy; 24 | import java.lang.annotation.Target; 25 | 26 | /** 27 | * The method is publicly available. 28 | * 29 | * @author Stratehm 30 | * 31 | */ 32 | @Retention(RetentionPolicy.RUNTIME) 33 | @Target(ElementType.METHOD) 34 | public @interface PubliclyAvailable { 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/rest/dto/AddressDTO.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.rest.dto; 20 | 21 | public class AddressDTO { 22 | 23 | private String address; 24 | 25 | public String getAddress() { 26 | return address; 27 | } 28 | 29 | public void setAddress(String address) { 30 | this.address = address; 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/rest/dto/AuthenticationDetails.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.rest.dto; 20 | 21 | 22 | /** 23 | * 24 | * @author Stratehm 25 | * 26 | */ 27 | public class AuthenticationDetails { 28 | 29 | private boolean authenticationNeededForWriteAccess; 30 | 31 | public boolean isAuthenticationNeededForWriteAccess() { 32 | return authenticationNeededForWriteAccess; 33 | } 34 | 35 | public void setAuthenticationNeededForWriteAccess(boolean isAuthenticationNeededForWriteAccess) { 36 | this.authenticationNeededForWriteAccess = isAuthenticationNeededForWriteAccess; 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/rest/dto/ChangePriorityDTO.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.rest.dto; 20 | 21 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 22 | 23 | @JsonIgnoreProperties(ignoreUnknown = true) 24 | public class ChangePriorityDTO { 25 | 26 | private String poolName; 27 | private Integer priority; 28 | 29 | public String getPoolName() { 30 | return poolName; 31 | } 32 | 33 | public void setPoolName(String poolName) { 34 | this.poolName = poolName; 35 | } 36 | 37 | public Integer getPriority() { 38 | return priority; 39 | } 40 | 41 | public void setPriority(Integer priority) { 42 | this.priority = priority; 43 | } 44 | 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/rest/dto/ConnectionIdentifierDTO.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.rest.dto; 20 | 21 | public class ConnectionIdentifierDTO { 22 | 23 | private String address; 24 | private Integer port; 25 | 26 | public String getAddress() { 27 | return address; 28 | } 29 | 30 | public void setAddress(String address) { 31 | this.address = address; 32 | } 33 | 34 | public Integer getPort() { 35 | return port; 36 | } 37 | 38 | public void setPort(Integer port) { 39 | this.port = port; 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/rest/dto/HashrateDTO.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.rest.dto; 20 | 21 | public class HashrateDTO { 22 | 23 | private Long acceptedHashrate; 24 | private Long rejectedHashrate; 25 | private Long captureTimeUTC; 26 | 27 | public Long getAcceptedHashrate() { 28 | return acceptedHashrate; 29 | } 30 | 31 | public void setAcceptedHashrate(Long acceptedHashrate) { 32 | this.acceptedHashrate = acceptedHashrate; 33 | } 34 | 35 | public Long getRejectedHashrate() { 36 | return rejectedHashrate; 37 | } 38 | 39 | public void setRejectedHashrate(Long rejectedHashrate) { 40 | this.rejectedHashrate = rejectedHashrate; 41 | } 42 | 43 | public Long getCaptureTimeUTC() { 44 | return captureTimeUTC; 45 | } 46 | 47 | public void setCaptureTimeUTC(Long captureTimeUTC) { 48 | this.captureTimeUTC = captureTimeUTC; 49 | } 50 | 51 | } 52 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/rest/dto/HashrateHistoryDTO.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.rest.dto; 20 | 21 | import java.util.List; 22 | 23 | public class HashrateHistoryDTO { 24 | 25 | private String name; 26 | private List hashrates; 27 | 28 | public String getName() { 29 | return name; 30 | } 31 | 32 | public void setName(String name) { 33 | this.name = name; 34 | } 35 | 36 | public List getHashrates() { 37 | return hashrates; 38 | } 39 | 40 | public void setHashrates(List hashrates) { 41 | this.hashrates = hashrates; 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/rest/dto/LogEntry.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.rest.dto; 20 | 21 | public class LogEntry { 22 | 23 | private long timestamp; 24 | private String message; 25 | 26 | public long getTimestamp() { 27 | return timestamp; 28 | } 29 | 30 | public void setTimestamp(long timestamp) { 31 | this.timestamp = timestamp; 32 | } 33 | 34 | public String getMessage() { 35 | return message; 36 | } 37 | 38 | public void setMessage(String message) { 39 | this.message = message; 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/rest/dto/LogLevelDTO.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.rest.dto; 20 | 21 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 22 | 23 | @JsonIgnoreProperties(ignoreUnknown = true) 24 | public class LogLevelDTO { 25 | 26 | private String logLevel; 27 | 28 | public String getLogLevel() { 29 | return logLevel; 30 | } 31 | 32 | public void setLogLevel(String logLevel) { 33 | this.logLevel = logLevel; 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/rest/dto/PoolNameDTO.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.rest.dto; 20 | 21 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 22 | 23 | @JsonIgnoreProperties(ignoreUnknown = true) 24 | public class PoolNameDTO { 25 | 26 | private String poolName; 27 | 28 | public String getPoolName() { 29 | return poolName; 30 | } 31 | 32 | public void setPoolName(String poolName) { 33 | this.poolName = poolName; 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/rest/dto/PoolSwitchingStrategyDTO.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.rest.dto; 20 | 21 | import java.util.Map; 22 | 23 | public class PoolSwitchingStrategyDTO { 24 | 25 | private String name; 26 | private String description; 27 | private Map details; 28 | private Map configurationParameters; 29 | 30 | public String getName() { 31 | return name; 32 | } 33 | 34 | public void setName(String name) { 35 | this.name = name; 36 | } 37 | 38 | public String getDescription() { 39 | return description; 40 | } 41 | 42 | public void setDescription(String description) { 43 | this.description = description; 44 | } 45 | 46 | public Map getDetails() { 47 | return details; 48 | } 49 | 50 | public void setDetails(Map details) { 51 | this.details = details; 52 | } 53 | 54 | public Map getConfiguration() { 55 | return configurationParameters; 56 | } 57 | 58 | public void setConfiguration(Map configuration) { 59 | this.configurationParameters = configuration; 60 | } 61 | 62 | } 63 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/rest/dto/ProxyVersionDTO.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.rest.dto; 20 | 21 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 22 | 23 | @JsonIgnoreProperties(ignoreUnknown = true) 24 | public class ProxyVersionDTO { 25 | 26 | private String proxyVersion; 27 | private String fullName; 28 | 29 | public String getProxyVersion() { 30 | return proxyVersion; 31 | } 32 | 33 | public void setProxyVersion(String proxyVersion) { 34 | this.proxyVersion = proxyVersion; 35 | } 36 | 37 | public String getFullName() { 38 | return fullName; 39 | } 40 | 41 | public void setFullName(String fullName) { 42 | this.fullName = fullName; 43 | } 44 | 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/rest/dto/RemovePoolDTO.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.rest.dto; 20 | 21 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 22 | 23 | @JsonIgnoreProperties(ignoreUnknown = true) 24 | public class RemovePoolDTO { 25 | 26 | private String poolName; 27 | private Boolean keepHistory; 28 | 29 | public String getPoolName() { 30 | return poolName; 31 | } 32 | 33 | public void setPoolName(String poolName) { 34 | this.poolName = poolName; 35 | } 36 | 37 | public Boolean getKeepHistory() { 38 | return keepHistory; 39 | } 40 | 41 | public void setKeepHistory(Boolean keepHistory) { 42 | this.keepHistory = keepHistory; 43 | } 44 | 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/rest/dto/StatusDTO.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.rest.dto; 20 | 21 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 22 | 23 | @JsonIgnoreProperties(ignoreUnknown = true) 24 | public class StatusDTO { 25 | 26 | public static final String DONE_STATUS = "Done"; 27 | public static final String PARTIALLY_DONE_STATUS = "PartiallyDone"; 28 | public static final String FAILED_STATUS = "Failed"; 29 | 30 | private String status; 31 | private String message; 32 | 33 | public String getStatus() { 34 | return status; 35 | } 36 | 37 | public void setStatus(String status) { 38 | this.status = status; 39 | } 40 | 41 | public String getMessage() { 42 | return message; 43 | } 44 | 45 | public void setMessage(String message) { 46 | this.message = message; 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/rest/dto/SummaryDTO.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.rest.dto; 20 | 21 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 22 | 23 | @JsonIgnoreProperties(ignoreUnknown = true) 24 | public class SummaryDTO { 25 | 26 | private String currentPoolName; 27 | private Long hashrate; 28 | private Long acceptedHashrate; 29 | private Long rejectedHashrate; 30 | private Integer totalErrors; 31 | private Long poolUptime; 32 | 33 | public String getCurrentPoolName() { 34 | return currentPoolName; 35 | } 36 | 37 | public void setCurrentPoolName(String currentPoolName) { 38 | this.currentPoolName = currentPoolName; 39 | } 40 | 41 | public Long getHashrate() { 42 | return hashrate; 43 | } 44 | 45 | public void setHashrate(Long hashrate) { 46 | this.hashrate = hashrate; 47 | } 48 | 49 | public Long getAcceptedHashrate() { 50 | return acceptedHashrate; 51 | } 52 | 53 | public void setAcceptedHashrate(Long acceptedHashrate) { 54 | this.acceptedHashrate = acceptedHashrate; 55 | } 56 | 57 | public Long getRejectedHashrate() { 58 | return rejectedHashrate; 59 | } 60 | 61 | public void setRejectedHashrate(Long rejectedHashrate) { 62 | this.rejectedHashrate = rejectedHashrate; 63 | } 64 | 65 | public Integer getTotalErrors() { 66 | return totalErrors; 67 | } 68 | 69 | public void setTotalErrors(Integer totalErrors) { 70 | this.totalErrors = totalErrors; 71 | } 72 | 73 | public Long getPoolUptime() { 74 | return poolUptime; 75 | } 76 | 77 | public void setPoolUptime(Long poolUptime) { 78 | this.poolUptime = poolUptime; 79 | } 80 | 81 | } 82 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/rest/dto/TimestampDTO.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.rest.dto; 20 | 21 | public class TimestampDTO { 22 | 23 | private Long timestamp; 24 | 25 | public Long getTimestamp() { 26 | return timestamp; 27 | } 28 | 29 | public void setTimestamp(Long timestamp) { 30 | this.timestamp = timestamp; 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/rest/dto/UserNameDTO.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.rest.dto; 20 | 21 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 22 | 23 | @JsonIgnoreProperties(ignoreUnknown = true) 24 | public class UserNameDTO { 25 | 26 | private String username; 27 | 28 | public String getUsername() { 29 | return username; 30 | } 31 | 32 | public void setUsername(String username) { 33 | this.username = username; 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/rest/ssl/SSLRedirectAddOn.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.rest.ssl; 20 | 21 | import org.glassfish.grizzly.filterchain.FilterChainBuilder; 22 | import org.glassfish.grizzly.filterchain.TransportFilter; 23 | import org.glassfish.grizzly.http.server.AddOn; 24 | import org.glassfish.grizzly.http.server.NetworkListener; 25 | 26 | /** 27 | * An add on to grizzly to register the SSLRedirect filter 28 | * 29 | * @author VMDev 30 | * 31 | */ 32 | public class SSLRedirectAddOn implements AddOn { 33 | 34 | @Override 35 | public void setup(NetworkListener networkListener, FilterChainBuilder builder) { 36 | final int transportFilterIdx = builder.indexOfType(TransportFilter.class); 37 | 38 | if (transportFilterIdx >= 0) { 39 | builder.set(transportFilterIdx + 1, new SSLRedirectFilter()); 40 | } 41 | 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/utils/EquatableWeakReference.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.utils; 20 | 21 | import java.lang.ref.Reference; 22 | import java.lang.ref.WeakReference; 23 | 24 | /** 25 | * An extension of WeakReference that implements a sane equals and hashcode 26 | * method. 27 | * 28 | * @param 29 | * The type of object that this reference contains 30 | * @author chris 31 | */ 32 | public class EquatableWeakReference extends WeakReference { 33 | 34 | /** 35 | * Creates a new instance of EquatableWeakReference. 36 | * 37 | * @param referent 38 | * The object that this weak reference should reference. 39 | */ 40 | public EquatableWeakReference(T referent) { 41 | super(referent); 42 | } 43 | 44 | /** {@inheritDoc} */ 45 | @SuppressWarnings("rawtypes") 46 | @Override 47 | public boolean equals(Object obj) { 48 | if (get() == null) { 49 | super.equals(obj); 50 | } 51 | if (obj instanceof Reference) { 52 | return get().equals(((Reference) obj).get()); 53 | } else { 54 | return get().equals(obj); 55 | } 56 | } 57 | 58 | /** {@inheritDoc} */ 59 | @Override 60 | public int hashCode() { 61 | if (get() == null) { 62 | return super.hashCode(); 63 | } 64 | return get().hashCode(); 65 | } 66 | 67 | } -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/utils/mining/DifficultyUtils.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.utils.mining; 20 | 21 | import strat.mining.stratum.proxy.configuration.ConfigurationManager; 22 | import strat.mining.stratum.proxy.worker.GetworkJobTemplate; 23 | import strat.mining.stratum.proxy.worker.GetworkJobTemplate.GetworkRequestResult; 24 | 25 | public final class DifficultyUtils { 26 | 27 | /** 28 | * Return the real share difficulty of the share with the given parameters. 29 | * 30 | * @param currentJobTemplate 31 | * the current job the share has been found on. 32 | * @param extranonce1Tail 33 | * the tail of the extranonce1 of the worker connection 34 | * @param extranonce2 35 | * the submitted extranonce2 (should contains the above 36 | * extranonce1Tail) 37 | * @param ntime 38 | * the submitted ntime 39 | * @param nonce 40 | * the submitted nonce 41 | * @return 42 | */ 43 | public static Double getRealShareDifficulty(GetworkJobTemplate currentJobTemplate, String extranonce1Tail, String extranonce2, String ntime, 44 | String nonce) { 45 | GetworkJobTemplate cloned = new GetworkJobTemplate(currentJobTemplate); 46 | cloned.setTime(ntime); 47 | cloned.setNonce(nonce); 48 | GetworkRequestResult jobResult = cloned.getData(extranonce2.replaceFirst(extranonce1Tail, "")); 49 | String blockHeader = jobResult.getData(); 50 | Double realDifficulty = 0d; 51 | if (ConfigurationManager.getInstance().isScrypt()) { 52 | realDifficulty = ScryptHashingUtils.getRealShareDifficulty(blockHeader); 53 | } else { 54 | realDifficulty = SHA256HashingUtils.getRealShareDifficulty(blockHeader); 55 | } 56 | return realDifficulty; 57 | } 58 | 59 | } 60 | -------------------------------------------------------------------------------- /src/main/java/strat/mining/stratum/proxy/worker/GetworkJobSubmit.java: -------------------------------------------------------------------------------- 1 | /** 2 | * stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 3 | * protocol. 4 | * Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with multipool-stats-backend. If not, see . 18 | */ 19 | package strat.mining.stratum.proxy.worker; 20 | 21 | /** 22 | * A getwork job to submit. 23 | * 24 | * @author Strat 25 | * 26 | */ 27 | public class GetworkJobSubmit { 28 | 29 | private static final int MERKLE_ROOT_POSITION = 72; 30 | private static final int MERKLE_ROOT_LENGTH = 64; 31 | 32 | private static final int TIME_POSITION = 136; 33 | private static final int TIME_LENGTH = 8; 34 | 35 | private static final int NONCE_POSITION = 152; 36 | private static final int NONCE_LENGTH = 8; 37 | 38 | private String merkleRoot; 39 | private String time; 40 | private String nonce; 41 | 42 | /** 43 | * Create a getwork Job based on a Hex string. Extract all needed data. 44 | * 45 | * @param data 46 | */ 47 | public GetworkJobSubmit(String data) { 48 | merkleRoot = data.substring(MERKLE_ROOT_POSITION, MERKLE_ROOT_POSITION + MERKLE_ROOT_LENGTH); 49 | time = data.substring(TIME_POSITION, TIME_POSITION + TIME_LENGTH); 50 | nonce = data.substring(NONCE_POSITION, NONCE_POSITION + NONCE_LENGTH); 51 | } 52 | 53 | public String getMerkleRoot() { 54 | return merkleRoot; 55 | } 56 | 57 | public String getTime() { 58 | return time; 59 | } 60 | 61 | public String getNonce() { 62 | return nonce; 63 | } 64 | 65 | } 66 | -------------------------------------------------------------------------------- /src/main/resources/headerGPLv3Template.txt: -------------------------------------------------------------------------------- 1 | stratum-proxy is a proxy supporting the crypto-currency stratum pool mining 2 | protocol. 3 | Copyright (C) 2014-2015 Stratehm (stratehm@hotmail.com) 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation; either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with multipool-stats-backend. If not, see . -------------------------------------------------------------------------------- /src/main/resources/log4j.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /src/main/resources/stratum-proxy-minimal-sample.conf: -------------------------------------------------------------------------------- 1 | { 2 | "pools" : [ { 3 | "host" : "stratum.nicehash.com:3336", 4 | "user" : "19wv8FQKv3NkwTdzBCQn1AGsb9ghqBPWXi" 5 | }, { 6 | "host" : "eu.wafflepool.com:3331", 7 | "user" : "19wv8FQKv3NkwTdzBCQn1AGsb9ghqBPWXi" 8 | } ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/webapp/.gitignore: -------------------------------------------------------------------------------- 1 | /.project 2 | -------------------------------------------------------------------------------- /src/main/resources/webapp/.settings/.gitignore: -------------------------------------------------------------------------------- 1 | /.jsdtscope 2 | /org.eclipse.wst.jsdt.ui.superType.container 3 | /org.eclipse.wst.jsdt.ui.superType.name 4 | -------------------------------------------------------------------------------- /src/main/resources/webapp/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /src/main/resources/webapp/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /src/main/resources/webapp/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /src/main/resources/webapp/js/config.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | return { 3 | // The default auto-refresh delay is 1 minute 4 | autoRefreshDelay: 60000 5 | }; 6 | }); -------------------------------------------------------------------------------- /src/main/resources/webapp/js/controllers/abstractPageController.js: -------------------------------------------------------------------------------- 1 | define(['jquery'], function($) { 2 | 3 | /* 4 | * Define the page controller class 5 | */ 6 | var PageController = function(pageName) { 7 | var controller = this; 8 | this.pageName = pageName; 9 | 10 | document.addEventListener('loginSuccess', function() { 11 | if (controller.updateAccessibleItems) { 12 | controller.updateAccessibleItems(); 13 | } 14 | }, false); 15 | }; 16 | 17 | PageController.prototype.hide = function() { 18 | this.getContainer().hide(); 19 | }; 20 | 21 | PageController.prototype.show = function() { 22 | this.getContainer().show(); 23 | }; 24 | 25 | PageController.prototype.load = function(mainContainer) { 26 | if (this.onLoad != undefined) { 27 | this.onLoad(mainContainer); 28 | // Update the displayed items based the authentication result. 29 | if (this.updateAccessibleItems) { 30 | this.updateAccessibleItems(); 31 | } 32 | } 33 | }; 34 | 35 | PageController.prototype.unload = function() { 36 | this.hide(); 37 | if (this.onUnload != undefined) { 38 | this.onUnload(); 39 | } 40 | this.getContainer().remove(); 41 | }; 42 | 43 | PageController.prototype.refresh = function() { 44 | // Do nothing. Will be implemented by sub-classes 45 | }; 46 | 47 | PageController.prototype.getContainer = function() { 48 | return $('#' + this.pageName); 49 | }; 50 | 51 | return PageController; 52 | }); -------------------------------------------------------------------------------- /src/main/resources/webapp/js/controllers/addPoolPopup.js: -------------------------------------------------------------------------------- 1 | define(['jquery', 'ractivejs', 'rv!templates/addPoolPopup', 'i18n!locales', 'bootstrap', 'json'], function($, 2 | Ractive, template, i18next) { 3 | 4 | var AddPoolPopup = function(parentController, parentElement) { 5 | this.parentController = parentController; 6 | 7 | this.ractive = new Ractive({ 8 | el: parentElement ? parentElement : $('body'), 9 | template: template, 10 | data: { 11 | isEnabled: true, 12 | workerNameSeparator: '.' 13 | }, 14 | oncomplete: $.proxy(function() { 15 | this.popup.i18n(); 16 | }, this) 17 | }); 18 | 19 | this.popup = $('#addPoolModal').modal({ 20 | keyboard: true, 21 | backdrop: 'static' 22 | }); 23 | this.popup.find('.validateButton').off('click').click($.proxy(validate, this)); 24 | 25 | this.popup.on('hidden.bs.modal', $.proxy(function() { 26 | this.popup.remove(); 27 | }, this)); 28 | } 29 | 30 | function validate() { 31 | var thisController = this; 32 | 33 | $.ajax({ 34 | url: 'proxy/pool/add', 35 | dataType: "json", 36 | type: "POST", 37 | data: JSON.stringify(thisController.ractive.get()), 38 | contentType: "application/json", 39 | context: thisController, 40 | success: onSuccess, 41 | error: onError 42 | }); 43 | } 44 | 45 | function onSuccess(data) { 46 | if (data.status == 'Failed') { 47 | window.alert('Failed to add the pool. Message: ' + data.message); 48 | } else { 49 | if (data.status == 'PartiallyDone') { 50 | window.alert('Pool added but not started. Message: ' + data.message); 51 | } 52 | 53 | if (this.parentController != undefined && this.parentController.refresh != undefined) { 54 | this.parentController.refresh(); 55 | } 56 | } 57 | this.popup.modal('hide'); 58 | } 59 | 60 | function onError(request, textStatus, errorThrown) { 61 | var jsonObject = JSON.parse(request.responseText); 62 | window.alert('Failed to add the pool. Status: ' + textStatus + ', error: ' + errorThrown 63 | + ', message: ' + jsonObject.message); 64 | this.popup.modal('hide'); 65 | } 66 | 67 | return AddPoolPopup; 68 | 69 | }); -------------------------------------------------------------------------------- /src/main/resources/webapp/js/controllers/connectionItem.js: -------------------------------------------------------------------------------- 1 | define(['jquery', 'ractivejs', 'rv!templates/connectionItem', 'i18n!locales', 'config','managers/authenticationManager'], function($, Ractive, 2 | template, i18next, config, authenticationManager) { 3 | 4 | var ConnectionItem = function(renderToElement) { 5 | var connectionItemId = ConnectionItem.nextConnectionItemId++; 6 | this.ractive = new Ractive({ 7 | el: renderToElement, 8 | template: template, 9 | data: { 10 | connectionItemId: connectionItemId 11 | }, 12 | oncomplete: $.proxy(function() { 13 | this.connectionItemJquery.i18n(); 14 | }, this) 15 | }); 16 | this.connectionItemJquery = $('#connectionItem-' + connectionItemId); 17 | 18 | this.updateAccessibleItems(); 19 | document.addEventListener('loginSuccess', function() { 20 | self.updateAccessibleItems(); 21 | }, false); 22 | }; 23 | 24 | ConnectionItem.nextConnectionItemId = 0; 25 | 26 | ConnectionItem.prototype.setConnection = function(connection) { 27 | this.updateConnection(connection); 28 | }; 29 | 30 | ConnectionItem.prototype.updateConnection = function(connection) { 31 | this.connection = connection; 32 | 33 | this.ractive.set(connection); 34 | 35 | this.connectionItemJquery.data('connection', connection); 36 | }; 37 | 38 | ConnectionItem.prototype.remove = function() { 39 | this.connectionItemJquery.remove(); 40 | }; 41 | 42 | ConnectionItem.prototype.getKickButton = function() { 43 | return this.connectionItemJquery.find(".kickConnection"); 44 | }; 45 | 46 | ConnectionItem.prototype.getBanIpButton = function() { 47 | return this.connectionItemJquery.find(".banIp"); 48 | }; 49 | 50 | ConnectionItem.prototype.getKickIpButton = function() { 51 | return this.connectionItemJquery.find(".kickIp"); 52 | }; 53 | 54 | /** 55 | * Update the displayed items based on the authorization. 56 | */ 57 | ConnectionItem.prototype.updateAccessibleItems = function() { 58 | if(!authenticationManager.isAuthenticated) { 59 | this.connectionItemJquery.find('.kickConnection, .kickIp, .banIp').hide(); 60 | } else { 61 | this.connectionItemJquery.find('.kickConnection, .kickIp, .banIp').show(); 62 | } 63 | }; 64 | 65 | return ConnectionItem; 66 | }); -------------------------------------------------------------------------------- /src/main/resources/webapp/js/controllers/editPoolPopup.js: -------------------------------------------------------------------------------- 1 | define(['jquery', 'ractivejs', 'rv!templates/editPoolPopup', 'i18n!locales', 'bootstrap', 'json'], function( 2 | $, Ractive, template, i18next) { 3 | 4 | var EditPoolPopup = function(pool, parentController, parentElement) { 5 | this.parentController = parentController; 6 | 7 | this.ractive = new Ractive({ 8 | el: parentElement ? parentElement : $('body'), 9 | template: template, 10 | data: pool, 11 | oncomplete: $.proxy(function() { 12 | this.popup.i18n({ 13 | poolName: pool.name 14 | }); 15 | }, this) 16 | }); 17 | 18 | this.popup = $('#editPoolModal').modal({ 19 | keyboard: true, 20 | backdrop: 'static' 21 | }); 22 | this.popup.find('.validateButton').off('click').click($.proxy(validate, this)); 23 | 24 | this.popup.on('hidden.bs.modal', $.proxy(function() { 25 | this.popup.remove(); 26 | }, this)); 27 | 28 | }; 29 | 30 | function validate() { 31 | var thisController = this; 32 | this.popup.modal('hide'); 33 | 34 | $.ajax({ 35 | url: 'proxy/pool/update', 36 | dataType: "json", 37 | type: "POST", 38 | data: JSON.stringify(thisController.ractive.get()), 39 | contentType: "application/json", 40 | context: thisController, 41 | success: onSuccess, 42 | error: onError 43 | }); 44 | } 45 | 46 | function onSuccess(data) { 47 | if (data.status == 'Failed') { 48 | window.alert('Failed to update the pool. Message: ' + data.message); 49 | } else { 50 | if (data.status == 'PartiallyDone') { 51 | window.alert('Pool updated but not started. Message: ' + data.message); 52 | } 53 | 54 | if (this.parentController != undefined && this.parentController.refresh != undefined) { 55 | this.parentController.refresh(); 56 | } 57 | } 58 | this.popup.modal('hide'); 59 | } 60 | 61 | function onError(request, textStatus, errorThrown) { 62 | var jsonObject = JSON.parse(request.responseText); 63 | window.alert('Failed to update the pool. Status: ' + textStatus + ', error: ' + errorThrown 64 | + ', message: ' + jsonObject.message); 65 | this.popup.modal('hide'); 66 | } 67 | 68 | return EditPoolPopup; 69 | }); -------------------------------------------------------------------------------- /src/main/resources/webapp/js/controllers/settingsPage.js: -------------------------------------------------------------------------------- 1 | define(['jquery', 'ractivejs', 'controllers/abstractPageController', 'rv!templates/settingsPage', 2 | 'i18n!locales', 'config'], function($, Ractive, AbstractPageController, template, i18next, config) { 3 | 4 | var SettingsPageController = function(pageName) { 5 | AbstractPageController.call(this, pageName); 6 | }; 7 | 8 | SettingsPageController.prototype = Object.create(AbstractPageController.prototype); 9 | SettingsPageController.prototype.constructor = SettingsPageController; 10 | 11 | SettingsPageController.prototype.onLoad = function(mainContainer) { 12 | var controller = this; 13 | 14 | this.ractive = new Ractive({ 15 | el: mainContainer, 16 | template: template, 17 | oncomplete: $.proxy(function() { 18 | mainContainer.i18n(); 19 | }, this) 20 | }); 21 | }; 22 | 23 | return SettingsPageController; 24 | }); -------------------------------------------------------------------------------- /src/main/resources/webapp/js/libs/jquery-plugins/jquery-sort.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jQuery.fn.sort -------------- 3 | * 4 | * @author James Padolsey (http://james.padolsey.com) 5 | * @version 0.1 6 | * @updated 18-MAR-2010 -------------- 7 | * @param Function 8 | * comparator: Exactly the same behaviour as 9 | * [1,2,3].sort(comparator) 10 | * 11 | * @param Function 12 | * getSortable A function that should return the element that is 13 | * to be sorted. The comparator will run on the current 14 | * collection, but you may want the actual resulting sort to 15 | * occur on a parent or another associated element. 16 | * 17 | * E.g. $('td').sort(comparator, function(){ return this.parentNode; }) 18 | * 19 | * The 20 | * 's parent ( 21 | * ) will be sorted instead of the 22 | * itself. 23 | */ 24 | jQuery.fn.sort = (function() { 25 | 26 | var sort = [].sort; 27 | 28 | return function(comparator, getSortable) { 29 | 30 | getSortable = getSortable || function() { 31 | return this; 32 | }; 33 | 34 | var placements = this.map(function() { 35 | 36 | var sortElement = getSortable.call(this), parentNode = sortElement.parentNode, 37 | 38 | // Since the element itself will change position, we have 39 | // to have some way of storing it's original position in 40 | // the DOM. The easiest way is to have a 'flag' node: 41 | nextSibling = parentNode.insertBefore(document.createTextNode(''), sortElement.nextSibling); 42 | 43 | return function() { 44 | 45 | if (parentNode === this) { 46 | throw new Error("You can't sort elements if any one is a descendant of another."); 47 | } 48 | 49 | // Insert before flag: 50 | parentNode.insertBefore(this, nextSibling); 51 | // Remove flag: 52 | parentNode.removeChild(nextSibling); 53 | 54 | }; 55 | 56 | }); 57 | 58 | return sort.call(this, comparator).each(function(i) { 59 | placements[i].call(getSortable.call(this)); 60 | }); 61 | 62 | }; 63 | 64 | })(); 65 | -------------------------------------------------------------------------------- /src/main/resources/webapp/js/libs/jquery-plugins/jquery-totop.js: -------------------------------------------------------------------------------- 1 | (function($) { 2 | $.fn.totopscroller = function(options) { 3 | 4 | var superThis = this; 5 | 6 | var defaults = { 7 | showToBottom : true, 8 | showToPrev : true, 9 | link : false, 10 | linkTarget : '_self', 11 | toTopHtml : '', 12 | toBottomHtml : '', 13 | toPrevHtml : '', 14 | linkHtml : '', 15 | toTopClass : 'totopscroller-top', 16 | toBottomClass : 'totopscroller-bottom', 17 | toPrevClass : 'totopscroller-prev', 18 | linkClass : 'totopscroller-lnk', 19 | }; 20 | 21 | var settings = $.extend({}, defaults, options); 22 | 23 | var wrapper = this, b_top = null, b_bottom = null, b_link = null, b_wrapper = null; 24 | 25 | var init = function() { 26 | b_wrapper = $('
'); 27 | if (settings.showToBottom) { 28 | b_bottom = $(settings.toBottomHtml); 29 | b_bottom.hide(); 30 | b_bottom.addClass(settings.toBottomClass); 31 | b_bottom.appendTo(b_wrapper); 32 | } 33 | b_top = $(settings.toTopHtml); 34 | b_top.hide(); 35 | b_top.addClass(settings.toTopClass); 36 | b_top.appendTo(wrapper); 37 | if (settings.link) { 38 | b_link = $(settings.linkHtml); 39 | b_link.attr("target", settings.linkTarget); 40 | b_link.attr("href", settings.link); 41 | b_link.addClass(settings.linkClass); 42 | b_link.appendTo(wrapper); 43 | } 44 | b_wrapper.appendTo(wrapper); 45 | 46 | b_top.click(function(e) { 47 | e.preventDefault(); 48 | $('html, body').animate({ 49 | scrollTop : 0 50 | }, { 51 | complete : function() { 52 | superThis.refresh(); 53 | } 54 | }); 55 | }); 56 | if (settings.showToBottom) { 57 | b_bottom.click(function(e) { 58 | e.preventDefault(); 59 | $('html, body').animate({ 60 | scrollTop : $(document).height() 61 | }, { 62 | complete : function() { 63 | superThis.refresh(); 64 | } 65 | }); 66 | }); 67 | } 68 | } 69 | 70 | this.refresh = function() { 71 | if ($(document).scrollTop() > 0) { 72 | b_top.fadeIn("fast"); 73 | } else { 74 | b_top.fadeOut("fast"); 75 | } 76 | 77 | if ($(window).scrollTop() + $(window).height() == $(document) 78 | .height()) { 79 | b_bottom.fadeOut("fast"); 80 | } else { 81 | b_bottom.fadeIn("fast"); 82 | } 83 | } 84 | 85 | $(window).scroll(function() { 86 | if ($('html, body').is(":animated")) 87 | return; 88 | superThis.refresh(); 89 | 90 | }); 91 | 92 | init(); 93 | this.refresh(); 94 | return this; 95 | }; 96 | }(jQuery)); -------------------------------------------------------------------------------- /src/main/resources/webapp/js/managers/authenticationManager.js: -------------------------------------------------------------------------------- 1 | define(['jquery', 'json'], function($) { 2 | 3 | function AuthenticationManager() { 4 | this.authenticationDetails = null; 5 | this.isAuthenticated = false; 6 | } 7 | 8 | AuthenticationManager.prototype.getAuthenticationDetails = function(callback) { 9 | if (this.authenticationDetails != null && callback) { 10 | callback(this.authenticationDetails); 11 | } else { 12 | var manager = this; 13 | $.ajax({ 14 | url: "proxy/misc/authentication/details", 15 | dataType: "json", 16 | type: "GET", 17 | contentType: "application/json", 18 | success: function(data) { 19 | if (data != undefined) { 20 | manager.authenticationDetails = data; 21 | // If the authentication is not needed, consider that we 22 | // are authenticated. 23 | if (!data.authenticationNeededForWriteAccess) { 24 | manager.isAuthenticated = true; 25 | fireLoginSuccessEvent(); 26 | } 27 | if (callback) { 28 | callback(data); 29 | } 30 | } 31 | } 32 | }); 33 | } 34 | } 35 | 36 | function fireLoginSuccessEvent() { 37 | var event = new CustomEvent('loginSuccess'); 38 | document.dispatchEvent(event); 39 | } 40 | 41 | AuthenticationManager.prototype.authenticate = function(onSuccess, onFailure) { 42 | // Just send a request to a protected API method to trigger an 43 | // authentication 44 | var manager = this; 45 | $.ajax({ 46 | url: "proxy/log/level", 47 | dataType: "json", 48 | type: "GET", 49 | contentType: "application/json", 50 | success: function() { 51 | manager.isAuthenticated = true; 52 | if (onSuccess) { 53 | fireLoginSuccessEvent(); 54 | onSuccess(); 55 | } 56 | }, 57 | error: function(jqXHR) { 58 | manager.isAuthenticated = false; 59 | if (onfailure) { 60 | onFailure(); 61 | } 62 | } 63 | }); 64 | } 65 | 66 | return new AuthenticationManager(); 67 | }); 68 | -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/ASEAN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/ASEAN.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Afghanistan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Afghanistan.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/African Union(OAS).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/African Union(OAS).png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Albania.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Albania.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Algeria.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Algeria.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/American Samoa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/American Samoa.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Andorra.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Andorra.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Angola.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Angola.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Anguilla.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Anguilla.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Antarctica.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Antarctica.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Antigua & Barbuda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Antigua & Barbuda.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Arab League.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Arab League.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Argentina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Argentina.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Armenia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Armenia.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Aruba.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Aruba.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Australia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Australia.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Austria.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Austria.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Azerbaijan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Azerbaijan.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Bahamas.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Bahamas.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Bahrain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Bahrain.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Bangladesh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Bangladesh.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Barbados.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Barbados.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Belarus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Belarus.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Belgium.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Belgium.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Belize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Belize.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Benin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Benin.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Bermuda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Bermuda.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Bhutan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Bhutan.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Bolivia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Bolivia.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Bosnia & Herzegovina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Bosnia & Herzegovina.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Botswana.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Botswana.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Brazil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Brazil.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Brunei.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Brunei.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Bulgaria.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Bulgaria.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Burkina Faso.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Burkina Faso.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Burundi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Burundi.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/CARICOM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/CARICOM.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/CIS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/CIS.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Cambodja.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Cambodja.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Cameroon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Cameroon.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Canada.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Canada.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Cape Verde.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Cape Verde.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Cayman Islands.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Cayman Islands.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Central African Republic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Central African Republic.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Chad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Chad.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Chile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Chile.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/China.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/China.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Colombia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Colombia.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Commonwealth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Commonwealth.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Comoros.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Comoros.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Congo-Brazzaville.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Congo-Brazzaville.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Congo-Kinshasa(Zaire).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Congo-Kinshasa(Zaire).png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Cook Islands.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Cook Islands.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Costa Rica.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Costa Rica.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Cote d'Ivoire.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Cote d'Ivoire.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Croatia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Croatia.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Cuba.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Cuba.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Cyprus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Cyprus.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Czech Republic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Czech Republic.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Denmark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Denmark.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Djibouti.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Djibouti.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Dominica.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Dominica.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Dominican Republic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Dominican Republic.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Ecuador.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Ecuador.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Egypt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Egypt.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/El Salvador.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/El Salvador.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/England.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/England.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Equatorial Guinea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Equatorial Guinea.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Eritrea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Eritrea.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Estonia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Estonia.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Ethiopia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Ethiopia.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/European Union.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/European Union.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Faroes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Faroes.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Fiji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Fiji.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Finland.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Finland.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/France.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/France.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Gabon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Gabon.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Gambia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Gambia.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Georgia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Georgia.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Germany.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Germany.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Ghana.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Ghana.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Gibraltar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Gibraltar.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Greece.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Greece.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Greenland.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Greenland.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Grenada.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Grenada.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Guadeloupe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Guadeloupe.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Guam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Guam.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Guatemala.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Guatemala.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Guernsey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Guernsey.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Guinea-Bissau.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Guinea-Bissau.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Guinea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Guinea.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Guyana.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Guyana.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Haiti.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Haiti.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Honduras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Honduras.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Hong Kong.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Hong Kong.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Hungary.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Hungary.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Iceland.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Iceland.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/India.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/India.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Indonesia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Indonesia.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Iran.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Iran.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Iraq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Iraq.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Ireland.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Ireland.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Islamic Conference.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Islamic Conference.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Isle of Man.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Isle of Man.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Israel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Israel.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Italy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Italy.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Jamaica.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Jamaica.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Japan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Japan.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Jersey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Jersey.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Jordan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Jordan.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Kazakhstan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Kazakhstan.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Kenya.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Kenya.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Kiribati.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Kiribati.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Kosovo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Kosovo.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Kuwait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Kuwait.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Kyrgyzstan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Kyrgyzstan.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/LIthuania.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/LIthuania.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Laos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Laos.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Latvia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Latvia.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Lebanon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Lebanon.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Lesotho.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Lesotho.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Liberia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Liberia.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Libya.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Libya.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Liechtenstein.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Liechtenstein.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Luxembourg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Luxembourg.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Macao.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Macao.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Macedonia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Macedonia.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Madagascar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Madagascar.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Malawi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Malawi.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Malaysia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Malaysia.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Maldives.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Maldives.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Mali.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Mali.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Malta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Malta.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Marshall Islands.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Marshall Islands.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Martinique.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Martinique.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Mauritania.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Mauritania.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Mauritius.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Mauritius.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Mexico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Mexico.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Micronesia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Micronesia.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Moldova.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Moldova.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Monaco.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Monaco.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Mongolia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Mongolia.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Montenegro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Montenegro.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Montserrat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Montserrat.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Morocco.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Morocco.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Mozambique.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Mozambique.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Myanmar(Burma).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Myanmar(Burma).png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/NATO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/NATO.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Namibia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Namibia.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Nauru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Nauru.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Nepal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Nepal.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Netherlands Antilles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Netherlands Antilles.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Netherlands.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Netherlands.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/New Caledonia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/New Caledonia.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/New Zealand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/New Zealand.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Nicaragua.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Nicaragua.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Niger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Niger.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Nigeria.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Nigeria.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/North Korea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/North Korea.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Northern Cyprus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Northern Cyprus.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Northern Ireland.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Northern Ireland.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Norway.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Norway.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/OPEC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/OPEC.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Olimpic Movement.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Olimpic Movement.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Oman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Oman.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Pakistan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Pakistan.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Palau.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Palau.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Palestine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Palestine.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Panama.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Panama.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Papua New Guinea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Papua New Guinea.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Paraguay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Paraguay.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Peru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Peru.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Philippines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Philippines.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Poland.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Poland.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Portugal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Portugal.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Puerto Rico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Puerto Rico.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Qatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Qatar.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Red Cross.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Red Cross.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Reunion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Reunion.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Romania.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Romania.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Russian Federation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Russian Federation.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Rwanda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Rwanda.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Saint Lucia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Saint Lucia.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Samoa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Samoa.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/San Marino.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/San Marino.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Sao Tome & Principe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Sao Tome & Principe.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Saudi Arabia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Saudi Arabia.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Scotland.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Scotland.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Senegal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Senegal.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Serbia(Yugoslavia).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Serbia(Yugoslavia).png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Seychelles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Seychelles.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Sierra Leone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Sierra Leone.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Singapore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Singapore.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Slovakia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Slovakia.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Slovenia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Slovenia.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Solomon Islands.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Solomon Islands.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Somalia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Somalia.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Somaliland.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Somaliland.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/South Africa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/South Africa.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/South Korea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/South Korea.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Spain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Spain.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Sri Lanka.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Sri Lanka.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/St Kitts & Nevis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/St Kitts & Nevis.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/St Vincent & the Grenadines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/St Vincent & the Grenadines.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Sudan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Sudan.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Suriname.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Suriname.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Swaziland.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Swaziland.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Sweden.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Sweden.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Switzerland.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Switzerland.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Syria.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Syria.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Tahiti(French Polinesia).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Tahiti(French Polinesia).png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Taiwan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Taiwan.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Tajikistan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Tajikistan.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Tanzania.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Tanzania.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Thailand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Thailand.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Timor-Leste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Timor-Leste.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Togo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Togo.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Tonga.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Tonga.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Trinidad & Tobago.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Trinidad & Tobago.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Tunisia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Tunisia.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Turkey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Turkey.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Turkmenistan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Turkmenistan.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Turks and Caicos Islands.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Turks and Caicos Islands.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Tuvalu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Tuvalu.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Uganda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Uganda.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Ukraine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Ukraine.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/United Arab Emirates.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/United Arab Emirates.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/United Kingdom(Great Britain).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/United Kingdom(Great Britain).png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/United Nations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/United Nations.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/United States of America (USA).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/United States of America (USA).png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Uruguay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Uruguay.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Uzbekistan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Uzbekistan.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Vanutau.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Vanutau.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Vatican City.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Vatican City.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Venezuela.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Venezuela.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Viet Nam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Viet Nam.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Virgin Islands British.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Virgin Islands British.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Virgin Islands US.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Virgin Islands US.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Wales.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Wales.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Western Sahara.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Western Sahara.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Yemen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Yemen.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Zambia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Zambia.png -------------------------------------------------------------------------------- /src/main/resources/webapp/locales/flags/Zimbabwe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stratehm/stratum-proxy/44fe455c75192c30492ca58ab47ec100245cf26b/src/main/resources/webapp/locales/flags/Zimbabwe.png -------------------------------------------------------------------------------- /src/main/resources/webapp/ui/templates/confirmationPopup.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/webapp/ui/templates/connectionsPage.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |
5 |

Connections list

6 |
7 |
9 | Refresh 13 |
14 |
15 |
16 |
17 |
-------------------------------------------------------------------------------- /src/main/resources/webapp/ui/templates/logsPage.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |
5 |

Logs

6 |
7 |
9 | 19 |
20 |
21 |
22 |
23 |

24 | 	
25 | 26 |
27 |   29 |
30 |
-------------------------------------------------------------------------------- /src/main/resources/webapp/ui/templates/mainContainer.html: -------------------------------------------------------------------------------- 1 |
2 | 38 | 39 |
40 | 41 |
42 | 43 |
44 | 59 | -------------------------------------------------------------------------------- /src/main/resources/webapp/ui/templates/poolsPage.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |
5 |

Pool list

6 |
7 |
9 | Refresh Add 16 |
17 |
18 |
19 |
20 |
-------------------------------------------------------------------------------- /src/main/resources/webapp/ui/templates/settingsPage.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Not yet available

4 |
5 |
-------------------------------------------------------------------------------- /src/main/resources/webapp/ui/templates/usersPage.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |
5 |

User list

6 |
7 |
9 | Refresh 13 |
14 |
15 |
16 |
17 |
-------------------------------------------------------------------------------- /src/test/resources/stratum-proxy-full-sample-scrypt.conf: -------------------------------------------------------------------------------- 1 | { 2 | "logDirectory" : "", 3 | "logLevel" : "INFO", 4 | "disableLogAppend": true, 5 | "stratumListenPort" : 3333, 6 | "stratumListenAddress" : "0.0.0.0", 7 | "disableStratum": false, 8 | "getworkListenPort" : 8332, 9 | "getworkListenAddress" : "0.0.0.0", 10 | "disableGetwork": false, 11 | "apiListenPort" : 8888, 12 | "apiListenAddress" : "0.0.0.0", 13 | "disableApi": false, 14 | "poolConnectionRetryDelay" : 5, 15 | "poolReconnectStabilityPeriod" : 5, 16 | "poolNoNotifyTimeout" : 240, 17 | "rejectReconnectOnDifferentHost" : false, 18 | "poolHashrateSamplingPeriod" : 600, 19 | "userHashrateSamplingPeriod" : 600, 20 | "connectionHashrateSamplingPeriod" : 600, 21 | "isScrypt" : true, 22 | "databaseDirectory": "", 23 | "hashrateDatabaseSamplingPeriod": 60, 24 | "hashrateDatabaseHistoryDepth": 7, 25 | "noMidstate": true, 26 | "apiLogLevel": "INFO", 27 | "validateGetworkShares": false, 28 | "poolSwitchingStrategy": "priorityFailover", 29 | "weightedRoundRobinRoundDuration": 60, 30 | "apiUser": "", 31 | "apiPassword": "", 32 | // The apiEnableSsl should be set to true or left commented if an apiUser is specified. If the apiEnableSsl option is not set, ssl is enabled when apiUser is set else it is disabled. 33 | "apiEnableSsl": true, 34 | "logRealShareDifficulty": true, // Take care, it is CPU intensive and it works only for SHA256 and Scrypt coins. 35 | "ipVersion": "auto", // Valid values: auto, v4, v6. Force the use of the IP protocol version. 36 | "suggestedPoolDifficulty": 0.01, // Suggest this difficulty to the pool. The pool may ignore the suggested difficulty. (if not compatible or for any other reasons) 37 | "pools" : [ { 38 | "name" : "Nicehash Scrypt", 39 | "host" : "stratum.nicehash.com:3333", 40 | "user" : "19wv8FQKv3NkwTdzBCQn1AGsb9ghqBPWXi", 41 | "password" : "d=128", 42 | "enableExtranonceSubscribe" : true, 43 | "appendWorkerNames" : false, 44 | "workerNameSeparator" : ".", 45 | "useWorkerPassword" : false, 46 | "weight" : 9, 47 | "isEnabled": false 48 | }, { 49 | "name" : "Wafflepool Scrypt", 50 | "host" : "eu.wafflepool.com:3333", 51 | "user" : "1FSdfEfp4dW3cV8qrkqokAc28md9AKMe1D", 52 | "password" : "d=128", 53 | "enableExtranonceSubscribe" : false, 54 | "appendWorkerNames" : false, 55 | "workerNameSeparator" : "_", 56 | "useWorkerPassword" : false, 57 | "weight" : 1, 58 | "isEnabled": false 59 | } ] 60 | } --------------------------------------------------------------------------------