ISHACK v1.4
An Imageshack commandline uploader.By Elektro H@cker.
(http://img405.imageshack.us/img405/8020/captura1vw.png)
(http://img26.imageshack.us/img26/7198/elektrohacker.png)
(http://img571.imageshack.us/img571/5222/81158499.png)
Modo de empleo:
IShack (Opciones) (Archivo)
Ejemplos:
IShack -d Imagen.jpg
(Devuelve el enlace directo de la imagen)
IShack -d "C:\Imagen1.bmp" "C:\Imagen2.jpg" "C:\Imagen3.png"
(Devuelve el enlace directo de varias imagenes)
IShack --private -b -h "C:\Imagen.jpg"
(Marca la imagen como privada, y devuelve el enlace BB y HTML de la imagen)
IShack --resize 640x480 -d Imagen1.jpg Imagen2.bmp
(Redimensiona las imagenes a XxY y devuelve el enlace directo)
IShack --config
(Muestra el menú de configuración de cuenta de acceso)
.
Opciones:
-d --direct
Devuelve el enlace directo de la imagen.
-t --thumb
Devuelve el enlace directo de la miniatura de la imagen.
-b --bbcode
Devuelve el enlace de la imagen en formato BB.
-bt --bbcodethumb
Devuelve el enlace de la imagen con miniatura en formato BB.
-h --html
Devuelve el enlace de la imagen en formato HTML.
-ht --htmlthumb
Devuelve el enlace de la imagen con miniatura en formato HTML.
-i --imageshack
Devuelve el enlace web de la imagen en imageshack.
-y --yfrog
Devuelve el enlace web de la imagen en YFrog.
-yt --yfrogthumb
Devuelve el enlace de la miniatura de la imagen en YFrog.
-a --all
Devuelve el enlace de la imagen en todos los formatos.
-p --private
Marca la imagen como privada.
-r --resize
Redimensiona la imagen.
-c --config
Establece los datos de acceso a una cuenta de ImagesHack.
/? Muestra esta ayuda.
Cambios en la versión 1.4
- El script ahora comprueba si el usuario/pass existe en Imageshack.
- Añadida una opción para redimensionar la imagen subida.
- Eliminada la opción para marcar la imagen como "pública", pues era innecesaria.
- Añadido un switch alternativo ("-p") para la opción "--private".
Cambios en la versión 1.3 Corregido un error de última hora en los switches yes/no de la privacidad de la imagen, estaban al revés xD.
Cambios en la versión 1.2
- Un cambio de nombre, ahora es ISHACK ...xD
- El programa ahora acepta más de una opción de formato al mismo tiempo
(Antes solo se podía usar uno de los parámetros, ahora se pueden elegir los formatos deseados)
- Se puede subir más de un archivo simultaneamente.
- Opcion añadida para poder marcar la imagen como pública o privada
- Más opciones de formato añadidas pudiendo obtener los siguientes enlaces:
bb code thumbnail
html thumbnail
imageshack web
yfrog web
yfrog web thumbnail
- Se genera automáticamente un código de miniaturas aunque Imageshack no cree la miniatura.
- Los datos de acceso de la cuenta de ImagesHack se almacenan (cifrados) en el registro de Windows.
- Pequeños cambios internos en el código, se ha simplificado y mejorado un poco dentro de lo que me ha sido posible. (No soy un PRO de Ruby :P)
ERRORES CORREGIDOS:
- Si la imagen es demasiado pequeña ImagesHack no devuelve una miniatura pero ya no da error.
- Corregida la información de los formatos compatibles (ICO no es soportado por Imageshack)
Cambios en la versión 1.1
- Se puede configurar para subir las imagenes anónimamente o a una cuenta
- Se comprueba si la imagen se subió correctamente
- La obtención de la imagen en BB code link se ha modificado quitandole el tag [ URL ]
- El código del script se ha simplificado y mejorado un poco...
DESCARGAS:SHACK.exe (El script compilado, nada más): http://exoshare.com/download.php?uid=RR0ZEMGX
SHACK.exe (Instalador personalizado para windows que añade opciones al menú contextual...): http://exoshare.com/download.php?uid=1PPR9PPT
(http://img248.imageshack.us/img248/6493/captura1dw.png)
(http://img835.imageshack.us/img835/406/prtscrcapturef.jpg)
ISHACK.rb (v 1.4):
# -*- coding: UTF-8 -*-
require 'rest_client'
require 'openssl'
require 'win32/registry'
exit if Object.const_defined?(:Ocra)
$formats = ""
$files = ""
def logo()
print "
@ @@
@ @ @ * *
@ @ @ * @@@ * @@@ @ @ *
*@ @ * @ * @ @ * @ @ @
@ * @ @ @@ @ @ @ @
@* @ @@ *@ @@@@ @ * @@ *
@ @ * @ @ @ @ * @ @ @ @
*@ @ @ @ @ @ @ @ * @ @* @
@ @@ @ * @ @@@@ @@@ @ @
v1.4
By Elektro H@cker\n"
end
def help()
print '
[Modo de empleo]
IShack (Opciones) (Archivo)
[Ejemplos]
[+] IShack -d Imagen.jpg
Devuelve el enlace directo de la imagen.
[+] IShack -d "C:\Imagen1.bmp" "C:\Imagen2.jpg" "C:\Imagen3.png"
Devuelve el enlace directo de varias imagenes.
[+] IShack --private -b -h "C:\Imagen.jpg"
Marca la imagen como privada, y devuelve el enlace BB y HTML de la imagen.
[+] IShack --resize 640x480 -d Imagen1.jpg Imagen2.bmp
Redimensiona las imagenes a XxY y devuelve el enlace directo.
[+] IShack --config
Muestra el menú de configuración de cuenta de acceso.
[Opciones]
-d --direct
Devuelve el enlace directo de la imagen.
-t --thumb
Devuelve el enlace directo de la miniatura de la imagen.
-b --bbcode
Devuelve el enlace de la imagen en formato BB.
-bt --bbcodethumb
Devuelve el enlace de la imagen con miniatura en formato BB.
-h --html
Devuelve el enlace de la imagen en formato HTML.
-ht --htmlthumb
Devuelve el enlace de la imagen con miniatura en formato HTML.
-i --imageshack
Devuelve el enlace web de la imagen en imageshack.
-y --yfrog
Devuelve el enlace web de la imagen en YFrog.
-yt --yfrogthumb
Devuelve el enlace de la miniatura de la imagen en YFrog.
-a --all
Devuelve el enlace de la imagen en todos los formatos.
-p --private
Marca la imagen como privada.
-r --resize
Redimensiona la imagen.
-c --config
Establece los datos de acceso a una cuenta de ImagesHack.
/? Muestra esta ayuda.
'
Process.exit
end
def arguments()
# empty arguments
if (ARGV.empty?) then help() end
ARGV.each do |arg|
# /?
if arg == "/?" then help() end
# -c --config
if arg =~ /-c\z/i or arg =~ /--config\z/i then configure() end
# private
if arg =~ /-p\z/i or arg =~ /--private\z/i then $privacity = "no" end
# -d --direct
if arg =~ /-d\z/i or arg =~ /--direct\z/i then $formats=$formats + "\n-d" end
# -t --thumb
if arg =~ /-t\z/i or arg =~ /--thumb\z/i then $formats=$formats + "\n-t" end
# -b --bbcode
if arg =~ /-b\z/i or arg =~ /--bbcode\z/i then $formats=$formats + "\n-b" end
# -bt --bbcodethumb
if arg =~ /-bt\z/i or arg =~ /--bbcodethumb\z/i then $formats=$formats + "\n-bt" end
# -h --html
if arg =~ /-h\z/i or arg =~ /--html\z/i then $formats=$formats + "\n-h" end
# -ht --htmlthumb
if arg =~ /-ht\z/i or arg =~ /--htmlthumb\z/i then $formats=$formats + "\n-ht" end
# -i --imageshack
if arg =~ /-i\z/i or arg =~ /--imageshack\z/i then $formats=$formats + "\n-i" end
# -y --yfrog
if arg =~ /-y\z/i or arg =~ /--yfrog\z/i then $formats=$formats + "\n-y" end
# -yt --yfrogthumb
if arg =~ /-yt\z/i or arg =~ /--yfrogthumb\z/i then $formats=$formats + "\n-yt" end
# -a --all
if arg =~ /-a\z/i or arg =~ /--all\z/i then $formats="\n-d"+"\n-t"+"\n-b"+"\n-bt"+"\n-h"+"\n-ht"+"\n-i"+"\n-y"+"\n-yt" end
# -r --resize
if arg =~ /-r\z/i or arg =~ /--resize\z/i
$resize_switch = "1"
$resize_size = ARGV.to_s.split('"'+arg+'", "').last.split('"').first
if not $resize_size[/^[0-9]{1,5}[x][0-9]{1,5}$/i]
print " [+] ERROR\n\n La resolución \"#{$resize_size}\" no es correcta...\n"
Process.exit
end
elsif arg =~ /-r\z/i or arg =~ /--resize\z/i
$resize_switch = "0"
print "hola"
sleep 3
end
# files to upload
if arg[/.bmp\z/i] or arg[/.gif\z/i] or arg[/.jpg\z/i] or arg[/.jpeg\z/i] or arg[/.png\z/i] or arg[/.tif\z/i] or arg[/.tiff\z/i]
if File.exist?(arg)
$files=$files + arg + "\n"
elsif
print " [+] ERROR\n\n La imagen #{arg} no existe...\n"
Process.exit
end
end
end # ARGV.each
# empty options
if $formats == ""
print " [+] ERROR\n\n Opción incorrecta...\n"
Process.exit
end
end
def configure()
$profile = "error id"
print "\n Puede configurar su cuenta de acceso de ImagesHack para subir las imagenes...\n\n"
until not $profile["error id"]
print " [+] Escriba su nombre de usuario: "
$user=STDIN.gets
if $user == "\n" then $user="guest\n" end
print " [+] Escriba su password: "
$pass=STDIN.gets
if $pass == "\n" then $pass="guest\n" end
$profile = RestClient.post('http://imageshack.us/auth.php',
:username => $user.gsub("\n",""),
:password => $pass.gsub("\n",""),
:format => "xml"
)
if $profile["error id"] and not $user+$pass=="guest\nguest\n"
print "\n [+] ERROR\n\n El nombre de usuario o contraseña son incorrectos.\n\n"
elsif $user=="guest\n" and $pass=="guest\n"
$profile="guest"
end
end # until
userencrypted=cifrar($user, "DES-EDE3-CBC")
passencrypted=cifrar($pass, "DES-EDE3-CBC")
regwrite("USER", userencrypted)
regwrite("PASS", passencrypted)
puts "\n Datos configurados, vuelva a ejecutar el programa..."
Process.exit
end
def cifrar(datos, cifrado)
encrypt = OpenSSL::Cipher::Cipher.new(cifrado)
encrypt.encrypt
encrypt.update(datos) + encrypt.final
end
def descifrar(datos, cifrado)
decrypt = OpenSSL::Cipher::Cipher.new(cifrado)
decrypt.decrypt
decrypt.update(datos) + decrypt.final
end
def regwrite(keyname, value)
Win32::Registry::HKEY_CURRENT_USER.create("SOFTWARE\\IShack\\") do |reg|
reg[keyname, Win32::Registry::REG_SZ] = value
end
end
def regread(keyname)
Win32::Registry::HKEY_CURRENT_USER.open("SOFTWARE\\IShack\\") do |reg|
reg[keyname]
end
end
def subir(file)
print "\n [ Subiendo la imagen #{file}... ]\n\n"
begin
$Imagen = RestClient.post('http://www.imageshack.us/upload_api.php',
:a_username => $user,
:a_password => $pass,
:key => "268BEKSV9465b858a45cd1b4d2b32d1195ee6f27",
:public => $privacity,
:fileupload => File.new(file),
:optimage => $resize_switch,
:optsize => $resize_size)
rescue
print ' [+] ERROR
El error puede ser debido a uno de los siguientes motivos:
- La página esté offline.
- El tamaño de la imagen supere los 10 MB.
- Haya superado el límite de 500 imagenes hospedadas en su cuenta.
'
Process.exit
end # exception
end
def show()
if $Imagen["http://www.imageshack.us/thumbnail."] then $thumbs="no" end
$nothumb = ' ImagesHack no creó ninguna miniatura. (La imagen es demasiado pequeña)' + "\n"
direct = $Imagen.split("<image_link>").last.split("</image_link>").first.to_s
thumb = $Imagen.split("<thumb_link>").last.split("</thumb_link>").first
b = "[IMG]"+$Imagen.split("<image_bb>").last.split("</image_bb>").first.split("[IMG]").last.split("[/IMG]").first+"[/IMG]"
bt = $Imagen.split("<thumb_bb>").last.split("</thumb_bb>").first
h = $Imagen.split("<image_html>").last.split("</image_html>").first.gsub(">", ">").gsub("<", "<").gsub(""", "\"")
ht = $Imagen.split("<thumb_html>").last.split("</thumb_html>").first.gsub(">", ">").gsub("<", "<").gsub(""", "\"")
i = $Imagen.split("<is_link>").last.split("</is_link>").first
y = $Imagen.split("<yfrog_link>").last.split("</yfrog_link>").first
yt = $Imagen.split("<yfrog_thumb>").last.split("</yfrog_thumb>").first
$formats.each_line do |link|
if link.gsub("\n","") == "-d" then print " [+] DIRECTO:\n\n" + direct + "\n\n" end
if link.gsub("\n","") == "-t"
print " [+] MINIATURA:\n\n"
if $thumbs=="no"
print $nothumb + "\n" + direct + "\n\n"
elsif
print thumb + "\n\n"
end
end # thumbail
if link.gsub("\n","") == "-b" then print " [+] BB CODE:\n\n" + b + "\n\n" end
if link.gsub("\n","") == "-bt"
print " [+] BB CODE MINIATURA:\n\n"
if $thumbs=="no"
print $nothumb + "\n" + "[URL="+direct+"][IMG]"+direct+"[/IMG][/URL]"+"\n\n"
elsif
print bt + "\n\n"
end
end # bb thumbnail
if link.gsub("\n","") == "-h" then print " [+] HTML:\n\n" + h + "\n\n" end
if link.gsub("\n","") == "-ht"
print " [+] HTML MINIATURA:\n\n"
if $thumbs=="no"
print $nothumb + "\n" + '<a href="' + direct + '" target="_blank"><img src="' + direct + '" alt="Imagen subida con IShack v1.4 (By Elektro H@cker)" border="0"/></a>'+"\n\n"
elsif
print ht + "\n\n"
end
end # ht thumbnail
if link.gsub("\n","") == "-i" then print " [+] IMAGESHACK:\n\n" + i + "\n\n" end
if link.gsub("\n","") == "-y" then print " [+] YFROG:\n\n" + y + "\n\n" end
if link.gsub("\n","") == "-yt" then print " [+] YFROG MINIATURA:\n\n" + yt + "\n\n" end
end # |link|
end
logo()
arguments()
begin
$user=regread("USER")
$pass=regread("PASS")
$user=descifrar($user, "DES-EDE3-CBC").gsub("\n","")
$pass=descifrar($pass, "DES-EDE3-CBC").gsub("\n","")
rescue
$user="guest"
$pass="guest"
end
$files.each_line do |file|
subir(file.gsub("\n",""))
show()
end
__END__
Excelente!!!, jajaja (como suele ser habitual ;D )
Gracias lo he intentado instalar en un sistema de 32 bits y me dio error.
Al final cree un nuevo instalador para la ocasion, que en 32 bits me trabaja correctamente.
;InnoSetupVersion=5.5.0
[Setup]
AppName=SHACK (ImagesHack Uploader)
AppVerName=SHACK (ImagesHack Uploader) 1.1
AppVersion=1.1
DefaultDirName={pf}\Elektro H@cker Software\Shack
DefaultGroupName=SHACK (ImagesHack Uploader)
OutputBaseFilename=Shack
Compression=lzma/Max
PrivilegesRequired=poweruser
DisableDirPage=yes
DisableProgramGroupPage=yes
InfoBeforeFile=embedded\InfoBefore.txt
WizardImageFile=embedded\WizardImage.bmp
WizardSmallImageFile=embedded\WizardSmallImage.bmp
[Files]
Source: "{sys}\Shack.exe"; DestDir: "{sys}"; Flags: 32bit; MinVersion: 0.0,5.0
Source: "{pf32}\Elektro H@cker Software\Shack\Shack.ico"; DestDir: "{pf32}\Elektro H@cker Software\Shack"; Flags: 32bit; MinVersion: 0.0,5.0; Tasks: cm
Source: "{userstartmenu}\CommandLine\Shack.bat"; DestDir: "{userstartmenu}\CommandLine"; MinVersion: 0.0,5.0
[Dirs]
Name: "{pf32}\Elektro H@cker Software\Shack"
[Registry]
Root: HKCR; Subkey: "SystemFileAssociations\.BMP\shell\SubiraImagesHack"; ValueType: String; ValueData: "Subir a ImagesHack"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.BMP\shell\SubiraImagesHack"; ValueName: "icon"; ValueType: String; ValueData: "{app}\Shack.ico"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.BMP\shell\SubiraImagesHack"; ValueName: "position"; ValueType: String; ValueData: "top"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.BMP\shell\SubiraImagesHack\command"; ValueType: String; ValueData: "CMD.exe /k title Subiendo: ""%1"" & Mode con cols=80 lines=4 & For /f ""tokens=* skip=15"" %%a in ('Shack.exe -d ""%1""') do (CLS & Echo ""%1"" | More & Echo %%a & title ""%1"" & Pause>nul)"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.GIF\shell\SubiraImagesHack"; ValueType: String; ValueData: "Subir a ImagesHack"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.GIF\shell\SubiraImagesHack"; ValueName: "icon"; ValueType: String; ValueData: "{app}\Shack.ico"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.GIF\shell\SubiraImagesHack"; ValueName: "position"; ValueType: String; ValueData: "top"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.GIF\shell\SubiraImagesHack\command"; ValueType: String; ValueData: "CMD.exe /k title Subiendo: ""%1"" & Mode con cols=80 lines=4 & For /f ""tokens=* skip=15"" %%a in ('Shack.exe -d ""%1""') do (CLS & Echo ""%1"" | More & Echo %%a & title ""%1"" & Pause>nul)"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.JPG\shell\SubiraImagesHack"; ValueType: String; ValueData: "Subir a ImagesHack"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.JPG\shell\SubiraImagesHack"; ValueName: "icon"; ValueType: String; ValueData: "{app}\Shack.ico"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.JPG\shell\SubiraImagesHack"; ValueName: "position"; ValueType: String; ValueData: "top"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.JPG\shell\SubiraImagesHack\command"; ValueType: String; ValueData: "CMD.exe /k title Subiendo: ""%1"" & Mode con cols=80 lines=4 & For /f ""tokens=* skip=15"" %%a in ('Shack.exe -d ""%1""') do (CLS & Echo ""%1"" | More & Echo %%a & title ""%1"" & Pause>nul)"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.JPEG\shell\SubiraImagesHack"; ValueType: String; ValueData: "Subir a ImagesHack"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.JPEG\shell\SubiraImagesHack"; ValueName: "icon"; ValueType: String; ValueData: "{app}\Shack.ico"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.JPEG\shell\SubiraImagesHack"; ValueName: "position"; ValueType: String; ValueData: "top"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.JPEG\shell\SubiraImagesHack\command"; ValueType: String; ValueData: "CMD.exe /k title Subiendo: ""%1"" & Mode con cols=80 lines=4 & For /f ""tokens=* skip=15"" %%a in ('Shack.exe -d ""%1""') do (CLS & Echo ""%1"" | More & Echo %%a & title ""%1"" & Pause>nul)"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.PNG\shell\SubiraImagesHack"; ValueType: String; ValueData: "Subir a ImagesHack"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.PNG\shell\SubiraImagesHack"; ValueName: "icon"; ValueType: String; ValueData: "{app}\Shack.ico"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.PNG\shell\SubiraImagesHack"; ValueName: "position"; ValueType: String; ValueData: "top"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.PNG\shell\SubiraImagesHack\command"; ValueType: String; ValueData: "CMD.exe /k title Subiendo: ""%1"" & Mode con cols=80 lines=4 & For /f ""tokens=* skip=15"" %%a in ('Shack.exe -d ""%1""') do (CLS & Echo ""%1"" | More & Echo %%a & title ""%1"" & Pause>nul)"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.TIF\shell\SubiraImagesHack"; ValueType: String; ValueData: "Subir a ImagesHack"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.TIF\shell\SubiraImagesHack"; ValueName: "icon"; ValueType: String; ValueData: "{app}\Shack.ico"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.TIF\shell\SubiraImagesHack"; ValueName: "position"; ValueType: String; ValueData: "top"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.TIF\shell\SubiraImagesHack\command"; ValueType: String; ValueData: "CMD.exe /k title Subiendo: ""%1"" & Mode con cols=80 lines=4 & For /f ""tokens=* skip=15"" %%a in ('Shack.exe -d ""%1""') do (CLS & Echo ""%1"" | More & Echo %%a & title ""%1"" & Pause>nul)"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.TIFF\shell\SubiraImagesHack"; ValueType: String; ValueData: "Subir a ImagesHack"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.TIFF\shell\SubiraImagesHack"; ValueName: "icon"; ValueType: String; ValueData: "{app}\Shack.ico"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.TIFF\shell\SubiraImagesHack"; ValueName: "position"; ValueType: String; ValueData: "top"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.TIFF\shell\SubiraImagesHack\command"; ValueType: String; ValueData: "CMD.exe /k title Subiendo: ""%1"" & Mode con cols=80 lines=4 & For /f ""tokens=* skip=15"" %%a in ('Shack.exe -d ""%1""') do (CLS & Echo ""%1"" | More & Echo %%a & title ""%1"" & Pause>nul)"; MinVersion: 0.0,5.0;
[Run]
Filename: {userstartmenu}\CommandLine\Shack.bat; Description: "{cm:LaunchProgram,SHACK (ImagesHack Uploader)}"; MinVersion: 0.0,5.0; Flags: NoWait PostInstall;
Filename: shack.exe; Parameters: -c; Description: "Configurar SHACK"; MinVersion: 0.0,5.0; Flags: PostInstall NoWait;
[Tasks]
Name: "cm"; Description: "Agregar ""Subir a ImagesHack"" al menú contextual"; MinVersion: 0.0,5.0;
[CustomMessages]
default.NameAndVersion=%1 version %2
default.AdditionalIcons=Additional icons:
default.CreateDesktopIcon=Create a &desktop icon
default.CreateQuickLaunchIcon=Create a &Quick Launch icon
default.ProgramOnTheWeb=%1 on the Web
default.UninstallProgram=Uninstall %1
default.LaunchProgram=Launch %1
default.AssocFileExtension=&Associate %1 with the %2 file extension
default.AssocingFileExtension=Associating %1 with the %2 file extension...
default.AutoStartProgramGroupDescription=Startup:
default.AutoStartProgram=Automatically start %1
default.AddonHostProgramNotFound=%1 could not be located in the folder you selected.%n%nDo you want to continue anyway?
[Languages]
; These files are stubs
; To achieve better results after recompilation, use the real language files
Name: "default"; MessagesFile: "embedded\default.isl";
¿Se podria poner en el instalador la opcion de borrar el archivo de configuracion y ocultar un poco el nombre y el usuario, usando un cifrado seguro con un poco de salt?
Salu2
NUEVA VERSIÓN 1.2 DISPONIBLE PARA DESCARGAR
Cita de: Garcad en 18 Octubre 2012, 21:56 PM
Gracias lo he intentado instalar en un sistema de 32 bits y me dio error.
Al final cree un nuevo instalador para la ocasion, que en 32 bits me trabaja correctamente.
Tienes razón, no lo testeé en win x86, pero puedes usar este script que ya funciona bien:
PD: el InnoUnp omite muchos flags importantes y muchos valores al desempaquetar, pero veo que te has manejado bien con eso.
;ISHACK v1.2 By Elektro H@cker
[Setup]
AppName=ISHACK (ImagesHack Uploader)
AppVerName=ISHACK (ImagesHack Uploader) v1.2
AppVersion=v1.2
DefaultDirName={pf}\Elektro H@cker Software\ISHACK
DefaultGroupName=ISHACK (ImagesHack Uploader)
OutputBaseFilename=ISHACK
AlwaysShowComponentsList=false
DisableDirPage=true
DisableProgramGroupPage=true
DisableReadyPage=true
DisableStartupPrompt=true
FlatComponentsList=false
PrivilegesRequired=none
RestartIfNeededByRun=false
ShowLanguageDialog=no
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=true
InfoBeforeFile=embedded\InfoBefore.txt
WizardImageFile=embedded\WizardImage.bmp
WizardSmallImageFile=embedded\WizardSmallImage.bmp
ArchitecturesInstallIn64BitMode=x64
SetupIconFile=icono.ico
[Dirs]
Name: {pf}\Elektro H@cker Software\ISHACK
[Files]
Source: {sys}\ISHACK.exe; DestDir: {sys}
Source: {sys}\ISHACK.exe; DestDir: {syswow64}; Flags: noregerror
Source: {pf}\Elektro H@cker Software\ISHACK\ISHACK.ico; DestDir: {pf}\Elektro H@cker Software\ISHACK
Source: {userstartmenu}\CommandLine\ISHACK.bat; DestDir: {userstartmenu}\CommandLine
[Registry]
Root: HKCR; Subkey: SystemFileAssociations\.BMP\shell\SubiraImagesHack; ValueType: String; ValueData: Subir a ImagesHack; tasks: BMP; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.BMP\shell\SubiraImagesHack; ValueName: icon; ValueType: String; ValueData: {app}\ISHACK.ico; tasks: BMP; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.BMP\shell\SubiraImagesHack; ValueName: position; ValueType: String; ValueData: top; tasks: BMP; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.BMP\shell\SubiraImagesHack\command; ValueType: String; ValueData: "CMD /Q /k ""Title ISHACK: ""%1"" & Mode con cols=80 lines=6 & Echo+ & Echo: ""%1"" | MORE & (For /f ""tokens=* skip=15"" %%a in ('ISHACK.exe -d ""%1""') do (Echo %%a & title ""%1"")) & (Pause>NUL)"""; tasks: BMP; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.GIF\shell\SubiraImagesHack; ValueType: String; ValueData: Subir a ImagesHack; tasks: GIF; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.GIF\shell\SubiraImagesHack; ValueName: icon; ValueType: String; ValueData: {app}\ISHACK.ico; tasks: GIF; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.GIF\shell\SubiraImagesHack; ValueName: position; ValueType: String; ValueData: top; tasks: GIF; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.GIF\shell\SubiraImagesHack\command; ValueType: String; ValueData: "CMD /Q /k ""Title ISHACK: ""%1"" & Mode con cols=80 lines=6 & Echo+ & Echo: ""%1"" | MORE & (For /f ""tokens=* skip=15"" %%a in ('ISHACK.exe -d ""%1""') do (Echo %%a & title ""%1"")) & (Pause>NUL)"""; tasks: GIF; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.JPEG\shell\SubiraImagesHack; ValueType: String; ValueData: Subir a ImagesHack; tasks: JPG; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.JPEG\shell\SubiraImagesHack; ValueName: icon; ValueType: String; ValueData: {app}\ISHACK.ico; tasks: JPG; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.JPEG\shell\SubiraImagesHack; ValueName: position; ValueType: String; ValueData: top; tasks: JPG; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.JPEG\shell\SubiraImagesHack\command; ValueType: String; ValueData: "CMD /Q /k ""Title ISHACK: ""%1"" & Mode con cols=80 lines=6 & Echo+ & Echo: ""%1"" | MORE & (For /f ""tokens=* skip=15"" %%a in ('ISHACK.exe -d ""%1""') do (Echo %%a & title ""%1"")) & (Pause>NUL)"""; tasks: JPG; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.JPG\shell\SubiraImagesHack; ValueType: String; ValueData: Subir a ImagesHack; tasks: JPG; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.JPG\shell\SubiraImagesHack; ValueName: icon; ValueType: String; ValueData: {app}\ISHACK.ico; tasks: JPG; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.JPG\shell\SubiraImagesHack; ValueName: position; ValueType: String; ValueData: top; tasks: JPG; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.JPG\shell\SubiraImagesHack\command; ValueType: String; ValueData: "CMD /Q /k ""Title ISHACK: ""%1"" & Mode con cols=80 lines=6 & Echo+ & Echo: ""%1"" | MORE & (For /f ""tokens=* skip=15"" %%a in ('ISHACK.exe -d ""%1""') do (Echo %%a & title ""%1"")) & (Pause>NUL)"""; tasks: JPG; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.PNG\shell\SubiraImagesHack; ValueType: String; ValueData: Subir a ImagesHack; tasks: PNG; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.PNG\shell\SubiraImagesHack; ValueName: icon; ValueType: String; ValueData: {app}\ISHACK.ico; tasks: PNG; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.PNG\shell\SubiraImagesHack; ValueName: position; ValueType: String; ValueData: top; tasks: PNG; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.PNG\shell\SubiraImagesHack\command; ValueType: String; ValueData: "CMD /Q /k ""Title ISHACK: ""%1"" & Mode con cols=80 lines=6 & Echo+ & Echo: ""%1"" | MORE & (For /f ""tokens=* skip=15"" %%a in ('ISHACK.exe -d ""%1""') do (Echo %%a & title ""%1"")) & (Pause>NUL)"""; tasks: PNG; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.TIF\shell\SubiraImagesHack; ValueType: String; ValueData: Subir a ImagesHack; tasks: TIF; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.TIF\shell\SubiraImagesHack; ValueName: icon; ValueType: String; ValueData: {app}\ISHACK.ico; tasks: TIF; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.TIF\shell\SubiraImagesHack; ValueName: position; ValueType: String; ValueData: top; tasks: TIF; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.TIF\shell\SubiraImagesHack\command; ValueType: String; ValueData: "CMD /Q /k ""Title ISHACK: ""%1"" & Mode con cols=80 lines=6 & Echo+ & Echo: ""%1"" | MORE & (For /f ""tokens=* skip=15"" %%a in ('ISHACK.exe -d ""%1""') do (Echo %%a & title ""%1"")) & (Pause>NUL)"""; tasks: TIF; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.TIFF\shell\SubiraImagesHack; ValueType: String; ValueData: Subir a ImagesHack; tasks: TIF; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.TIFF\shell\SubiraImagesHack; ValueName: icon; ValueType: String; ValueData: {app}\ISHACK.ico; tasks: TIF; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.TIFF\shell\SubiraImagesHack; ValueName: position; ValueType: String; ValueData: top; tasks: TIF; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.TIFF\shell\SubiraImagesHack\command; ValueType: String; ValueData: "CMD /Q /k ""Title ISHACK: ""%1"" & Mode con cols=80 lines=6 & Echo+ & Echo: ""%1"" | MORE & (For /f ""tokens=* skip=15"" %%a in ('ISHACK.exe -d ""%1""') do (Echo %%a & title ""%1"")) & (Pause>NUL)"""; tasks: TIF; flags: uninsdeletekey
[Run]
Filename: {userstartmenu}\CommandLine\ISHACK.bat; Description: Ejecutar ISHACK; Flags: nowait postinstall skipifsilent shellexec unchecked
Filename: ISHACK.exe; Parameters: -c; Description: Configurar ISHACK; Flags: nowait postinstall skipifsilent shellexec
[Tasks]
Name: BMP; Description: .BMP; Groupdescription: "Opción en el menú contextual: ""Subir a ImagesHack"""
Name: GIF; Description: .GIF; Groupdescription: "Opción en el menú contextual: ""Subir a ImagesHack"""
Name: JPG; Description: .JPEG/JPG; Groupdescription: "Opción en el menú contextual: ""Subir a ImagesHack"""
Name: PNG; Description: .PNG; Groupdescription: "Opción en el menú contextual: ""Subir a ImagesHack"""
Name: TIF; Description: .TIF/TIFF; Groupdescription: "Opción en el menú contextual: ""Subir a ImagesHack"""
Cita de: Garcad en 18 Octubre 2012, 21:56 PM
¿Se podria poner en el instalador la opcion de borrar el archivo de configuracion y ocultar un poco el nombre y el usuario, usando un cifrado seguro con un poco de salt?
Las dos peticiones me parecen innecesarias, ni que fuese un programa de seguridad, o algo xD
Pero he tomado bastante en cuenta tu segunda petición. Eso sí, no me he esmerado mucho con la cifrado, este tipo de programa no necesita más...
PD: En el post principal tienes la nueva versión, y nuevo instalador.
PD2: Gracias por las sugerencias
Saludos
Sensual código ! n_n
Cita de: 0x5d en 20 Octubre 2012, 18:22 PM
Sensual código ! n_n
No te burles del mod! :xD
NUEVA VERSIÓN 1.4 DISPONIBLE PARA DESCARGARPD: En el comentario principal
Gracias, magnifico trabajo.
Salu2