JS + cmd + curl + socks5 + EVAL === syntax issue

Discussions and Tech Support related to automating the iMacros Browser or Internet Explorer from any scripting and programming language, such as VBS (WSH), VBA, VB, Perl, Delphi, C# or C++.
Forum rules
iMacros EOL - Attention!

The renewal maintenance has officially ended for Progress iMacros effective November 20, 2023 and all versions of iMacros are now considered EOL (End-of-Life). The iMacros products will no longer be supported by Progress (aside from customer license issues), and these forums will also no longer be moderated from the Progress side.

Thank you again for your business and support.

Sincerely,
The Progress Team

Before asking a question or reporting an issue:
1. Please review the list of FAQ's.
2. Use the search box (at the top of each forum page) to see if a similar problem or question has already been addressed.
3. Try searching the iMacros Wiki - it contains the complete iMacros reference as well as plenty of samples and tutorials.
4. We can respond much faster to your posts if you include the following information: CLICK HERE FOR IMPORTANT INFORMATION TO INCLUDE IN YOUR POST
Post Reply
JonnyDee
Posts: 17
Joined: Tue Jun 10, 2014 4:51 pm

JS + cmd + curl + socks5 + EVAL === syntax issue

Post by JonnyDee » Mon May 11, 2015 3:50 pm

Hi all!

Hope this is not a duplicate .. started previously and post suddenly disappeared

CONFIG: imacros browser 10.0.2, IE11, Windows 7

Preamble: trying to find (my) best way to use a socks5 service I subscribed to with imacros

Testing: tried various tools like privoxy and pipolio (among others) but each lacked something useful(for me) :!: :?:

Basic Code: using the cmd shell I found this very workable (Socks5 listed is a public IP for my test) :idea:

Code: Select all

I:\public_html>curl -x, --proxy SOCKS5://66.239.62.153:10323 geoip.hidemyass.com:80
gives me the output I expected and verified that the proxy was working

Code: Select all

<html>
<head>
<link rel="icon" href="favicon.ico" type="image/x-icon">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>[b]162.243.163.141[/b]</title>

<img src="http://aws.hidemyass.com/flags_iso/128/us.png" align=absmiddle> [b]162.24
3.163.141[/b][b][/b]</span>
<table>
<tr>
<td>ISP:</td>
<td>Digital Ocean</td>
</tr>
<tr>
<td>Country:</td>
<td><img src="http://aws.hidemyass.com/flags_iso/16/us.png" align=absmiddle>[b]Unit
ed States[/b]</td>
</tr>
<tr>
<td>State/Region:</td>
<td>[b]NY[/b]</td>
</tr><tr>
<td>City:</td>
<td>[b]New York[/b]</td>
</tr><tr>
<td>Postal code:</td>
<td>[b]10118[/b]</td>
</tr><tr>
<td>Area code:</td>
<td>[b]212[/b]</td>
</tr></table>
</div>
Problem: every attempt at using the EVAL only produces another syntax error. Based on the EVAL Command page, this is the best I was able to compute

Code: Select all

SET !VAR1 EVAL (var x = ("I:\\public_html\\cmd.exe"; "curl -x, --proxy SOCKS5://66.239.62.153:10323 geoip.hidemyass.com:80"); x;)
'if needed >>
URL GOTO= {{!VAR1}}
Help from syntax gurus greatfully acknowledged!
Jonny

ps NO guarantee that the public SOCKS5 will continue to work: Ill test out all suggestions myself

UPDATE:

I tried the demo code here: http://wiki.imacros.net/URL#Using_Javascript

Code: Select all

 URL GOTO=http://www.iopus.com
 URL GOTO=javascript:openDemo('shared/flash/imacros1',820,650);
 TAB T=2
and it works correctly, but every version of my own based on that code I have no success

'testsocks5.iim

Code: Select all

    VERSION BUILD=10022823
    TAB T=1 
    TAB CLOSEALLOTHERS 
SET !ENCRYPTION NO    
CLEAR 
SET !ERRORIGNORE NO
SET !EXTRACT_TEST_POPUP NO
URL GOTO=google.ca
URL GOTO=bing.com
'
' -------------------start = no syntax errors reported -----the 5 code samples that didnt have syntax problems------

Code: Select all

PROXY ADDRESS=curl,<SP>-x,<SP>--proxy<SP>SOCKS5://ValidSocks5IP:port;<SP>example.com;
'PROXY ADDRESS=curl,<SP>-x,<SP>--proxy<SP>SOCKS5://ValidSocks5IP:port,<SP>example.com; 
'PROXY ADDRESS=curl,<SP>-x,<SP>--proxy<SP>SOCKS5://ValidSocks5IP:port<SP>example.com;
' ----same error reported on all three--------------^^^^^^^-----& no errors reported on syntax
' (does not go to example.com)

returns PROMPT is empty
&& then(instead of example.com) I have "The proxy server isn’t responding •Check your proxy settings curl(-x:80. Go to Tools > Internet Options > Connections. If you are on a LAN, click “LAN settings”.•Make sure your firewall settings aren’t blocking your web access.•Ask your system administrator for help.
' ===============================

Code: Select all

'PROXY ADDRESS=curl,<SP>-x,<SP>--proxy<SP>SOCKS5:/'PROXY ADDRESS=curl(-x,<SP>--proxy<SP>SOCKS5://ValidSocks5IP:port; /ValidSocks5IP:port;
' ----same error reported on both--------------^^^^^^^-----& no errors reported on syntax
' (does not go to example.com)

returns PROMPT is empty
&& then(instead of example.com) I have "The proxy server isn’t responding •Check your proxy settings curl(-x:80. Go to Tools > Internet Options > Connections. If you are on a LAN, click “LAN settings”.•Make sure your firewall settings aren’t blocking your web access.•Ask your system administrator for help.
'
' ---------------------------------ends no syntax errors reported -----------

Code: Select all

PAUSE
PROMPT {{GOTO}}
URL GOTO=example.com:80
PAUSE
I have tried following code----- start here -- syntax errors & imacros halts -----------

Code: Select all

'URL GOTO=curl,<SP>-x,<SP>--proxy<SP>SOCKS5://ValidSocks5IP:port<SP>example.com; 'Your search - curl, -x, --proxy SOCKS5://ValidSocks5IP:port example.com; - did not match any documents.
'PROXY ADDRESS=curl -x,<SP>--proxy<SP>SOCKS5://ValidSocks5IP:port;  'Wrong format of PROXY ADDRESS
'PROXY ADDRESS=curl(-x,<SP>--proxy<SP>SOCKS5://ValidSocks5IP:port);  'Wrong format of PROXY ADDRESS
'PROXY ADDRESS=curl(-x, --proxy SOCKS5://ValidSocks5IP:port; 'Wrong format of PROXY ADDRESS
'PROXY ADDRESS=curl(-x, --proxy SOCKS5://ValidSocks5IP:port) 'Wrong format of PROXY ADDRESS
'PROXY ADDRESS=curl(-x, --proxy SOCKS5:\/\/ValidSocks5IP:port) 'Wrong format of PROXY ADDRESS
'PROXY ADDRESS=curl(-x,<SP>--proxy<SP>SOCKS5://ValidSocks5IP:port)	' no error but doesnt go to proxy
'PROXY ADDRESS=curl -x,<SP>--proxy<SP>SOCKS5://ValidSocks5IP:port  'Error -1100: Wrong format of PROXY ADDRESS
'URL GOTO=javascript:open(bing.com); ' doesnt open bing && returns PROMPT is empty && then opens 'example.com' properly
'URL GOTO=javascript:open("curl,bing.com"); ''The webpage cannot be displayed
'URL GOTO=javascript:open("curl<SP>-x,<SP>--proxy<SP>SOCKS5://ValidSocks5IP:port,example.com"); ' returns '[object Window]'
'PROXY ADDRESS=javascript:open.curl("-x,<SP>--proxy<SP>SOCKS5://ValidSocks5IP:port"); 'returns PROMPT is empty && then opens 'example.com' properly
'PROXY ADDRESS=javascript:open.curl("-x,<SP>--proxy<SP>SOCKS5://ValidSocks5IP:port");  'same web page displayed at the PAUSE && then after PAUSE =The webpage cannot be displayed
'PROXY ADDRESS=javascript:curl("-x,<SP>--proxy<SP>SOCKS5://ValidSocks5IP:port"); 'same web page displayed at the PAUSE && then after PAUSE =The webpage cannot be displayed
'PROXY ADDRESS=javascript:open("curl<SP>-x,<SP>--proxy<SP>SOCKS5://ValidSocks5IP:port"); 'The webpage cannot be displayed
'URL GOTO=javascript:open 'curl("-x,<SP>--proxy<SP>SOCKS5://ValidSocks5IP:port")';
'URL GOTO=javascript:open("curl<SP>-x,<SP>--proxy<SP>SOCKS5://ValidSocks5IP:port"); ' returns '[object Window]'
'URL GOTO=javascript:start("curl<SP>-x,<SP>--proxy<SP>SOCKS5://ValidSocks5IP:port");
'URL GOTO=javascript:run("curl<SP>-x,<SP>--proxy<SP>SOCKS5://ValidSocks5IP:port");
'URL GOTO=javascript:curl("-x,<SP>--proxy<SP>SOCKS5://ValidSocks5IP:port");
'URL GOTO=javascript:("curl<SP>-x,<SP>--proxy<SP>SOCKS5://ValidSocks5IP:port"); example.com:80");
'URL GOTO= javascript:openDemo(curl<SP>-x,<SP>--proxy<SP>SOCKS5://ValidSocks5IP:port example.com:80);
'URL GOTO= javascript:curl ('-x,<SP>--proxy<SP>SOCKS5://ValidSocks5IP:port example.com:80');
'URL GOTO= javascript:curl ('-x,<SP>--proxy<SP>SOCKS5://ValidSocks5IP:port example.com');
'URL GOTO= javascript:curl '-x,<SP>--proxy<SP>SOCKS5://ValidSocks5IP:port example.com';
'URL GOTO= javascript:curl ("-x, --proxy SOCKS5://ValidSocks5IP:port example.com");
'URL GOTO= javascript:curl "-x, --proxy SOCKS5://ValidSocks5IP:port example.com";
'URL GOTO= javascript:curl ("-x, --proxy SOCKS5://ValidSocks5IP:port example.com:80")
'URL GOTO= javascript:curl ("-x, --proxy SOCKS5://ValidSocks5IP:port example.com")
chivracq
Posts: 10301
Joined: Sat Apr 13, 2013 1:07 pm
Location: Amsterdam (NL)

Re: JS + cmd + curl + socks5 + EVAL === syntax issue

Post by chivracq » Tue May 12, 2015 9:40 pm

Foufff, complex Question..., but OK, my 2 cts as I use 'EVAL()' extensively and your Syntax looks wrong to me indeed...:

Code: Select all

SET !VAR1 EVAL (var x = ("I:\\public_html\\cmd.exe"; "curl -x, --proxy SOCKS5://66.239.62.153:10323 geoip.hidemyass.com:80"); x;)
'if needed >>
URL GOTO= {{!VAR1}}
I would rather use stg like this:

Code: Select all

SET !VAR1 EVAL("var x='I:\\public_html\\cmd.exe; curl -x, --proxy SOCKS5://66.239.62.153:10323 geoip.hidemyass.com:80'; x;")
'if needed >>
URL GOTO= {{!VAR1}}
And the Syntax to open a Local File is:

Code: Select all

URL GOTO=file:///D:/TEMP/iMacros/Current/iMacros/Downloads/Temp.html
=> With Forward Slashes, so you may have to use:

Code: Select all

SET !VAR1 EVAL("var x='I:/public_html/cmd.exe; curl -x, --proxy SOCKS5://66.239.62.153:10323 geoip.hidemyass.com:80'; x;")
'if needed >>
URL GOTO=file:///{{!VAR1}}
But 'cmd.exe' is an .EXE, and I think that since FF14, the Browser prevents running Executable Files from JavaScript.
A Workaround could be to use a Windows Shortcut on 'cmd.exe' with all your Parameters, then use the FF Add-on 'External Application Buttons' with a Button on this 'cmd.exe' Shortcut, with a Shortcut for that Button and call that Button by its Shortcut using the EVENT Mode. It's pretty cumbersome but it works normally, I had tested it maybe some 2 years ago, even if I tried again for some recent Thread a few weeks ago to get it to work again, but I didn't really succeed anymore, but I didn't spend much-much time on the Problem...
- (F)CI(M) = (Full) Config Info (Missing): iMacros + Browser + OS (+ all 3 Versions + 'Free'/'PE'/'Trial').
- FCI not mentioned: I don't even read the Qt...! (or only to catch Spam!)
- Script & URL help a lot for more "educated" Help...
JonnyDee
Posts: 17
Joined: Tue Jun 10, 2014 4:51 pm

Re: JS + cmd + curl + socks5 + EVAL === syntax issue

Post by JonnyDee » Wed May 20, 2015 9:47 pm

@ by chivracq on Tue May 12, 2015 5:40 pm

TYVM for the input ... no happiness with suggestions offered

For me, it looks that I will be running everything from .bat files :roll: (for this project) to have a more robust solution. :shock:

Be well,
Jonny
Post Reply