How to use TorLib to avoid DNS leaks

Dear Forum Members,
I need some advice on how best to run Tor in Java when using TorLib to avoid DNS leaks. My difficulty is how to use the TorLib class in the code snippet below to connect to a webserver:
      String url = "http://www.abc.com/index.html",
      URL server = new URL(url);
      Properties systemProperties = System.getProperties();
      systemProperties.setProperty("socks.ProxyHost","localhost");
      systemProperties.setProperty("socks.ProxyPort",9050);
      HttpURLConnection connection = (HttpURLConnection) server.openConnection();
      ......Do I need to instantiate a new socket and how to use it to point to Tor?
Apologies for asking Tor question in a Java Forum since I could not find the right forum. It would be great if you could direct me to one.
Any assistance would be appreciated.
Thanks,
Jack

Hi,
unfortunately, I cannot give support to TorLib, but I can show you an alternative:
You could use the [silvertunnel Netlib (Tor for Java library)|http://silvertunnel.org/Netlib] as follows:
// prepare Tor connectivity
NetLayer lowerNetLayer = NetFacade.getInstance().getNetLayerById(NetLayerIDs.TOR);
NetlibURLStreamHandlerFactory factory = new NetlibURLStreamHandlerFactory(false);
factory.setNetLayerForHttpHttpsFtp(lowerNetLayer);
// create the suitable URL object
String urlStr = "http://www.abc.com/index.html";
URLStreamHandler handler = factory.createURLStreamHandler("http");
URL context = null;
URL url = new URL(context, urlStr, handler);
// the rest of this method is as for every java.net.URL object
URLConnection urlConnection = url.openConnection();
urlConnection.close();This code communicates over Tor network and has no DNS leak. Docs: [HTTP over Tor in Java with silvertunnel Netlib|http://sourceforge.net/apps/trac/silvertunnel/wiki/NetlibHttp]
Bye,
C.

Similar Messages

  • Free memory after using GetRS232ErrorString() to avoid memory leak?

    Hello,
    Is it necessary to free memory after using function GetRS232ErrorString() to avoid memory leak?
    Example 1:
    int main();
    char *strError=NULL;
    strError = GetRS232ErrorString(55); /* just an example for error message */
    free(strError ); /* Do I need to free this pointer? */
    Example 2:
    int main();
    MessagePopup ("Error", GetRS232ErrorString(55)); ; /* Will I get a memory leak with this function call? */
    BR
    Frank

    It's a pity that the documentation is indeed so poor in this case, but testing shows that it always returns the same pointer, no matter the error code, so it seems to be using an internal buffer and you are not supposed to free the string (but need to copy it before the next call to GetRS232ErrorString if you need to keep the text). It does however return a different pointer for every thread, so atl least it seems to be thread safe.
    Cheers, Marcel 

  • How can I avoid memory leak problem ?

    I use Jdev 10.1.2 . I have a memory leak problem with ADF .
    My application is very large . We have at least 30 application module , each application module contain many view object
    and I have to support a lot of concurrent users .
    as I know ADF stored data of view object in http session .
    and http session live is quite long . when I use application for a while It raise Ouf of Memory error .
    I am new for ADF.
    I try to use clearCache() on view object when I don't use it any more .
    and call resetState() when I don't use Application Module any more
    I don't know much about behavior of clearCache() and resetState() .
    I am not sure that It can avoid memory leak or not .
    Do you have suggestion to avoid this problem ?

    ADF does not store data in the HTTP session.
    See Chapter 28 "Application Module State Management" in the ADF Developer's Guide for Forms/4GL Developers on the ADF Learning Center at http://download-uk.oracle.com/docs/html/B25947_01/toc.htm for more information.
    See Chapter 29 "Understanding Application Module Pooling" to learn how you can tune the pooling parameters to control how many modules are used and how many modules "hang around" for what periods of time.

  • How to use the slider to avoid keyframes movements?

    Hi there,
    first of all, I have to tell, I am not a English speaker, so please excuse me in advance. Anyway, I want to solve this particular issue: I have created an After effects project, where you can add into the composition your own text, logo or whatever... what the after effects project does is, that it turns your text, or logo into the 3D metal result. There is also camera cretaed, which moves from one position, to another. Take a look:
    The inputed text is "add content" (I have 4 cameras alltogether, but I am showing an example just on the first one, so you will not see the whole text. The rest of the cameras are also in other compositions)
    Here you can see the exact movement of the camera. However, if somebody inserts a logo or a text, which has for example 7 letters (in the next picture it is just "content") it will look like this:
    here you can see how big space we have. Also it is not appropriate to change the original size of the text in the composition to achieve the smallest gap, as we can see here. The height will be huge then...
    If I would edit it by myself, I would do this:
    -I would clicked on the button "2 views" and choose view from the "front"
    -Then I would select all the keyframes and after that i would go into the left window "front" and  using the mouse I would draged whole the camera to the position I want:
    The great thing about this is, that as I selected all the keyframes and then set the red line on one of them, the camrea will work even for the beginning! So this is how it will look after the fix.
    What the problem is, that after the small edit I want to send this project to few of my friends. Then they can easily put their text, or logo in. The text will have different height, width...it will be shorter or longer. I was just wondering, if you could help with some expressions, linkings and so on, so in the final result, of one my friends could move with the  whole camera (not just with one keyframe) using the SLIDER CONTROL. At least for the x and y axis, if z axis is also possible, it would be brilliant. It also doesn't matter how many sliders there will be .
    So basically with using the sliders, they should achieve this:
    So i need some helpful steps. Please help me. This is very important for me. I will be so much thankful!! Really! (Thanks for the potential help )

    You are way over thinking your problem and potentially headed down a path that will cause more problems that it will solve.
    If you have a camera path that is already animated and you want to change the position of the camera path as a whole the easiest way to do that would be to create a null and then parent the camera to the null. Move the null and all of the camera movements you have set up will follow. No expressions are needed. This is the easiest way to change every aspect of a motion path, rotate the entire path, scale the path, or move the path on any axis.
    If you really want to use 3 position sliders to move existing keyframes to a new value adding value + expressions values will allow you to do this. Just add an three expression control sliders to the camera layer (or any layer like the null you are using as a parent) select the name of the slider in the ECW and press enter and rename it. Something like this will be the result.
    Notice that I also have rotation and scale controls in this setup. Now that you have 3 sliders you can separate the position property of the null into individual values enable expressions in each property and type in value +, then use the pickwhip to drag from the X value to your slider named xPosition (in my example) and repeat for each operation. The value + will add the value of the slider to the current value of the position keyframes. The expression will look like this for X:
    value + effect("x position")("Slider")
    If you want to use sliders I would use a null, add expression controls to the null for position, scale, and rotation, keep the camera position property unified and then use your expression control sliders on the null to modify your existing path. I would not suggest doing this directly on camera position with separated X, Y and Z values because this will change the shape of your camera path and would be more difficult to control. You'll probably also want to create a camera POInull and use this preset to tie the camera's point of interest to the null.
    Here's an animation preset you can apply to a null that will give complete control to the motion path of any animated layer you make the child of this null. Search Animation Preset in the After Effects Search Help field if you do not know how to use them, create them, and save them.
    As a final gimme, here's a CS6 project using this animation preset to control a null's position that used to change an animated camera path.

  • Help with Dns Leak

    Hi all , im using vpn with Openvpn protocol on network manager, i have dns leak how i can fix this ? I search on the forum but dont find the answer to my question.
    Thx

    xpixelz wrote:
    Both interact with netfilter framework (iptables & ufw CLI's, gufw GUI front-end for ufw) so use whatever you want. Disabling/removing rules you created is easy as well.
    If you missed with and broke things then that's the way you'll learn more and better IMO
    I have tried in the last days configuration the ufw/gufw i have done this :
    sudo ufw default deny outgoing
    sudo ufw default deny incoming
    sudo ufw allow out on tun0 from any to any
    sudo ufw allow in on tun0 from any to any
    sudo ufw allow out from any to (my vpn ip )
    If i have the gufw enable i cant connect to anything no vpn and no my network, but if i disable the gufw i can connect to my network and vpn.
    If i disable the gufw connected to vpn server i have conection and after that i enable the gufw and i dont have any dns leak and i have a kill switch.
    Is there any way i can connect to my vpn withou i need do disable and enable gufw ?
    Thx in advnce for the help

  • How to use/read a property in a WSDL file?

    Hello list,
    Does anybody know how to use a property (e.g. myapp.host.name) in a WSDL file to dynamically switch between a certain host through the use of a property file?
    My property file would look like this:
    myapp.host.name=<some-ip-address-or-dns>
    myapp.host.port=1234
    I would save this property file as myapp.properties.
    In a WSDL file that I receive from a 3rd-party I want to remove the hardcoded hostname and replace it with my property. For instance, something like this:
    <port binding="tns:DoSomething" name="DoSomething">
        <soap address location="http://abcdks02:1234/avb_xsd/start.edw?MySource=WebService></soap:address>
    </port>{code}
    should be replaced by this:
    {code}<port binding="tns:DoSomething" name="DoSomething">
        <soap address location="http://${myapp.host.name}:${myapp.host.port}/avb_xsd/start.edw?MySource=WebService></soap:address>
    </port>Is there a fast, efficient and clean way to do this? I do not want to use maven2 filtering, because that forces a new re-deployment every time you change the value of the property. I also want to avoid Spring, because we're trying to get rid of Spring in our project.
    What else can I use? I am sure there is a fast and efficient way to do this.
    Any help is appreciated!
    Thanks,
    Gian

    Hi biblio,
    I have used the method you have mentioned to change the target end point. And that was successful. Thank you. Apart from this I have another issue. I want my web service read some database related values from properties file only when the web service is deployed. Currently the java application read the database related values in a static block. I have made this java application to a web service. I am new to java and thought of there may be something like ServletContextListener where I can read properties file. This allows me to read properties file only when the web application is deployed.

  • How to use JDBC Connection Pools in a standalone application?

    Hi, there,
    I have a question about how to use JDBC Connection Pools in an application. I know well about connection pool itself, but I am not quite sure how to keep the pool management object alive all the time to avoid being destroyed by garbage collection.
    for example, at the website: http://www.developer.com/java/other/article.php/626291, there is a simple connection pool implementation. there are three classes:JDBCConnection, the application's gateway to the database; JDBCConnectionImpl, the real class/object to provide connection; and JDBCPool, the management class to manage connection pool composed by JDBCConnectionImpl. JDBCPool is designed by Singleton pattern to make sure only one instance. supposing there is only one client to use connection for many times, I guess it's ok because this client first needs instantiate JDBCPool and JDBCConnectionImpl and then will hold the reference to JDBCPool all the time. but how about many clients want to use this JDBCPool? supposing client1 finishes using JDBCPool and quits, then JDBCPool will be destroyed by garbage collection since there is no reference to it, also all the connections of JDBCConnectionImpl in this pool will be destroyed too. that means the next client needs recreate pool and connections! so my question is that if there is a way to keep pool management instance alive all the time to provide connection to any client at any time. I guess maybe I can set the pool management class as daemon thread to solve this problem, but I am not quite sure. besides, there is some other problems about daemon thread, for example, how to make sure there is only one daemon instance? how to quit it gracefully? because once the whole application quits, the daemon thread also quits by force. in that case, all the connections in the pool won't get chance to close.
    I know there is another solution by JNDI if we develop servlet application. Tomcat provides an easy way to setup JNDI database pooling source that is available to JSP and Servlet. but how about a standalone application? I mean there is no JNDI service provider. it seems a good solution to combine Commons DBCP with JNID or Apache's Naming (http://jakarta.apache.org/commons/dbcp/index.html). but still, I don't know how to keep pool management instance alive all the time. once we create a JNDI enviroment or naming, if it will save in the memory automatically all the time? or we must implement it as a daemon thread?
    any hint will be great apprieciated!
    Sam

    To my knoledge the pool management instance stays alive as long as the pool is alive. What you have to figure out is how to keep a reference to it if you need to later access it.

  • How to use execute query For a single record

    Hi All,
    I am working with oracle forms 10g, I have developed a custom form.
    I the form user enter some data and click save in the menu and data get inserted into my table. Inside the insert statement i have hardcoded some values, Once data get inserted i cant able to see that values immediately in my text fields in my form.After requerying i can able to see the changes.
    For example I have a text field called Status, and the field is display only field. At that time of insert i have hardcoded as "INCOMPLETE". Once the user enter the data in the form and click save the data get inserted in to my table but i cant able to see the status, after i requery my form i can able to see the status.
    Here i do multi insert also.
    This is my insert statement
    BEGIN
    First_Record;
    LOOP
    IF :BANK_GUARANTEE_BLK.CHECK_IN_OUT = 'Y'
    THEN
    XXBANK_GUARANTEE_HEADERS.XXBANK_GUARANTEE_INSERT;(this is my package, here i have written my insert statement)
    --Execute_query;
    END IF;
    Exit when :System.Last_Record = 'TRUE';
    Next_Record;
    END LOOP;
    END;
    If user insert only one row and i gave Execute_query to refresh and bring the current data, but when i use execute_query Its brings up all the datas in the table.
    Can any one tell me how to avoid this and how to use execute_query for a single record.
    Thanks &regards
    Srikkanth

    Solved,
    The solution is
    set_block_property('LC_REQ_BLK',ONETIME_WHERE,'LC_PO_NUMBER='||:LC_REQ_BLK.LC_PO_NUMBER);
    go_block('LC_REQ_BLK');
    execute_query;
    Works fine.
    Regards
    Sri

  • How to Use Transient View Objects to Store Session-level Global Variables

    hi
    Please consider section "40.8.5 How to Use Transient View Objects to Store Session-level Global Variables"
    at http://download.oracle.com/docs/cd/E14571_01/web.1111/b31974/bcstatemgmt.htm#ADFFD19610
    Based on this documentation I created the example application
    at http://www.consideringred.com/files/oracle/2010/ProgrammaticalViewObjectAndRollbackApp-v0.01.zip
    It behaves as show in the screencast at http://screencast.com/t/qDvSQCgpvYdd
    Its Application Module has a Transient View Object instance "MyEmployeesContextVOVI", as master for the child View Object instance "EmpInCtxJobVI".
    On rollback the Transient View Object instance keeps its row and attribute values.
    Also when passivation and activation is forced (using jbo.ampool.doampooling=false ) the Transient View Object instance seems to keep its row and attribute values.
    questions:
    - (q1) Why does the expression #{bindings.MyEmployeesContextVOVIIterator.dataControl.transactionDirty} evaluate as true when a Transient View Object instance attribute value is changed (as shown in screencast at http://screencast.com/t/qDvSQCgpvYdd )?
    - (q2) What would be a robust approach to make a Transient View Object instance more self-contained, and manage itself to have only one single row (per instance) at all times (and as such removing the dependency on the Application Module prepareSession() as documented in "5. Create an empty row in the view object when a new user begins using the application module.")?
    many thanks
    Jan Vervecken

    Thanks for your reply Frank.
    q1) Does sample 90 help ? http://blogs.oracle.com/smuenchadf/examples/
    Yes, the sample from Steve Muench does help, "90. Avoiding Dirtying the ADF Model Transaction When Transient Attributes are Set [10.1.3] "
    at http://blogs.oracle.com/smuenchadf/examples/#90
    It does point out a difference in marking transactions dirty by different layers of the framework, "... When any attribute's value is changed through an ADFM binding, the ADFM-layer transaction is marked as dirty. ...".
    This can be illustrate with a small change in the example application
    at http://www.consideringred.com/files/oracle/2010/ProgrammaticalViewObjectAndRollbackApp-v0.02.zip
    It now shows the result of both these expressions on the page ...
    #{bindings.MyEmployeesContextVOVIIterator.dataControl.transactionDirty}
    #{bindings.MyEmployeesContextVOVIIterator.dataControl.dataProvider.transaction.dirty}... where one can be true and the other false respectively.
    See also the screencast at http://screencast.com/t/k8vgNqdKgD
    Similar to the sample from Steve Muench, another modification to the example application introduces MyCustomADFBCDataControl
    at http://www.consideringred.com/files/oracle/2010/ProgrammaticalViewObjectAndRollbackApp-v0.03.zip
    public class MyCustomADFBCDataControl
      extends JUApplication
      @Override
      public void setTransactionModified()
        ApplicationModule vApplicationModule = (ApplicationModule)getDataProvider();
        Transaction vTransaction = vApplicationModule.getTransaction();
        if (vTransaction.isDirty())
          super.setTransactionModified();
    }Resulting in what seems to be more consistent/expected transaction (dirty) information,
    see also the screencast at http://screencast.com/t/756yCs1L1
    Any feedback on why the ADF Model layer is so eager to mark a transaction dirty is always welcome.
    Currently, question (q2) remains.
    regards
    Jan

  • How to use multiple tables in developing one Graph in Endeca Integrator

    We have the requirement where we want to show the matrix for a particular entity which is coming from two separate table, there is a join which is possible on both the tables to get the correct data. But we are not able to find how to use data from two tables. We can create the SQL query with all the joining conditions but there are many tables which are involved so performance of query will be a problem. Is there any way in Endeca where I can create two data sources using two separate queries and while showing the matrix , I can join both the tables to get the matrix .

    You have not mentioned the version of Endeca that is used for your application. Joins are recently introduced in version 2.3 and could be used for avoiding complex DEFINE analytical statements. For this to work, the data should be present in the same dgraph and a single data source in Studio should point to data from both sources.
    These may not yet be the type of SQL joins that you may expect them to be as performing complex joins is also costly in Endeca. Hope you are not expecting to join huge data sets.
    The best possible solution I could think for addressing this problem is to load denormalized data (at least for now) into Endeca and do aggregations in queries. We can denormalize data in multiple ways even using ETL tools not just SQL queries as the above comment states.

  • How to use another XSLT processor

    Hello all,
    Recently, I do need to use XSLT 2.0 processor, but how to install it to the JDK? Please give the detailed steps. And how to use it, just import the package? How to avoid the program to the old processor, because I doubt probably the old processor is part of the JDK. And how does this change impact to the java web service? And how do I change the web service about this change?
    Thank you in advance.

    >
    I want to use SaxonHE9.4.0.3 processor
    >
    Michael Kay provides extensive Installation instructions for all of his products. They are included in the documentation download.
    Here is just a small part of what was provided for the version I use
    >
    Installation of Saxon simply involves unzipping the supplied download file into a suitable directory. The procedure is the same for the Standard product and the Schema-Aware product. The two products can co-exist in the same directory or in different directories.
    One of the files that will be created in this directory is the principal JAR file. This is saxon8.jar in the case of Saxon-B, saxon8sa.jar in the case of Saxon-SA. There are additional JAR files to support optional features including the JDOM interface and the SQL interface. When running Saxon, the principal JAR file should be on the class path. The class path is normally represented by an environment variable named CLASSPATH: see your Java documentation for details. Note that the JAR file itself (not the directory that contains it) should be named on the class path.

  • How to use the POST method In Oracle APEX 3.1

    Hi,
    In APEX if we are submitting the page the parameters( Variables ) will pass through URL.
    How to hide the these parameters from URL??
    I Hope POST method will solve this problem.
    How to use the POST method in APEX???
    Help me out to solve this problem.
    thanks in advance.
    Cheers,
    Shan

    In APEX if we are submitting the page the parameters( Variables ) will pass through URL.No they won't. Submission POSTs the <tt>wwv_flow</tt> form.
    Sometimes a branch may be performed after submission, generating a URL in which parameter values are visible. To avoid this, use the save state before branching option.
    Other actions&mdash;like using navigation lists, or clicking a link in a report&mdash;will perform a GET using parameters in the URL. In these cases using Session State Protection is advised.

  • How to use a USER_DATASTORE to index multiple columns in different tables

    I would appreciate if somebody can give an example or point to links with examples on how to use USER_DATASTORE on multiple columns in different tables. THe Oracle Text documentation only shows multiple columns in the same table.
    Thanks in advance.

    I am not sure why your getting the wrong results but you should seriously reconsider the approach your are taking. Using functions like this is very ineffecient and should be avoided at all cost.

  • We have a corporate iPad in our auto showroom to show guests how to use features on their vehicles. Someone locked it with their account. It was not an employee. How can I get in? I did a restore of the software already?

    We have a corporate iPad in our auto showroom to show guests how to use features on their vehicles. Someone locked it with their account. It was not an employee. How can I get in? I did a restore of the software already?

    Gather up the proof that the dealership is the original purchaser of the iPad,
    and take the iPad & that proof to a physical Apple store for possible assistance.
    It is highly suggested that you make a genius bar appointment to avoid delay
    at the store:
    Make a Genius Bar Reservation
    http://www.apple.com/retail/geniusbar/
    If no Apple store close by, get the information mentioned above and contact
    Apple Contact Us for assistance.
    Once the problem is resolved, you may wish it use Guided Access to limit
    what customers can do with the iPad.
         iOS: About Guided Access - Apple Support

  • How to use outside Class in packed library plugins

    I have found the very useful article from Michael Lacasse (https://decibel.ni.com/content/docs/DOC-19176) on how to use packed library as plugins. This approach makes the most sense when you try to distribute additional code after your executable has already been installed.
    My problem is that when I try to use a class from the main code in a plugin, the plugins won't work anymore. Ideally, I would have liked the parent plugin-interface to inherit from a class used in the main code, or using the class as an input parameter of the plugin would be the next best thing.
    I got several errors, some at execution time (#1448) or at edit time ("This VI does not match other VIs in the method: connector pane terminal(s)"). I have settled to use clusters to pass data to the plugins.
    My question is: Is it possible to use a class defined in the main code in a packed-project-library, either inherited or as a parameter? If yes, do you have any example?
    Marc Dubois
    HaroTek LLC
    www.harotek.com
    Solved!
    Go to Solution.

    I should point out that it's important to use the copy THAT'S IN THE PPL, *-NOT-* the copy from your source.
    It will compile if you mix them together, but they aren't the same object, and won't share data.
    You should never refer to your source code for the class, except to build the PPL.
    (Consider using a separate project, to avoid temptation).
    Steve Bird
    Culverson Software - Elegant software that is a pleasure to use.
    Culverson.com
    Blog for (mostly LabVIEW) programmers: Tips And Tricks

Maybe you are looking for

  • How to get object key before load data into form?

    I need to get object key (e.g. ItemCode in Item Master Data From ,docEntry in A/R Invoice From) to calculate and do something  before data is loaded into this form . I try to use SAPbouiCOM.BusinessObjectInfo.objectKey as in this code. Private Sub oA

  • Help with sending parameters

    I have a datatable of which two columns(Name and Department) were made as URL , where on clicking goes to next page. When I click on Name, it should pass a paramaeter(save). When I click on Department , it should pass other parameter (copy) <h:datata

  • Creating & printing calendar from iphoto

    Hello, I have create a calendar through Iphoto. Once finished, I sent it to Apple to be printed and its results is 100% ok. But the design options are only the ones the software allows, and I need to do more modifications. Then I printed to adobe pdf

  • Msi 645e max2 ms-6567 crashes all the time

    SOMEONE PLZ HELP ME! My computer crashes all the time.  Whenever I am playing game (warcraft iii)  In the breed game demo It crashed 6 times in the first 4 minutes in 6 tries.  I used to get error messages after every crash but I haven't been getting

  • CSML application - new field service error first page

    I have a problem with new field service laptop CSML application. I click on link after login and receive a error in page http://localhost/CSML/html/csmlFirstPage.uix 500 java.lang.NoClassDefFoundError: oracle/jbo/ComponentObject at java.lang.Class.ge