Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var CONFIG = {
- apikey : '',
- website : 'http://test.pl',
- port : 8090,
- express : {
- name : 'aasg',
- secret : 'secret_Vas'
- }
- };
- var STEAM = {
- sessions : "normal",
- steam : "normal",
- trades : "normal"
- };
- var mysqlInfo = {
- host : 'localhost',
- user : 'root',
- password : 'test',
- database : 'test',
- charset : 'utf8_general_ci'
- };
- var spam = [];
- var messages = [];
- var chat = true;
- var mysqlConnection;
- var online = 0;
- var requestsmade = 0;
- var https = require("https");
- var speakeasy = require('speakeasy');
- var request = require('request');
- var bodyParser = require('body-parser');
- var io = require('socket.io').listen(CONFIG.port);
- var mysql = require('mysql');
- var Random = require("random-js");
- var random = new Random(Random.engines.mt19937().autoSeed());
- var express = require('express');
- var passport = require('passport');
- var util = require('util');
- var session = require('express-session');
- var SteamStrategy = require('passport-steam').Strategy;
- var fs = require('fs');
- var objectAssign = require('object-assign');
- var Security = require('./security.js');
- var security = new Security();
- var Network = require('./network.js');
- var network = new Network(io);
- var async = require('async');
- var crypto = require('crypto');
- //var csgoimapi = require('csgo-im-api');
- //var api = new csgoimapi('#');
- var log4js = require('log4js');
- var dateFormat = require('dateformat');
- var now = new Date();
- var md5 = require('md5');
- date= dateFormat(now, "mmmm-d hxMM");
- log4js.configure({
- appenders: [
- { type: 'console' },
- { type: 'file', filename: 'logs/site/site '+date+'.log' }
- ]
- });
- var logger = log4js.getLogger();
- function generateToken(length){
- var symbols = ['1','2','3','4','5','6','7','8','9','0','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'];
- var token = '';
- for(var i = 0; i < length; i++){
- token = token + symbols[random.integer(0, symbols.length-1)];
- }
- return token;
- }
- function handleDisconnect() {
- mysqlConnection = mysql.createConnection(mysqlInfo);
- mysqlConnection.connect(function(err) {
- if(err) {
- logger.error('MYSQL Connection Failed, Error: ' + err);
- setTimeout(handleDisconnect, 2000);
- } else {
- logger.info('MYSQL Connection Successful');
- }
- });
- mysqlConnection.on('error', function(err) {
- logger.error('MYSQL Error (On Error): ' + err);
- if(err.code === 'PROTOCOL_CONNECTION_LOST' || err.code === 'ECONNRESET') {
- setTimeout(handleDisconnect, 2000);
- } else {
- throw err;
- }
- });
- }
- handleDisconnect();
- function removequots(str) {
- str=str.replace(/\\/g,'');
- str=str.replace(/\'/g,'');
- str=str.replace(/\"/g,'');
- str=str.replace(/\0/g,'');
- return str;
- }
- function removescript(str){
- str = str.replace(/</g,'');
- str = str.replace(/>/g,'');
- return str;
- }
- function convertid(steamid) {
- return steamid.substr(3) - 61197960265728;
- }
- setInterval(function(){
- spam = [];
- },3000);
- setInterval(function(){
- io.emit('online', online);
- online = 0;
- },3000);
- passport.serializeUser(function(user, done) {
- done(null, user);
- });
- passport.deserializeUser(function(obj, done) {
- done(null, obj);
- });
- passport.use(new SteamStrategy({
- returnURL : CONFIG.website+'/auth/steam/return',
- realm : CONFIG.website,
- apiKey : CONFIG.apikey,
- profile : true
- }, function(identifier, profile, done) {
- profile.identifier = identifier;
- return done(null, profile);
- }
- ));
- var app = express();
- app.listen(3000);
- app.use(bodyParser.json());
- app.use(bodyParser.urlencoded({
- extended: true
- , limit: '20mb'
- }));
- app.set('views', __dirname + '/views');
- app.set('view engine', 'ejs');
- app.use(session({ secret: CONFIG.express.secret, name: CONFIG.express.name, resave: true, saveUninitialized: true }));
- app.use(passport.initialize());
- app.use(passport.session());
- app.use('/assets', express.static(__dirname + '/views/assets'));
- app.get('/', function(req,res){
- res.send("home");
- });
- app.get('/logout', function(req, res){
- if(req.isAuthenticated()){
- delete network.players[req.user._json.steamid];
- req.logout();
- res.redirect('/');
- } else {
- res.redirect('/');
- }
- });
- app.get('/auth/steam', passport.authenticate('steam'), function(req, res) {
- //res.redirect('/');
- });
- function use_orginalurl(req, res, next){
- req.url = req.originalUrl;
- next();
- }
- app.get('/auth/steam/return', passport.authenticate('steam', { failureRedirect: '/auth/steam' }), function(req, res) {
- logger.info(req.user._json.steamid + ' successfully authenticated');
- network.players[req.user._json.steamid] = { steamid : 0, authenticated : true, id : 0, user : 0, inventory : { items : {} } };
- logger.info('Successfully Authenticated = '+network.authenticated(req.user._json.steamid));
- network.players[req.user._json.steamid].user = req.user._json;
- mysqlConnection.query('SELECT * FROM users WHERE steamid = '+mysqlConnection.escape(req.user._json.steamid)+'', function(err, row, results){
- if(err) {
- if(err.code === 'PROTOCOL_CONNECTION_LOST' || err.code === 'ECONNRESET'){
- handleDisconnect();
- }
- logger.error('MYSQL Error (User Authentication): ' + err);
- }
- if(row && row.length > 0){
- logger.info('Authenticated Existing User');
- mysqlConnection.query('UPDATE users SET name = \''+removescript(removequots(req.user._json.personaname))+'\', img = \''+req.user._json.avatarfull+'\' WHERE steamid ='+mysqlConnection.escape(req.user._json.steamid)+'', function(err, rows, fields) {
- if(err) {
- logger.error('MYSQL Error (Saving Existing User Data): ' + err);
- if(err.code === 'PROTOCOL_CONNECTION_LOST' || err.code === 'ECONNRESET'){
- handleDisconnect();
- }
- } else {
- res.redirect('/');
- }
- });
- } else {
- logger.info('Authenticated New User');
- mysqlConnection.query('INSERT INTO users (`steamid`, `name`, `img`) VALUES ('+mysqlConnection.escape(req.user._json.steamid)+', \''+removescript(removequots(req.user._json.personaname))+'\', \''+req.user._json.avatarfull+'\')', function(err, rows, fields) {
- if(err) {
- logger.error('MYSQL Error (Saving New User Data): ' + err);
- if(err.code === 'PROTOCOL_CONNECTION_LOST' || err.code === 'ECONNRESET'){
- handleDisconnect();
- }
- } else {
- res.redirect('/');
- loadUsersTotal();
- }
- });
- }
- });
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement