Coder Social home page Coder Social logo

free-me's Introduction

Ansible Collection - hadi2f244.free_me

A versatile Ansible collection for proxy and VPN clients such as http/https proxy for apt and container runtimes, v2ray/singbox, openvpn, etc.

Motivation

I created this Ansible collection with a deep motivation to empower DevOps, SRE, and sysadmins in regions facing filtering and sanctions, such as Iran. My goal is to help them overcome the obstacles they encounter when trying to install essential tools like Docker and Kubernetes. I provided practical solutions within Ansible playbooks, including addressing issues like installing Kubernetes with Kubespray, package installations, and downloading container images.

Components/Roles

Every type of client is in a different role. Some of them are VPN/proxy clients and some are just a connection to a proxy.

"The main idea is to simplify all the solutions to work as on and off module. In Ansible it means all of starting/connecting and stopping/disconnecting steps are done in on.yml and off.yml respectively"

List of roles:

Proxy connectors:

  • env_proxy: In the situation where you started a Http/Https and want your shell to use it.
  • apt_proxy: Make APT to use HTTP/HTTPS proxy
  • dns_proxy: You may need to use some anti-filtering solution that is based on DNS like Shecan
  • container_proxy: Force Docker, Containerd, and CRIO services to use a proxy.

Clients:

  • v2ray: V2ray client that provides Socks/HTTP proxy and you can also use proxy connectors to use the proxy(It contains env_proxy, apt_proxy,and container_proxy)
  • Singbox: Like V2ray client
  • OVPN: OVPN VPN client.

I am trying to implement other Proxy/VPN clients as well.

Quick Start

Important: I provided free-me-test project you can clone it and Follow the instructions to test all roles.

Installation Instructions

ansible-galaxy collection install hadi2f244.free_me:<version>

Local Usage

It is recommended to install the collection by ansible-galaxy collection command, But there are some situations where you need to edit the role by yourself manually. Follow Local test collection section in free-me-test project.

Use Cases

I have used this code during different Ansible projects (e.g. Kubespray), I would share my experiences in the Documentation separately.

Contribution

If you've ever considered joining the tech party, here's your invite! Contribute your skills (code), and together, we'll make tech tasks a breeze. Your help is a game-changer! ๐Ÿš€

Important: Please create an Issue for any question, suggestion, or problem.

Note: Feel free to contribute your contribution to this project. I really appreciate contributions. For example, adding new protocols and also improving current roles such as adding new protocols to v2ray/singbox role templates.

Todo List

Refrence

Make file usage for collection

free-me's People

Contributors

hadi2f244 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.