Go tool to change system and applications proxy
Alternatives To Proxychanger
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
4 years ago409Shell
Babun - a Windows shell you will love!
9 months ago37Perl
Portable GitHub system into your own server
Private Bower692435 years ago71October 19, 201752otherJavaScript
A simple private bower registry
Wasm Git512
a month ago9September 25, 202214otherC
GIT for nodejs and the browser using compiled to WebAssembly with
Github3476,5432,7756 days ago127November 28, 202255mitJavaScript
:octocat: semantic-release plugin to publish a GitHub release and comment on released Pull Requests/Issues
Next Editor317
17 days ago38TypeScript
Standalone Git Editor on Browser
Love Gfw312
3 years ago2mitShell
🔥以社会主义核心价值观为指导思想,实现 Linux 和 MacOS 设备的全局智能分流
Git Resource182
4 months ago112apache-2.0Shell
tracks commits in a branch of a Git repository
2 months ago3August 07, 20222gpl-3.0Go
8 years ago26otherRuby
The simplest proxy service to access your Dockerized webapps by Git commit-id.
Alternatives To Proxychanger
Select To Compare

Alternative Project Comparisons

Proxy changer

Gitter Build Status GitHub release Github All Releases buy me a coffee

Proxy changer is an application that allows you to define multiple proxies and change the settings of multiple applications:

  • apt (Atom Package Manager)
  • apt/apt-get (Debian/Ubuntu)
  • .bashrc
  • Docker CLI
  • Docker Service/Daemon
  • Environment
  • git
  • Gnome
  • Maven
  • npm (Node.js Package Manager)
  • SSH configuration (~/.ssh/config, using corkscrew)
  • subversion
  • yum/dnf (Red Hat/CentOS/Fedora)
  • Microsoft Visual Studio Code
  • Sublime Text 3 Package Control

The application, when running as a desktop application, creates an indicator, so you can switch quickly from there. It also has a configuration dialog, where you can add/edit/remove the proxies, and enable or disable the applications you want to configure.

There is also a command line mode, that allows you to add, edit and remove the proxies, and set the current active proxy.

proxychanger -h


  • Tested in recent versions of Ubuntu and Fedora (should work in similar distributions)
  • Show current proxy name next to indicator
  • Checks updates from GitHub releases
  • Auto change the proxy according to computer IPs
  • Stores the proxies passwords in the keyring
  • Autodetect installed applications, skipping not available to avoid errors
  • Shows possible applications errors
  • Notifications when a new proxy is set
  • CLI to list, add, edit, remove and set proxies
  • DBus control; if the indicator is running, the CLI connects to the already running instance
  • Run custom scripts when a proxy is set/unset


There is no apt or yum repository available; only a shell script that downloads and configures the needed resources (desktop shortcut, icon, locales) and the latest release; it also checks some dependencies required to run the script and the program itself. You can review the script here. To install, just execute this:

curl -sSfL | bash

After installation, you will find a shortcut in the applications menu.


Configuration window:

Configuration window

List of supported applications:


Global scripts:

Global scripts

Proxy configuration:

Proxy general settings

Proxy scripts:

Proxy scripts



Desktop dependencies

In some Gnome Shell based desktops (for Example, Fedora15+), you will need the KStatusNotifierItem/AppIndicator Support Gnome Shell extension.

As a quick guide, you will need the package chrome-gnome-shell; in Fedora, you can install it running this command:

sudo yum install chrome-gnome-shell

After that, restart the browser. Now, the Firefox extension for Gnome Shell must be installed from this url. The last thing is install the extension itself from this URL.

In Ubuntu 17.10+, that also uses Gnome Shell, you shouldn't have to do anything, because the extension should be already present, as it is configured during the installation. Anyway, if needed, the installation instructions are very similar (using apt-get instead of yum).


Update translations:


Reinstall from local folder after translations or something have changed using the script (code, icon, shortcuts, assets...):




Release procedure

  • Commit and push the latest changes
  • Wait for Travis to build ok
  • Tag the new version (git tag xxxx)
  • Push the tag (git push --tags)
  • Travis should build again successfully and upload the binary to Github

How to translate

Very simple:

  • Install package gettext (sudo apt-get install gettext or sudo yum install gettext)
  • Fork the repository (GitHub help).
  • Create a directory with the language code under the locale directory.
  • Install go-xgettext (go get
  • Run the script
  • Open the file locale/[new language]/LC_MESSAGES/proxychanger.po with a tool like Poedit.
  • Commit the changes and create a pull request (GitHub help).


Website (in spanish):

Email: [email protected]

Popular Proxy Projects
Popular Git Projects
Popular Networking Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Sublime Text 3
Gnome Shell