From Fedora Project Wiki

Integrate Proxy Settings and Network Connections(Locations)

Xelatex Application Profile

Contact Information

Integrate Proxy Settings and Network Connections(Locations)

I am a senior student of Peking University, China, and my major is Computer Science. I will continue my master in PKU in the following three years.

Proxy is frequently used for users in some special networks, while hardly use in other networks. So attach proxy settings to certain connection is meaningful. This will provide a convenient way to auto/manually set proxy for a certain network connection.

  • Email Address: yzt356@gmail.com , lcq@net.pku.edu.cn
  • Telephone: (+86)15120092511
  • Blog URL: xelatex.tumblr.com (I will use this blog to report my progress)
  • Freenode IRC Nick: xelatex

NOTE: We require all students to blog about the progress of their project time to time.

You are strongly encouraged to register on the Freenode network and participate in our IRC channels. For more information and other instructions, see:

https://fedoraproject.org/wiki/GSOC_2012

Please answer following questions.

Why do you want to work with the Fedora Project?

I want to do some useful things for open source community and do some meaning things this summer. Fedora is the first Linux distribution for me and I would like to do some contributions. I like the idea of open source software and I want to code for open source besides just using them.

Do you have any past involvement with the Fedora project or with any another open source project as a contributor (if possible please add some references as well)?

Not yet. I have been using open source software for a long time, and have focused on Xen.org for research reasons. I am following xen's latest code and its development mailing list, but have no chance to participate in an open source project.

Did you participate with the past GSoC programs, if so which years, which organizations?

I have not participate with the past GSoC programs.

Will you continue contributing/ supporting the Fedora project after the GSoC 2012 program, if yes, which team(s)/area(s), you are interested with?

Of course, I participate GSoC mainly because I want to be involved in some opensource projects. I'm interested in Fedora Infrastructure (seems a little challenging) and Fedora i18n projects.

Why should we choose you over the other applicants?

  1. I'm a senior student major in CS and have sufficient experiment in coding with C/C++. I love this subject and also have great passion in learning new things.
  2. Fedora is my working environment and I have used it for a long time. My research region is distributed system and virtulization, so I am familiar to open source software and Linux developing environment.
  3. I have sufficient time this summer, I can code the whole summer with only short-time trips ^_^.
  4. I have sufficient experiment in compiling and configuring open source software, I'm familiar to make/git/svn tools.
  5. I have do some little software for fun or for some special use, which use google-code svn management. I have develop a IP-gateway for Android, which is used as a gate-way connector for students of Peking University in Android platform (http://code.google.com/p/ipgw-android/), MiniC project (http://code.google.com/p/minic/) is a course design when I was junior, which is a compiler of a subset of C language for Unicore-II cpu designed by MPRC of PKU (http://en.wikipedia.org/wiki/Unicore). Some other tools are designed just for fun or for convenient reason, I like to resolve problems with some smart ways.

Proposal Description

My proposal is as follows:

An overview of my proposal

The project "Integrate Proxy Settings and Network Connections(Locations)" focuses on a convinent fuction for NetworkManager (short for NM). The main description is listed in NM's TODO list (http://cgit.freedesktop.org/NetworkManager/NetworkManager/tree/TODO , section "Proxies"). To achieve this goal, I should first record all network connections (NM can record wireless connections now, I should add wired connection and VPN connection recording). Then for different system, I should design a handler to send the merged proxy configuration to OS.

Besides, I don't find the bridge configuration in NM (that's why sometimes I will turn off NM and use Linux's network manager). If I have enough time this summer, I want to apply bridge configure function to NM.

The need I believe it fulfills

This project supply a useful improvement to NM, which will let users conveniently set their proxy according to certain network automatically/manually.

Any relevant experience I have

I'm familiar to C programming and Linux-based software developing.

How do I intend to implement your proposal

I should firstly familiar to NM software architecture and relevant codes. Then I will refinement the demands of this project and fulfill the corresponding functions. The last step is testing. Because NM supports not only Fedora, so testing should be used in several Linux distribution.

Final deliverable of the proposal at the end of the period

The final deliverables of the proposal at the end of the period are:

  • Apply location detector for wired/wireless/VPN connection of NetworkManager
  • Proxy setting function applied for different Linux distributions.
  • Integration of the two functions above, and add the user interface of NetworkManager to set their proxy per connections.

A rough timeline for my progress

Firstly I should familiar to the relevant codes of NM and design the detailed goal and function of this project, this may last for about 1 month from now on.

Secondly I will code for the first part (determine the network connections), until mid-term evaluation.

Then I will code for the second part (proxy setting and integration, maybe some work can be done before mid-term).

Any other details I feel you should consider

For software developing, sufficient API manual is a quick help for newcomer, thanks to Dan Winship's help, I have got some relevent martial for developers of NM. Maybe interfaces design and using is a challenging for me in this project.


Have I communicated with a potential mentor? If so, who?

Yes, my potential mentor is Dan Winship Dan Winship .