User Tag List

Page 1 of 3 1 2 3 LastLast
Results 1 to 10 of 25

Thread: MMF2 cURL Extension (Windows for now)

  1. #1
    Clicker Fusion 2.5 DeveloperAndroid Export ModuleHTML5 Export ModuleiOS Export ModuleSWF Export Module
    DracisLooby's Avatar
    Join Date
    Jun 2008
    Location
    Washington, United States
    Posts
    169
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Question MMF2 cURL Extension (Windows for now)

    cURL MMF2 Extension

    First thing, if you don't know what cURL is, its a very handy tool that supports pretty much every standard networking protocol under the sun, usually in a command line/terminal.
    Its very handy to have for network testing, or tool usage, like getting using the PUT protocol, and other specific instance networking needs.

    For a long while, everyone has been using the GET object, which is absolutely awesome, works very well, but it lacks HTTPS/SSL support, and thats something that is defiantly needed, for obvious security reasons, and while encrypting data, and sending in plain text may be secure, to an extent, I would much rather do both, encrypting data, and then sending it over a encrypted connection.

    Luckily, cURL has a GNU license library available, called 'libcURL', so I decided to download the EDIF SDK, and take a crack at integrating cURL into an MMF2 extension, and after a few setbacks and questions, I've gotten the concept to work as intended, I can GET both HTTP/paintext and HTTPS/SSL perfectly, as well as the ability to use self signed certificates.

    After I learned about the nuances of C++, and worked it a bit, it actually became pretty simple to integrate the library, and let it be redistributed into a MMF2 extension.

    The only issue I have, is what features of cURL would you want integrated? I already have GET, with HTTP and HTTPS/SSL support, up and running, and adding file downloading would be super easy. cURL is very powerful, so if you guys would want to see anything added for its first alpha, please post below, so I can get it in for testing!

    EDIT: Oops, forgot to say, I will release proof of concept in a bit, I want to clean it up first.
    Really named Ben Otter, but oh well, eh?

  2. #2
    Clickteam Clickteam
    Danny's Avatar
    Join Date
    Aug 2007
    Location
    United Kingdom
    Posts
    3,006
    Mentioned
    21 Post(s)
    Tagged
    2 Thread(s)
    VERY interesting DracisLooby. I am more than willing to help test this... particularly in using cURL with Base 64 encoding for file uploading...

  3. #3
    Clicker Fusion 2.5 DeveloperSWF Export ModuleUnicode Add-on
    Looki's Avatar
    Join Date
    Aug 2006
    Location
    Karlsruhe, Germany
    Posts
    3,739
    Mentioned
    4 Post(s)
    Tagged
    1 Thread(s)
    Huh, that reminds me, I'm pretty sure somebody told me that the GET object would get HTTPS support really soon back at Click Convention. What happened?

    Anyway, nice work!

  4. #4
    Clicker Fusion 2.5 DeveloperAndroid Export ModuleHTML5 Export ModuleiOS Export ModuleSWF Export Module
    DracisLooby's Avatar
    Join Date
    Jun 2008
    Location
    Washington, United States
    Posts
    169
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    @Danny: Alright, looking into base64 uploads, It looks like the API has not been fully implemented in libcurl, But base64 encoding could be done separately, and just pumped into libcurl as an upload. I'll look into it more, let me know if you had something specific in mind.

    @Looki: If there is a GET object with HTTPS support, that would be nice to know, but from what I could find, their wasn't, although, even if there was, a more robust alternative might be a good idea, none the less.
    Really named Ben Otter, but oh well, eh?

  5. #5
    Clicker Fusion 2.5 DeveloperAndroid Export ModuleHTML5 Export ModuleSWF Export ModuleInstall Creator ProPatch Maker
    Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Fusion 2.5+ DLC (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)iOS Export Module (Steam)Universal Windows Platform Export Module (Steam)
    DJFuego's Avatar
    Join Date
    Jul 2006
    Location
    UK
    Posts
    1,410
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)
    This sounds great!
    I could use test url is valid, download page, set referrer/user agent, use ssl with certs.
    I would love to be able to use sftp https smtp(s)
    If you can get this object to do ssl/tls with the abov protocols I'll be happy

  6. #6
    Clicker Fusion 2.5 DeveloperAndroid Export ModuleiOS Export ModuleSWF Export Module
    Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)iOS Export Module (Steam)Universal Windows Platform Export Module (Steam)
    Popcorn's Avatar
    Join Date
    Jun 2006
    Location
    Norway, Bergen
    Posts
    2,345
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)
    This sounds very interesting!
    I however know nothing about ssl, https or cUrl, so I have some questions:

    Will we use this in the same way as we use the Get object?
    Does all servers support it?
    Do we have to do something special on the server for it to work?

    Also, do you plan making versions for iOS and Android?

  7. #7
    Clicker Fusion 2.5 DeveloperAndroid Export ModuleHTML5 Export ModuleiOS Export ModuleSWF Export Module
    DracisLooby's Avatar
    Join Date
    Jun 2008
    Location
    Washington, United States
    Posts
    169
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    @DJFuego: Alright, I'll add "Test For Valid URL" to list of features, as well as editing Header Text, SSL/Certs work, but as it goes, Libcurl does not include ANY standard CA bundles, hoverer, it allows you to specify your own, so if you have self sign your own certs with a private CA, its works golden.

    Also, I'm looking into SFTP/SSH and SMTP/IMAP, but those are somewhat specialized, and might required a custom cURL library compile, so don't expect them in alpha.

    For the time being, I've modeling it after a much more fleshed out GET Object, and once that's done, I'll start working on cURL's more advanced features.

    @Popcorn: cURL is a handy tool for use and testing of networking protocols, that also happens to provide a diverse set of programming libraries (known as libcurl), allowing me to effectively make a good, all-around, networking extension.

    As for HTTPS/SSL (Hyper Text Transfer Protocol Secure and Secure Socket Layer) are modified protocols to allow for end-to-end encryption of data, making it much safer to transmit, well, anything over HTTP, and if used with existing encryption protocols, it just becomes incredibly more secure.

    What I have now is fairly simple, I've done my best to model it after the GET Object, specifically because I wanted a GET Object with a few more options. It also transparently switches between HTTPS and HTTP, you use either on the same Action, and it will just pick the appropriate protocol.

    If your server supports HTTP, you can use the extension, but it takes a bit more work to enable HTTPS/SSL on most servers, so if you want the extra security, you might have to learn about secure server management, but its pretty standard. I know that Apache2 has fairly simple HTTPS/SSL support, and I'm sure that IIS is the same.
    Really named Ben Otter, but oh well, eh?

  8. #8
    Clicker Fusion 2.5 DeveloperAndroid Export ModuleHTML5 Export ModuleiOS Export ModuleSWF Export Module
    DracisLooby's Avatar
    Join Date
    Jun 2008
    Location
    Washington, United States
    Posts
    169
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    So, I'm not ready to release the full extension, its buggy and broke a bit, I do have a WIP demo that SEEMS to be working fine, with all its libraries included.

    Link to the EXE Demo


    Whats Included:
    • The demo EXE

    • A Certificate Authority file, its about 141 different top level CA's root certificates pumped into one single PEM, should cover pretty much all your bases, use it if you wanna browse NON-SELF SIGNED certificates

    • The required cURL License, called README. Remember, if (when I finally put it out) you use the cURL Object, you are legally obliged to include the standard README license with every copy you distribute, but thats it.



    Its default settings have it set up to my web-server, gives a little demo for HTTPS/SSL data transfer, with server side (php) interaction. Sniff the packets, and let me know what you think.

    Oh, if you find a bug, let me know, its finicky as hell. Hope this gives a good taste for what a much more robust and secure networking object can do!
    Really named Ben Otter, but oh well, eh?

  9. #9
    Clicker Fusion 2.5 DeveloperAndroid Export ModuleiOS Export ModuleSWF Export Module
    Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)iOS Export Module (Steam)Universal Windows Platform Export Module (Steam)
    Popcorn's Avatar
    Join Date
    Jun 2006
    Location
    Norway, Bergen
    Posts
    2,345
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)
    Doesn't seem to work, it gives me an instant crash in Windows 7.

  10. #10
    Clickteam Clickteam
    LB's Avatar
    Join Date
    Jun 2007
    Location
    Richardson, Texas, North America
    Posts
    8,937
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Nothing happens when I run it in Windows 7.

Page 1 of 3 1 2 3 LastLast

Similar Threads

  1. MMF 2 cURL extension
    By droberson in forum Extension Development
    Replies: 2
    Last Post: 11th February 2017, 04:30 PM
  2. [Paid Request] Windows Shortcut (*.LNK) Extension
    By Dines in forum Paid Design & Development Requests
    Replies: 4
    Last Post: 13th July 2014, 06:27 PM
  3. Listage fichier et installation d'extension sous windows 7
    By fbastin in forum Android Export Module Version 2.0
    Replies: 7
    Last Post: 4th May 2013, 01:52 AM
  4. Extension pour changer la résolution de windows !
    By Acepad in forum Multimedia Fusion 2 - Technical Support
    Replies: 6
    Last Post: 14th March 2012, 01:19 AM
  5. Windows Event Extension?
    By LaraSoft in forum Multimedia Fusion 2 - Technical Support
    Replies: 3
    Last Post: 24th December 2007, 01:15 AM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •