Combine JAR Files Into a Single JAR File

    <target name=“package-for-store” depends=“jar”>

        <!– Change the value of this property to be the name of your JAR,
            minus the .jar extension. It should not have spaces.
            <property name=”store.jar.name” value=”MyJarName”/>
       –>
        <property name=“store.jar.name” value=“MarsRoverViewer”/>

        <!– don’t edit below this line –>

        <property name=“store.dir” value=“store”/>
        <property name=“store.jar” value=“${store.dir}/${store.jar.name}.jar”/>

        <echo message=“Packaging ${application.title} into a single JAR at ${store.jar}”/>

        <delete dir=“${store.dir}”/>
        <mkdir dir=“${store.dir}”/>

        <jar destfile=“${store.dir}/temp_final.jar” filesetmanifest=“skip”>
            <zipgroupfileset dir=“dist” includes=“*.jar”/>
            <zipgroupfileset dir=“dist/lib” includes=“*.jar”/>

            <manifest>
                <attribute name=“Main-Class” value=“${main.class}”/>
            </manifest>
        </jar>

        <zip destfile=“${store.jar}”>
            <zipfileset src=“${store.dir}/temp_final.jar”
           excludes=“META-INF/*.SF, META-INF/*.DSA, META-INF/*.RSA”/>
        </zip>

        <delete file=“${store.dir}/temp_final.jar”/>

    </target>

highligted by quickhighlighter

TCP-over-DNS tunnel software

DNS stands for “Domain Name System”. The purpose of DNS is convert a domain name, such as “analogbit.com” to an ip address, such as “208.113.168.166”. The interesting thing about DNS queries is that they are usually recursive queries. This means that if a server doesn’t know the answer for a domain name, it is allowed to ask other servers for the answer. So while a firewall or restrictive ISP may filter regular internet traffic they probably overlooked DNS traffic.