[SHOWCASE] Shotly.NET - fastest way to upload your screenshots

Page 1 of 2 12 LastLast
Results 1 to 15 of 27
  1. #1
    Valued Member Kylon is offline
    MemberRank
    Dec 2015 Join Date
    Berlin, GermanyLocation
    112Posts

    [SHOWCASE] Shotly.NET - fastest way to upload your screenshots

    Hey guys,

    I started about 2 years (2 times breaked) a new Project called 'Shotly', cuz I want to expand C# skillz.

    Shotly.NET was an idea from a old friend and a big youtuber. They started the project and I joined into this nice group. But o
    ne day it came to a dispute. We did a break and now we're back. I'm currently working alone on Shotly.NET and searched some nice guys via Facebook.

    If they are some C# developer here, they can help me maybe.
    Sign In - Shotly.NET (send PM if you want to help me)

    That things are done:
    • Capture desktop
    • Capture active window
    • Language System
    • Config-Class (config.ini)
    • Capture area
    • Graphics
    • Log System (log4net ^.^)


    What must be done:
    • Database
    • Rest API in NodeJS
    • Website
    • API to other uploaders (like Imgur, but the screen will be saved in our servers)


    What's the different between us and the others?
    We have a cool language system and a fast server. We're hosting our servers at Voxility with 10gbits DDoS Protection. We try our best to make user happy.

    We also search users who can help us to translate Shotly.

    Translated languages:
    • German
    • English




    Snippets & Screenshots
    Code:
            public void closeForm()        {
                shotlyNotification.Visible = false;
                shotlyNotification.Icon = null;
                shotlyNotification.Visible = false;
                shotlyNotification.Dispose();
                Logger.Info("Closing Shotly");
                Logger.Debug("-------------------------------------------------------------------");
            }
    Code:
            private void setLanguageComponents()        {
                try
                {
                    //Form
                    Text = Language.get("SHOTLY_GENERAL_FORM_TEXT");
    
    
                    //Tabs
                    shotlyGeneralTab1.Text = Language.get("SHOTLY_GENERAL_TAB_1");
                    shotlyGeneralTab2.Text = Language.get("SHOTLY_GENERAL_TAB_2");
                    shotlyGeneralTab3.Text = Language.get("SHOTLY_GENERAL_TAB_3");
    
    
                    //Tab1
                    generalSettingsGroup.Text = Language.get("SHOTLY_GENERAL_TAB_1_SETTINGSBOX");
                    startupCheckbox.Text = Language.get("SHOTLY_GENERAL_TAB_1_START_WITH_WINDOWS");
    
    
                    if(Config.get("Shotly", "startup") == "false")
                    {
                        startupCheckbox.Checked = false;
                        Logger.Info("Shotly doesn't start with Windows");
                    }
                    else
                    {
                        startupCheckbox.Checked = true;
                        Logger.Info("Shotly will start with Windows");
                    }
    
    
                    //Tab3
                    shotlyGeneral3Header.Text = Language.get("SHOTLY_GENERAL_TAB_3_HEADER_TEXT");
                    clipboardGroup.Text = Language.get("SHOTLY_GENERAL_TAB_3_CLIPBOARD");
                    localScreensGroup.Text = Language.get("SHOTLY_GENERAL_TAB_3_LOCAL_SCREENS");
                    shotlyGroupLanguage.Text = Language.get("SHOTLY_GENERAL_TAB_3_LANGUAGE");
                    saveScreensCheck.Text = Language.get("SHOTLY_GENERAL_TAB_3_SAVE_SCREENS_QUESTION");
                    setDefaultScreenshotPath.Text = Language.get("SHOTLY_GENERAL_TAB_3_SET__DEFAULT_SCREENSHOT_PATH");
                    openFolder.Text = Language.get("SHOTLY_GENERAL_TAB_3_OPEN_SCREENSHOT_FOLDER");
                    screenshotPath.Text = Config.get("Shotly", "screenshotPath");
    
    
    
    
    
    
                    if (Config.get("Shotly", "saveScreenshotsLocal") == "false")
                    {
    
    
                        setDefaultScreenshotPath.Enabled = false;
                        setScreenPath.Enabled = false;
                        openFolder.Enabled = false;
    
    
                        saveScreensCheck.Checked = false;
    
    
                        Logger.Info("Cann't save screenshots locally - check your Settings");
                    }
                    else
                    {
    
    
                        setDefaultScreenshotPath.Enabled = true;
                        setScreenPath.Enabled = true;
                        openFolder.Enabled = true;
    
    
                        saveScreensCheck.Checked = true;
    
    
                        Logger.Info("It's possible to save screenshots locally");
                    }
                }
                catch(Exception exe)
                {
                    Logger.Error("Cann't set language components - Exception " + exe.ToString());
                    Main m = new Main();
                    m.closeForm();
                }
            }
    Code:
            private void languageDropDown_SelectedIndexChanged(object sender, EventArgs e)        {
                try
                {
                    switch (languageDropDown.Text)
                    {
                        case "English":
                            Config.set("lang", "english", "Shotly");
                            break;
    
    
                        case "Deutsch":
                            Config.set("lang", "german", "Shotly");
                            break;
                    }
                    Logger.Info("Changed language to " + languageDropDown.Text);
                    Language.loadLang();
                    Logger.Info("Loaded Language-File");
                    setLanguageComponents();
                    Logger.Info("Loading language components");
                }
                catch (Exception ex)
                {
                    Logger.Error("Can't set language - Exception" + ex.ToString());
                    Main m = new Main();
                    m.closeForm();
                }
            }








    see ya
    Last edited by Kylon; 13-02-16 at 11:30 PM.


  2. #2
    Moderator GigaToni is offline
    ModeratorRank
    Aug 2009 Join Date
    GER / FRLocation
    2,329Posts

    Re: [SHOWCASE] Shotly.NET - fastest way to upload your screenshots

    What's the different between us and the others?
    We have a cool language system and a fast server. We're hosting our servers at Voxility with 10gbits DDoS Protection. We try our best to make user happy.
    I don't quite understand this..

    Why exactly should I use your program instead of ShareX?
    ShareX has multi-hoster support (I can host wherever I want) -> Fast server debunked
    It is open-source. Yours not..

  3. #3
    Valued Member Kylon is offline
    MemberRank
    Dec 2015 Join Date
    Berlin, GermanyLocation
    112Posts

    Re: [SHOWCASE] Shotly.NET - fastest way to upload your screenshots

    Quote Originally Posted by GigaToni View Post
    I don't quite understand this..

    Why exactly should I use your program instead of ShareX?
    ShareX has multi-hoster support (I can host wherever I want) -> Fast server debunked
    It is open-source. Yours not..
    Sign In - Shotly.NET (send PM if you want to help me)
    brruhh

    I'll set it Open-Source, but not now. It's not finished. First I want to publish the first version and then. ^.^

  4. #4
    Valued Member Kylon is offline
    MemberRank
    Dec 2015 Join Date
    Berlin, GermanyLocation
    112Posts

    Re: [SHOWCASE] Shotly.NET - fastest way to upload your screenshots

    Users has the choice to login or upload anonym (but IP will be log).









    ----------------------------------

    I started with the RestAPI too (in NodeJS), and here some snippets (nothing special):
    Code:
        app.post('/login', function(req, res) {
            if(req.headers['user-agent'] == USER_AGENT) {
            var username = sql.escape(req.body.username);
            var password = sql.escape(crypto.createHash('md5').update(req.body.password).digest("hex"));
            
            sql.query("SELECT id, username, password FROM users WHERE username = " + username + " AND password = " + password + " LIMIT 1", (error, rows, fields) => {
                if(error) {
                    console.log('Couldn\'t execute query: ' + error);
                    var response = {'response' : error};
                    res.end(JSON.stringify(response));
                }
                else {
                    if(rows.length > 0) {
                        var id = sql.escape(rows[0].id);
                        var sessionID = phpjs.md5(phpjs.uniqid(phpjs.rand(), true));
                        console.log(sessionID);
    
    
                        sql.query('UPDATE users SET sessionID = \'' + sessionID + '\' WHERE id = \'' + id + '\'', (error, rows, fields) => {
                            if(error) {
                                console.log('Couldn\'t execute query: ' + error);
                                var response = {'response' : 'error2'};
                                res.end(JSON.stringify(response));
                            }
                            else {
                                var response = {'response' : sessionID};
                                console.log('GET ("/login") got requested with: sessionID:' + sessionID + ' username: ' + username + ' password: ' + password);
                                res.end(JSON.stringify(response));
                            }
                        });
                    }
                    else {
                        var response = {'response' : false};
                        res.end(JSON.stringify(response));
                    }
                }
            });
        }
    });
    Code:
    var app = express();
    app.use(bodyParser.urlencoded({ extended: false }));
    app.use(bodyParser.json());
    var sql = mysql.createConnection({
        host    : '127.0.0.1',
        user    : 'root',
        password: '',
        database: ''
    });
    Last edited by Kylon; 14-02-16 at 04:22 PM.

  5. #5
    [SHOWCASE] Shotly.NET - fastest way to upload your screenshots Future is offline
    LegendRank
    Dec 2011 Join Date
    2,265Posts

    Re: [SHOWCASE] Shotly.NET - fastest way to upload your screenshots

    So something like the Snipping Tool or Snag-It?
    Is there something special that will make it outstanding? :P
    I like those kind of screen capturing tools a lot, so it looks like a nice project.

    I once started such a project too in C++ but it didn't went too well. Hell a lot of shit to do until you captured the screen somehow :P I hope it's less annoying to do in .NET

  6. #6
    Apprentice swaggots is offline
    MemberRank
    Nov 2013 Join Date
    18Posts

    Re: [SHOWCASE] Shotly.NET - fastest way to upload your screenshots

    Looks like a cool project. Website doesn't open for me though

  7. #7
    Apprentice GoldenHabbo is offline
    MemberRank
    Feb 2016 Join Date
    23Posts

    Re: [SHOWCASE] Shotly.NET - fastest way to upload your screenshots

    Looks good. Your application could look much nicer though, and your website is offline atm

  8. #8
    Valued Member Kylon is offline
    MemberRank
    Dec 2015 Join Date
    Berlin, GermanyLocation
    112Posts

    Re: [SHOWCASE] Shotly.NET - fastest way to upload your screenshots

    Quote Originally Posted by GoldenHabbo View Post
    Looks good. Your application could look much nicer though, and your website is offline atm
    I forgot to subscribe the thread. My bad. Sorry for the late answer.
    We're currently switching the servers, so I don't found the time to install nginx. :P

  9. #9
    Apprentice GoldenHabbo is offline
    MemberRank
    Feb 2016 Join Date
    23Posts

    Re: [SHOWCASE] Shotly.NET - fastest way to upload your screenshots

    Quote Originally Posted by Kylon View Post
    I forgot to subscribe the thread. My bad. Sorry for the late answer.
    We're currently switching the servers, so I don't found the time to install nginx. :P
    Haha no worries, just tell me when it's up. I'm interested in seeing it.

  10. #10
    Enthusiast RealPharaoh is offline
    MemberRank
    Mar 2016 Join Date
    35Posts

    Re: [SHOWCASE] Shotly.NET - fastest way to upload your screenshots

    Quote Originally Posted by Kylon View Post
    What's the different between us and the others?
    We have a cool language system and a fast server. We're hosting our servers at Voxility with 10gbits DDoS Protection. We try our best to make user happy.
    ebsite is offline

    No cached version of this page is available.


    Error 522 Ray ID: 2800f108bcfd20b4 • 2016-03-07 20:54:31 UTC

    Connection timed out

    Recorded GMT+8:00 at exactly 4:57 AM


    I don't quite understand how is it down atm and you have a very 10gbits ddos protection.

  11. #11
    Valued Member Kylon is offline
    MemberRank
    Dec 2015 Join Date
    Berlin, GermanyLocation
    112Posts

    Re: [SHOWCASE] Shotly.NET - fastest way to upload your screenshots

    Quote Originally Posted by RealPharaoh View Post
    ebsite is offline

    No cached version of this page is available.


    Error 522 Ray ID: 2800f108bcfd20b4 • 2016-03-07 20:54:31 UTC

    Connection timed out

    Recorded GMT+8:00 at exactly 4:57 AM


    I don't quite understand how is it down atm and you have a very 10gbits ddos protection.
    Server down, cuz hoster.......

    Sent from my A0001 using Tapatalk

  12. #12
    Apprentice GoldenHabbo is offline
    MemberRank
    Feb 2016 Join Date
    23Posts

    Re: [SHOWCASE] Shotly.NET - fastest way to upload your screenshots

    Quote Originally Posted by Kylon View Post
    Server down, cuz hoster.......

    Sent from my A0001 using Tapatalk
    Any idea when it'll be back up?

  13. #13
    Valued Member Kylon is offline
    MemberRank
    Dec 2015 Join Date
    Berlin, GermanyLocation
    112Posts

    Re: [SHOWCASE] Shotly.NET - fastest way to upload your screenshots

    Quote Originally Posted by GoldenHabbo View Post
    Any idea when it'll be back up?
    I'll buy a new server. I don't know when, maybe this week. :P

  14. #14
    Valued Member Kylon is offline
    MemberRank
    Dec 2015 Join Date
    Berlin, GermanyLocation
    112Posts

    Re: [SHOWCASE] Shotly.NET - fastest way to upload your screenshots

    We'll soon sponsored from a big server hoster. Don't worry, this project isn't dead!

  15. #15
    Valued Member Kylon is offline
    MemberRank
    Dec 2015 Join Date
    Berlin, GermanyLocation
    112Posts

    Re: [SHOWCASE] Shotly.NET - fastest way to upload your screenshots

    Sooooooooo. We got the new server and now I'm currently expand the API.
    ya, see you later. phpinfo()

    btw. we're searching people who wants to translate shotly in your language.
    Just PM me. >.>



Page 1 of 2 12 LastLast

Advertisement