xunholy / go-proxy Goto Github PK
View Code? Open in Web Editor NEWCNTLM Proxy CLI written in GOLANG to assist with managing proxy configuration
License: GNU General Public License v3.0
CNTLM Proxy CLI written in GOLANG to assist with managing proxy configuration
License: GNU General Public License v3.0
Rewrite implementation to use Cobra
Currently in the set.go file it's using a hardcoded cntlm.conf path.
cntlmFile = "/usr/local/etc/cntlm.conf"
Should follow the guide on path location based from official cntlm documentation:
The proxy CLI should be configurable via a TOML file which contains the state and variables that can be easily modified via scripting or manually with the user.
This will remove complexity in the logic and make the tool easier to update configuration settings in the future.
This issue will most likely be a pre-requisite for #53 #23 #22 #21 #16
The badges should be unique to the branch they are located on.
This can be done by pre-commit hooks.
Example: https://gist.github.com/DrSAR/eb50d9b2b993384267db4ee9fd5e210f
Consider: If a PR is raised will it also with the branch configured by the pre-commit hook?
A user should be able to configure the NoProxy configuration in their cntlm.conf file with an array of input
Given a user should update their password the proxy should restart using the new auth tokens
The prompt /pkg should have 100% unit test coverage to ensure if its provided as an external use pkg that it functions correctly.
See https://code.visualstudio.com/docs/getstarted/settings and search for http.proxy
.
These settings can be set in the user config file (on OSX its located at ~/Library/Application\ Support/Code/User/settings.json).
Add the GNU Licence to the repository. Providing a binary that will alter and configure OS env variables should be protected with this Licence to avoid any legal disputes.
Update travis to tag a build and add it to the releases.
Follow this guide: https://docs.travis-ci.com/user/deployment/releases
Currently setting the port will only allow a single value be provided, however a user may wish to Listen on multiple ports and should be able to provide a new Listen key/pair value to be added.
IF there are multiple Listen key/pair values a user should be prompted as to which one they wish to update/delete when interacting with the setting in the future.
A user should be able to see the state of their system prior to making any configuration adjustments should they wish. They should be able to run a command that will display the configuration they wish to be informed regarding.
Output to the user if the proxy is currently running or not with additional meta data
The Proxy key/pair value will be unique within organisations, and they may have N proxies available. A user should be able to configure this key/value.
When using the (set/unset) commands a user should be shown a DIFF in configuration and what will change as a result, their approval should be prompted to either confirm or deny the change.
Create a repository that can be used for the homebrew tap.
This will also include the ruby files and references to the releases and repository of the CNTLM Proxy Tool.
Follow this guide: https://tech.cars.com/distributing-your-home-grown-tools-to-the-masses-with-homebrew-acb7a62518a8
Tap searches here: https://formulae.brew.sh/formula/ (to ensure its name is unique)
A user should be able to set docker daemon proxy configuration via the CLI
Currently not dynamically setting the drive prefix to the path.
The --all flag if should be passed should enable the proxy config on all tools on the hosted OS that are supported
parseFileIntoKeyPairValues only parses the key / pair if the line only contains two Fields, this isn't ideal because some cntlm.conf settings are an array of values for a specific key.
EG. "NoProxy"
It should be able to also read in an array of values for any given key
If the User installs the CNTLM for the very first time,
Below are the parameters are commented, and tool doesn't updates these parameters
Also the cntlm.conf has 2 Proxy, the tool must delete one of the those.
The execute /pkg should have 100% unit test coverage to ensure if its provided as an external use pkg that it functions correctly.
The tests should not extend the original test however should import the test to test as a user would use the package.
Practice outlined here: https://medium.com/@povilasve/go-advanced-tips-tricks-a872503ac859
A user may configure their local instance with all required proxy values and/or key/value pairs within the .conf file.
Given a user may need to switch between regular used configuration it should be possible to load a pre-saved profile with these configurations already available.
Use the template provided here: https://github.com/github/gitignore/blob/master/Go.gitignore
Brew install doesn't always create the dir, we should remove the dir and have the proxyrc file
Travis should release semver versioning which should have parity with the main.go version declared in the CLI.
Removing the CNTLM component from the requirements for this tool would require a lot of work.
Current CNTLM source code can be found here:
https://sourceforge.net/p/cntlm/code/HEAD/tree/cntlm/trunk/
A Makefile should be able to build all release artifacts for several systems
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.