Wiki CSS files over HTTPS use only RC4

I finally found the answer to my problem of why the wiki CSS files wouldn't load.
It turns out that the wiki forces an HTTPS connection and it retrieves the CSS files from https://d11xdyzr0div58.cloudfront.net. The encryption used for those CSS files uses 128-bit RC4 with MD5. In Firefox, the about:config parameter name is
security.ssl3.rsa_rc4_128_md5
I had turned off all RC4-based encryption for SSL3 in about:config because RC4 is old and not appropriate for secure use in the modern day. Since SSL works by the server offering to the client all of the encryption algorithms it's willing to use, and then the client selects the ones it likes, my assumption was that if the encryption parameters for a connection include RC4 Firefox would just not ever pick one of the RC4 options. However, I had no idea that there would be a website that ONLY offered RC4. My guess is that this is the case for the wiki's CSS file server, because only by turning on the about:config parameter mentioned above can I get the CSS files to load.
Is there a way to address this issue? Preferably, either the CSS file server needs to support alternative algorithms (it looks like a cloud host, is that under our control at all?), or the wiki needs a way to be viewed in non-HTTPS mode. I don't care about the security of the wiki CSS files, I care about having RC4 turned on in Firefox -- I shouldn't have to enable it.
I considered filing a feature request, but I wanted feedback first.

A couple of years ago, I wrote an extension for Firefox called CipherFox (see my sig below).  One of its features is disabling RC4 in about:config.  I've had RC4 disabled all this time, and the Arch Wiki is the first time I've ran into trouble with it being disabled.
I too don't care much about the CSS files being encrypted.  Here's what I did a couple of months ago as a crappy, hacked-up workaround:
(1) A Greasemonkey script to change link and script href's to point to http instead of https:
// ==UserScript==
// @name Archwiki Cloudfront SSL
// @description Removes SSL from Cloudfront href's
// @version 1.0.0
// @author MkFly
// @include http://wiki.archlinux.org/*
// @include https://wiki.archlinux.org/*
// ==/UserScript==
var head = document.getElementsByTagName('head')[0];
var link = head.getElementsByTagName('link');
var script = head.getElementsByTagName('script');
var cloudfront = "d11xdyzr0div58.cloudfront.net";
for (var i in link) {
link[i].href = link[i].href.replace("https://" + cloudfront, "http://" + cloudfront);
for (var i in script) {
script[i].src = script[i].src.replace("https://" + cloudfront, "http://" + cloudfront);
(2) With that installed, loading the Wiki pages was still delayed while it tried to connect via SSL and waited to time out.  I worked around that by blocking them with Adblock Plus:
|https://d11xdyzr0div58.cloudfront.net/*
I know this is a hacky way to do it, but it works for now.  Hopefully Cloudfront will let us use something better than RC4 in the future.
Last edited by MkFly (2011-01-26 05:29:22)

Similar Messages

  • Hi, I am using HP11 and iPlanet web server. When trying to upload files over HTTP using FORM ENCTYPE="multipart/form-data" that are bigger than a few Kilobytes i get a 408 error. (client timeout).

    Hi, I am using HP11 and iPlanet web server. When trying to upload files over HTTP using FORM ENCTYPE="multipart/form-data" that are bigger than a few Kilobytes i get a 408 error. (client timeout). It is as if the server has decided that the client has timed out during the file upload. The default setting is 30 seconds for AcceptTimeout in the magnus.conf file. This should be ample to get the file across, even increasing this to 2 minutes just produces the same error after 2 minutes. Any help appreciated. Apologies if this is not the correct forum for this, I couldn't see one for iPlanet and Web, many thanks, Kieran.

    Hi,
    You didnt mention which version of IWS. follow these steps.
    (1)Goto Web Server Administration Server, select the server you want to manage.
    (2)Select Preference >> Perfomance Tuning.
    (3)set HTTP Persistent Connection Timeout to your choice (eg 180 sec for three minutes)
    (4) Apply changes and restart the server.
    *Setting the timeout to a lower value, however, may    prevent the transfer of large files as timeout does not refer to the time that the connection has been idle. For example, if you are using a 2400 baud modem, and the request timeout is set to 180 seconds, then the maximum file size that can be transferred before   the connection is closed is 432000 bits (2400 multiplied by 180)
    Regards
    T.Raghulan
    [email protected]

  • Downloading Text file over http

    Hi,
    I am trying to display some plain text files over http to the client using a web browser. Everything works fine till the time the file size is small, but for the files of over 1MB the frontend just dies. Probably the display happens only after the complete transfer of the file.
    Does any one have the solution by which the text files can also be downloaded similar to the html files i.e. incrementaly. I have the code of transferring the html file over http as it happens in the explorer. But the same does not seem to work on the plain text files.
    Please help
    Sachin

    I do not have any Remote server written for this. What i am doing is, the directory in which the files are stored is exposed as a virtual directory through a web server(Apache) and then from client i am just placing a http request to open this file.
    So what i can do under this situations to handle the large files.

  • Flat file over HTTP or SOAP

    Hey Guys,
    I need to post a Flat file over HTTP (or SOAP), is this possible without developing my own Adapter module?
    I just need to get a Flat file from a FTP server and post to another server via HTTP,since there is no message mapping involved, i developed the scenario without any Integration Repository objects, it is just a pass-through scenario.
    Now i am stuck on the receiver side since i am unable to post Flat file over HTTP.
    Secondly i have Login URL, Logout URL and upload URL from the receiver system, i don't see any place in receiver HTTP adapter to put all these 3 URL's, can i use SOAP adapter to put all these URL anywhere?
    Any help would be appreciated.
    Thanks
    Saif
    Edited by: Saif Manzar on Jan 19, 2010 2:51 AM

    Hey Guys,
    I need to post a Flat file over HTTP (or SOAP), is this possible without developing my own Adapter module?
    I just need to get a Flat file from a FTP server and post to another server via HTTP,since there is no message mapping involved, i developed the scenario without any Integration Repository objects, it is just a pass-through scenario.
    Now i am stuck on the receiver side since i am unable to post Flat file over HTTP.
    Secondly i have Login URL, Logout URL and upload URL from the receiver system, i don't see any place in receiver HTTP adapter to put all these 3 URL's, can i use SOAP adapter to put all these URL anywhere?
    Any help would be appreciated.
    Thanks
    Saif
    Edited by: Saif Manzar on Jan 19, 2010 2:51 AM

  • Retreiving files over http or ftp.

    I was wondering what program I should use to retreive files over http or ftp. Previously I had used wget per my hosting provider's recommendation. It worked when I was ssh logged in to his server (via Mac Terminal). However, when I try using wget on my local Mac it says "command not found".

    Thanks. So if I specify a file name (-o /path/to/file), does the incoming file get renamed to that (and put in that location) or does this specify the directory (-o /path/to/directory) that the incoming file will go to? I wasn't quite clear on that.
    Also, I keep hearing about stdout. What is it exactly? I assumed it was just the Terminal window itself, the alternative being things like | more or | nano or something like that... Or am I totally up the wrong tree?

  • Play an audio file over HTTP

    Hello everybody,
    I'm trying to play an audio file over HTTP protocol. The code is the following:
    public class HTTPClientJMF {
         static String url = "http://localhost/audio/Reklam1.wav";
         static String urlFile = "file:///C://tmp/audio/Reklam1.wav";
          * @param args
         public static void main(String[] args) {
              // TODO Auto-generated method stub
              try {
                   DataSource dataS = new URLDataSource(new URL(url));
                   dataS.connect();               
                   Player player = Manager.createPlayer(dataS);
                   player.start();
              } catch (MalformedURLException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              } catch (IOException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              } catch (NoPlayerException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
    }Now, if I'm trying to play the file from the local disk (+urlFile+ - using file protocol), everything goes well, but if I'm trying to play the same file from the network (using http protocol) I get the following exception:
    javax.media.NoPlayerException: Cannot find a Player for: javax.media.protocol.URLDataSource@fa9cf
    Can somebody tell me what I'm doing wrong?
    Thank you!

    Ah',..okay. I constructed the DataSource like follows:
    Buffer mediaBuffer = new Buffer();;
              String mediaURL = "http://ares.inescn.pt/video/Reklam1.wav";
              URL url;
              try {
                   url = new URL(mediaURL );
                   InputStream in = url.openStream();
                   BufferedInputStream bufIn = new BufferedInputStream(in);
                   for (;;) {
                        int data = bufIn.read();
                        // Check for EOF
                        if (data == -1)
                             break;
                        else
                             mediaBuffer.setData(data);
                   System.out.println(mediaBuffer.getLength());
                   if (mediaBuffer.getLength() != 0) {
                        DataSource ds = new DataSource();
                        HttpStream[] httpStream = ds.getStreams();
                        System.out.println(httpStream.length);
                        httpStream[0].read(mediaBuffer);
                        ds.connect();
                        ds.start();                         
                        Player player = Manager.createPlayer(ds);
                        player.start();But I still cannot play an audio file (wav format) over the HTTP. Application starts but nothing happened.
    I make the modification like you suggested. (into the DataSource, more exactly for method getStreams()).
    I renamed as well the HttpDatasource into HttpStream.
    Did you actually tried the code? I've been reading the instruction how to test the code but I did not be able to run the example.

  • Cannot download file over https behind firewall ?

    I have a program to download files :
    public class TestServlet
         public static void main(String args[]){
        Authenticator.setDefault(new AuthImpl());
         if (args.length!=2){
          System.out.println("Proper Usage: java -Dhttp.proxyHost=172.21.32.166 -Dhttp.proxyPort=80 TestServlet RemoteFileURL LocalFileName");
           System.out.println("Usage Example:java -Dhttp.proxyHost=199.67.138.83 -Dhttp.proxyPort=8080 TestServlet https://url.com/csv/file.zip file.zip");
          System.exit(0);
         DataOutputStream out=null;
         FileOutputStream fOut=null;
         try
          trustAllHttpsCertificates();
          String urlStr = args[0];
              HostnameVerifier hv = new HostnameVerifier() {
                   public boolean verify(String urlHostName, SSLSession session) {
                        System.out.println("Warning: URL Host: "+urlHostName+" vs. "+session.getPeerHost());
                        return true;
             HttpsURLConnection.setDefaultHostnameVerifier(hv);
              System.out.println("\nConnecting to Website . . . "+urlStr);
              URL url = new URL(urlStr == null ? "https://url/Downloads/WC.csv" : urlStr);
              System.out.println("\nConnecting . . . . ");
              BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
              System.out.println(". . . Connected");
              System.out.print("\nDownloading the file . . . ");
              int buff;
              fOut=new FileOutputStream(args[1]);
              System.out.print(" . .");
              out=new DataOutputStream(fOut);
              System.out.print(" . .");
              while ((buff = in.read()) != -1) {
                fOut.write(buff);
              in.close();
            System.out.println(" . . . Done \n");
          catch (Exception e) {
                e.printStackTrace();
           finally {
              try{
                   fOut.flush();
                   fOut.close();
                   System.exit(0);
               catch(Exception e){
                   e.printStackTrace();
        HostnameVerifier hv = new HostnameVerifier()
            public boolean verify(String urlHostName, SSLSession session) {
                //System.out.println("Warning: URL Host: " + urlHostName + " vs. " + session.getPeerHost());
                return true;
        private static void trustAllHttpsCertificates() throws Exception
             //  Create a trust manager that does not validate certificate chains:
            javax.net.ssl.TrustManager[] trustAllCerts =  new javax.net.ssl.TrustManager[1];
            javax.net.ssl.TrustManager tm = new miTM();
            trustAllCerts[0] = tm;
              javax.net.ssl.SSLContext sc = javax.net.ssl.SSLContext.getInstance("SSL");
            sc.init(null, trustAllCerts, null);
            javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
        public static class miTM implements javax.net.ssl.TrustManager, javax.net.ssl.X509TrustManager {
            public java.security.cert.X509Certificate[] getAcceptedIssuers() {
                return null;
            public boolean isServerTrusted(java.security.cert.X509Certificate[] certs) {
                return true;
            public boolean isClientTrusted(java.security.cert.X509Certificate[] certs) {
                return true;
            public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String authType)
                    throws java.security.cert.CertificateException {
                return;
            public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType)
                    throws java.security.cert.CertificateException {
                return;
       public static class AuthImpl extends Authenticator {
       protected PasswordAuthentication getPasswordAuthentication() {
          String username = new String("guest");
    String password = new String ("guest");
           return new PasswordAuthentication(username, password.toCharArray());
    }This program works fine for downloading files, over both http and https from my home. When I run this on my desktop in the office it can download files over http, but cannot download https files.
    When I try to download files over https, I get the foll. exception:
    java.net.UnknownHostException: www.site.com
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:153)
    at java.net.Socket.connect(Socket.java:452)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(DashoA12275)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(DashoA12275)
    at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(DashoA12275)
    at sun.net.www.protocol.https.HttpsClient.doConnect(DashoA12275)
    There are 2 differences here, one being that my office desktop sits behind a firewall and there is a proxy in between.
    In the office I run the program as :
    java -Dhttp.proxyHost -Dhttp.proxyPort TestServlet URL [filename]
    eg.:
    java -Dhttp.proxyHost=235.67.138.84 -Dhttp.proxyPort=8080 TestServlet https://site.com/portal/Downloads/file.csv file.csv
    This url requires authentication, the userid and pwd are hardcoded in the code.
    Now, my problem is I cannot understand why this error would come. Is it because of the firewall or because of the proxy ?
    Why is it that I can download over http successfully from my office desktop? If the problem is with the firewall or proxy, then even http protocol urls should give the same problem.
    Please help.
    Vinay
    Message was edited by:
    vinay_dsouza
    Message was edited by:
    vinay_dsouza

    If you are using HTTPS you should be setting
    https.proxyHost
    https.proxyPortnot the http.* ones.

  • Client call using   XML over Http using HttpClient

    Using HTTPClient while calling HTTPPost method to generate request for external system using XML over http using below code
    client.getState().setCredentials(new AuthScope(ipAddress,portNumber),new UsernamePasswordCredentials(username, password));
         PostMethod method = new PostMethod(url);
         String str = accDoc.toString();
    method.setRequestEntity(new InputStreamRequestEntity(new ByteArrayInputStream(str.getBytes())));
    method.setDoAuthentication( true );                
    int result = client.executeMethod(method);
    server system getting 2 request. first request without basic authentcation details and second request with full auhentication details.
    So unnecessary eatra call without authentication details is going during calling the client program using above code.
    Please let me know which part of the above code is generationg extra call.
    Thanks in advance for your help

    I don't see nothing wrong with your code, there must be something else happening.
    You sure you are not being some proxy server?? but even then you are making a post request so it shouldn't be happening.
    MeTitus

  • Downloading files over HTTPS

    how can i upload files over https
    can you give me some links to web sites that explain this
    thank u

    Hi..
    Have you got the information yet ?
    I need more information for uploading file in https.
    Thanks in advance

  • Need help : how to send 3 parameters over http using Java POST

    I am trying to sending some data to agency company over http using Java POST
    They need 3 parameters and some contents like below
    1. Cmd : cmd=_RequestInsertNewLead
    2 Live : False
    3 XMLData : 3C%3Fxml+version%3D%........
    I already have XML done ,but I don't know how to send these guy over http
    is that like
    this.out = new DataOutputStream(os);
    out.writeBytes("Cmd");
    out.writeBytes(" cmd=_RequestInsertNewLead");
    out.writeBytes(" Live ");
    out.writeBytes("False");
    anyone could give help :)

    First of all, are you getting any exception?
    You didn't put much logging information in your code.
    You can also try this.Instead of doing sos.println(".....") try to build the output string using string buffer.
    Like:
    StringBuffer sb = new StringBuffer();
    sb.append("Some output");
    sb.append("More output");
    sos.print(sb.toString());
    sos.flush();Let me know if this works.

  • How to send multiple files with it's original name over HTTPS using one CC?

    I am working on a File to HTTPs scenario. It is in production and working fine. Currently we send only one file and I have hard coded the name in the communication channel in the header fields. Now we have to send more files with different names and I want to use only one receiver channel instead of many. We need to send the files with their original names.
    I used the ASMA in the sender File Adapter and I see the FileName in the dynamic configuration under http://sap.com/xi/XI/System/File name="FileName".
    I know we can use a UDF in message mapping and get the value and put it in HEADERFIELDONE. But we don't want to use mapping as the files are huge and we don't want to insert XML tags in the payload.
    So how do I put the Filename from the DynamicConfiguration to the HTTP header field as FileName without using mapping? Are there any settings?
    Can I put something in the PROLOG or can I use any other module in the File Sender Adapter or is there any other option?
    Any help is appreciated.
    Thanks
    Sai

    See my blog:
    /people/stefan.grube/blog/2009/06/19/unknown-use-case-of-dynamicconfigurationbean-store-file-name-to-jms-header-without-mapping
    You have to put the configuration in sender channel, as HTTP adapter does not allow modules.
    For the second module, put values related to HTTP adapter.

  • 500 Internal server error on RPC over HTTP using TS Gateway

    I've been happily using TS Gateway on Windows Server 2008 x64 for 18 months and everything was working perfectly. Suddenly this week it started giving "access denied" errors to any user who tried to connect, evidenced in event viewer as a failed login attempt.
    After restarting the server, it got worse in that if I browse to the /rpc folder it gives me 500 Internal server error and I don't even get as far as authenticating credentials. I've tried removing IIS, RPC over HTTP and TS Gateway, and re-adding all of them,
    but I still get the same error 500. The RPC and TS Gateway services are both running. What could be causing this and how can I fix it?

    Hi,
    Thanks for your post.
    Firstly, check the following KB article to troubleshoot this issue.
    This computer can't connect to the remote computer because the Terminal Services Gateway server is temporarily unavailable
    http://support.microsoft.com/default.aspx?scid=kb;EN-US;969743
    If the issue still persists, you may perform the below steps:
    Uninstalled TSGateway, IIS role, all IIS related components.
    Delete all files in the folder %windir%\system32\inetsrv\config
    Delete all files in the folder %windir%\system32\inetsrv\metaback
    Restart the server and try to re-install TSGateway again
    Best Regards,
    Aiden
    Aiden Cao
    TechNet Community Support
    Thank you very much for this. I confirm it fixed the problem, although there was an error in reinstalling IIS and TS Gateway until I also removed Windows Process Activation Service.

  • How to consume SAP enterprise services over https using third party tools?

    Hi guys,
    am just testing consumption of ES using jboss instead of NW for client applications. The ES in our internal ERP are bit strange, ie. they are using HTTPS transport even though you can configure ES with HTTP transport. (in this case, the requests are always redirected to HTTPS one). Wanna hear from perhaps someone who had similar experiences about
    - Have you encountered the situation that ES can only exposed as HTTPS WS. Is there any way to enable HTTP ES?
    - The way to consume ES over HTTPs. How to configure and generate the client which can talk HTTPs with ES?
    Any comnments are thankful.
    Best,
    Ji
    Edited by: Ji Hu on Oct 1, 2010 3:20 PM

    Thanks.
    Have solved the problem. I need to configure my client, i.e. JVM to connect the server with https. The generated ws client stub itself does not need to care about HTTPS or HTTP transport.
    In some case, one do have enabled HTTP transport via soamanager, but it never became HTTP (redirected to HTTPS). I have no idea why, but have to talk in  HTTPS as the only one option.

  • Trying to burn a file over 700MB using Toast titanium 7

    In windows if i burn a file over the standard size cd disc it will tell me i need to use 2 cd's
    i want to do that on my G5 IMAC and my G4 Powerbook using toast titanium 7 but it just says File exceeds the size of disc - thats all
    what can i do?

    If you are burning a CD with Toast 7 and it is a Data Disk, in the menu that
    pops out to to the left select Mac Only. Once you check that box it should
    automatically burn to as many CDs as necessary. I've included a picture for
    reference.

  • InitialContext lookup over HTTP using a full PROVIDER_URL (including path)

    Hi,
    We have a standalone Java JMS client application that is sending messages to a queue on a WebLogic (WLS 9.2 MP3) server. It uses the WLInitialContextFactory (WebLogic implementation of InitialContextFactory) class to look up the initial context over HTTP when making the connection to send messages to the queue.
    This all works fine when the client connects directly to the server - i.e. supplies the address of the server as the PROVIDER_URL. However, in our infrastructure, we cannot connect directly from this client to the server; we need to go via a HTTP proxy.
    In a basic configuration HTTP proxy we set the provider URL to be the address of the proxy server, with the proxy is configured to route all requests straight through to the WebLogic server. This configuration also works fine - the JMS client can send messages successfully.
    Unfortunately, this basic proxy configuration is still not sufficient for our Production environment. Our production proxy "fronts" multiple servers, each one identified by the first portion of the URL. So, the proxy is be configured such that requests to "http://proxy/server1/test_request" will be routed on to "http://server1/test_request", whereas a request to "http://proxy/server2/test_request" will be routed to "http://server2/test_request". This configuration works fine for basic HTTP requests, to webpages etc.
    However, when we try we use this mechanism with our JMS client over HTTP, it is not working. We set the provider URL on the client to "http://proxy/server1" in order to send a message to server1. However, we find that the WLInitialContextFactory class seems to be ignoring the final part of the URL ("server1") and still sending requests directly to the root proxy address of "http://proxy", so it doesn't work.
    I appreciate that this can be viewed as a WebLogic specific implementation issue for their WLInitialContextFactory, and I've raised a query with their support people on this. From my own research however, it seems the behaviour of their factory is not different to most other implementations - i.e. the major implementations would all have this issue.
    I'm wondering if anyone is aware of any implementations that would handle the situation I've described. If not (or otherwise!) is there something crazy about our approach that noone has catered for it?! It seems a reasonable situation to me, but maybe I'm missing something!
    Any comments, advice, etc. would be greatly appreciated, thanks.
    Regards,
    Adrian
    Edited by: AdrianFitz on 08-Apr-2010 12:21

    Hi,
    Thanks for the quick response. Would you mind providing a bit more detail on your suggestion, as am not 100% sure I understand it fully.
    If I see what you are getting at, are you talking about configuring proxy settings on my client side, similar to how I have to configure my internet browser with proxy settings when accessing the internet from within my companys LAN?
    If I'm interpreting that right, then I guess my use of the word proxy might be a bit inaccurate or lead to some confusion. What my orginal post described as a proxy should have been more accurately describes as a reverse proxy (acting primarily as a load balancer).
    Ideally, other than changing the URL slightly, the client should be 'unaware' that it is going through a proxy at all.
    Hope that clarifies somewhat, any further comments would be great! Thanks.
    Regards,
    Adrian

Maybe you are looking for

  • UI elements are missing in the layout of a view

    Hi Guys, I've downloaded New SAP NetWeaver 7.01 SP0 ABAP Trial Version. After three times installation, I gave up. And I downloaded New SAP NetWeaver 7.01 SP3 ABAP Trial Version, it took more time than SP0 to install. Finally, it works. Then I read t

  • Problem while opening a file

    Hi , Can anyone give a solution for me ? I have a problem while using files with PDF. writer = PdfWriter.getInstance(document, new FileOutputStrea("c:/ filename.pdf ")); Exception occurs when specified file is already opened. How can i rectify it? He

  • Dvd player does not read burnt dvds

    i burnt 2 dvds on my macbook pro (leopard). they both play fine on my macbook pro and my toshiba dvd player. they will not play on my macbook and powermac g4 (tiger). is this a problem with the dvd player in tiger? if so, any way to update it or down

  • Query OLAP - Total Problem

    Hello People, Our problem it's related about, a Query OLAP, we put the Period Gen 4, as rows: Jan Feb The table reflect the order in the outline, but when we add Total, the order is alphabetic, it's any workarround, to disable this automatic order? T

  • Very high latency in fetching static files

    Problem : Really high latency in fetching static files upon first request. Environment : Weblogic V8.1 App Server and Web Server running using jdk1.4.2_13 Mem Setting: -Xmx2048M -XX:MaxPermSize=1024M Situaton: Restart the weblogic server, fetch a sta