The page you were looking for doesn’t exist. You may have mistyped the address or the page may have moved. If you’re the application owner check the logs for more information.
109 |├── log
└── .keep
├── script
└── .keep
├── storage
└── .keep
├── tmp
├── .keep
├── pids
│ └── .keep
└── storage
│ └── .keep
├── vendor
└── .keep
├── lib
└── tasks
│ └── .keep
├── test
├── helpers
│ └── .keep
├── mailers
│ └── .keep
├── models
│ └── .keep
├── system
│ └── .keep
├── controllers
│ ├── .keep
│ └── settings_controller_test.rb
├── integration
│ └── .keep
├── fixtures
│ └── files
│ │ └── .keep
├── test_helper.rb
└── application_system_test_case.rb
├── .ruby-version
├── app
├── assets
│ ├── builds
│ │ └── .keep
│ ├── images
│ │ └── .keep
│ └── stylesheets
│ │ ├── safelist.txt
│ │ └── application.tailwind.css
├── models
│ ├── concerns
│ │ └── .keep
│ └── application_record.rb
├── controllers
│ ├── concerns
│ │ └── .keep
│ ├── dashboard_controller.rb
│ ├── application_controller.rb
│ └── authentication_controller.rb
├── views
│ ├── layouts
│ │ ├── mailer.text.erb
│ │ ├── mailer.html.erb
│ │ └── application.html.erb
│ ├── pwa
│ │ ├── manifest.json.erb
│ │ └── service-worker.js
│ ├── shared
│ │ └── _flash.html.erb
│ ├── authentication
│ │ └── login.html.erb
│ ├── dashboard
│ │ └── index.html.erb
│ └── clients
│ │ └── index.html.erb
├── helpers
│ └── application_helper.rb
├── javascript
│ ├── application.js
│ └── controllers
│ │ ├── application.js
│ │ ├── index.js
│ │ ├── dropdown_controller.js
│ │ ├── flash_controller.js
│ │ ├── client_result_controller.js
│ │ └── new_client_controller.js
├── mailers
│ └── application_mailer.rb
├── jobs
│ └── application_job.rb
└── services
│ └── mikrotik_api_service.rb
├── .node-version
├── public
├── icon.png
├── robots.txt
├── icon.svg
├── 404.html
├── 400.html
├── 406-unsupported-browser.html
├── 500.html
└── 422.html
├── .kamal
├── hooks
│ ├── docker-setup.sample
│ ├── post-proxy-reboot.sample
│ ├── pre-proxy-reboot.sample
│ ├── post-app-boot.sample
│ ├── pre-app-boot.sample
│ ├── post-deploy.sample
│ ├── pre-connect.sample
│ ├── pre-build.sample
│ └── pre-deploy.sample
└── secrets
├── bin
├── rake
├── thrust
├── jobs
├── rails
├── brakeman
├── rubocop
├── dev
├── docker-entrypoint
├── kamal
├── setup
└── bundle
├── Procfile.dev
├── config
├── environment.rb
├── boot.rb
├── initializers
│ ├── assets.rb
│ ├── filter_parameter_logging.rb
│ ├── inflections.rb
│ └── content_security_policy.rb
├── cache.yml
├── queue.yml
├── recurring.yml
├── credentials.yml.enc
├── cable.yml
├── routes.rb
├── storage.yml
├── database.yml
├── application.rb
├── puma.rb
├── environments
│ ├── test.rb
│ ├── development.rb
│ └── production.rb
├── deploy.yml
└── locales
│ ├── zh.yml
│ ├── ko.yml
│ ├── ja.yml
│ └── en.yml
├── .devcontainer
├── Dockerfile
├── compose.yaml
└── devcontainer.json
├── .env.example
├── config.ru
├── .idea
├── .gitignore
├── vcs.xml
├── misc.xml
└── modules.xml
├── .erb_lint.yml
├── Rakefile
├── .rubocop_migration.yml
├── .github
├── dependabot.yml
└── workflows
│ └── ci.yml
├── .gitattributes
├── docker-compose.yaml
├── db
├── seeds.rb
├── cable_schema.rb
├── cache_schema.rb
├── schema.rb
└── queue_schema.rb
├── package.json
├── .rubocop_custom_layout_space_inside_percent_literal_brackets.rb
├── .rubocop.yml
├── .gitignore
├── .dockerignore
├── .rubocop_security.yml
├── .rubocop_bundler.yml
├── Gemfile
├── .rubocop_metrics.yml
├── .rubocop_gemspec.yml
├── Dockerfile
└── .rubocop_naming.yml
/log/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/script/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/storage/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tmp/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/vendor/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/lib/tasks/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/helpers/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/mailers/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/models/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/system/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tmp/pids/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tmp/storage/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.ruby-version:
--------------------------------------------------------------------------------
1 | 3.4.2
2 |
--------------------------------------------------------------------------------
/app/assets/builds/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/assets/images/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/controllers/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/integration/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.node-version:
--------------------------------------------------------------------------------
1 | 23.10.0
2 |
--------------------------------------------------------------------------------
/app/models/concerns/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/files/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/controllers/concerns/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/views/layouts/mailer.text.erb:
--------------------------------------------------------------------------------
1 | <%= yield %>
2 |
--------------------------------------------------------------------------------
/app/helpers/application_helper.rb:
--------------------------------------------------------------------------------
1 | module ApplicationHelper
2 | end
3 |
--------------------------------------------------------------------------------
/app/assets/stylesheets/safelist.txt:
--------------------------------------------------------------------------------
1 | bg-green-500
2 | bg-red-500
3 | text-white
4 | opacity-90
--------------------------------------------------------------------------------
/public/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rubyon/easy_wg_mikrotik/HEAD/public/icon.png
--------------------------------------------------------------------------------
/.kamal/hooks/docker-setup.sample:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | echo "Docker set up on $KAMAL_HOSTS..."
4 |
--------------------------------------------------------------------------------
/.kamal/hooks/post-proxy-reboot.sample:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | echo "Rebooted kamal-proxy on $KAMAL_HOSTS"
4 |
--------------------------------------------------------------------------------
/.kamal/hooks/pre-proxy-reboot.sample:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | echo "Rebooting kamal-proxy on $KAMAL_HOSTS..."
4 |
--------------------------------------------------------------------------------
/.kamal/hooks/post-app-boot.sample:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | echo "Booted app version $KAMAL_VERSION on $KAMAL_HOSTS..."
4 |
--------------------------------------------------------------------------------
/.kamal/hooks/pre-app-boot.sample:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | echo "Booting app version $KAMAL_VERSION on $KAMAL_HOSTS..."
4 |
--------------------------------------------------------------------------------
/app/models/application_record.rb:
--------------------------------------------------------------------------------
1 | class ApplicationRecord < ActiveRecord::Base
2 | primary_abstract_class
3 | end
4 |
--------------------------------------------------------------------------------
/bin/rake:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | require_relative "../config/boot"
3 | require "rake"
4 | Rake.application.run
5 |
--------------------------------------------------------------------------------
/Procfile.dev:
--------------------------------------------------------------------------------
1 | web: env RUBY_DEBUG_OPEN=true bin/rails server
2 | js: yarn build --watch
3 | css: yarn build:css --watch
4 |
--------------------------------------------------------------------------------
/public/robots.txt:
--------------------------------------------------------------------------------
1 | # See https://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file
2 |
--------------------------------------------------------------------------------
/bin/thrust:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | require "rubygems"
3 | require "bundler/setup"
4 |
5 | load Gem.bin_path("thruster", "thrust")
6 |
--------------------------------------------------------------------------------
/app/javascript/application.js:
--------------------------------------------------------------------------------
1 | // Entry point for the build script in your package.json
2 | import "@hotwired/turbo-rails"
3 | import "./controllers"
4 |
--------------------------------------------------------------------------------
/app/mailers/application_mailer.rb:
--------------------------------------------------------------------------------
1 | class ApplicationMailer < ActionMailer::Base
2 | default from: "from@example.com"
3 | layout "mailer"
4 | end
5 |
--------------------------------------------------------------------------------
/bin/jobs:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 |
3 | require_relative "../config/environment"
4 | require "solid_queue/cli"
5 |
6 | SolidQueue::Cli.start(ARGV)
7 |
--------------------------------------------------------------------------------
/public/icon.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/bin/rails:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | APP_PATH = File.expand_path("../config/application", __dir__)
3 | require_relative "../config/boot"
4 | require "rails/commands"
5 |
--------------------------------------------------------------------------------
/config/environment.rb:
--------------------------------------------------------------------------------
1 | # Load the Rails application.
2 | require_relative "application"
3 |
4 | # Initialize the Rails application.
5 | Rails.application.initialize!
6 |
--------------------------------------------------------------------------------
/bin/brakeman:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | require "rubygems"
3 | require "bundler/setup"
4 |
5 | ARGV.unshift("--ensure-latest")
6 |
7 | load Gem.bin_path("brakeman", "brakeman")
8 |
--------------------------------------------------------------------------------
/.devcontainer/Dockerfile:
--------------------------------------------------------------------------------
1 | # Make sure RUBY_VERSION matches the Ruby version in .ruby-version
2 | ARG RUBY_VERSION=3.4.2
3 | FROM ghcr.io/rails/devcontainer/images/ruby:$RUBY_VERSION
4 |
--------------------------------------------------------------------------------
/.env.example:
--------------------------------------------------------------------------------
1 | # Default locale setting (ko, en, zh, ja)
2 | DEFAULT_LOCALE=ko
3 |
4 | # MikroTik router default connection settings
5 | MIKROTIK_HOST=192.168.88.1
6 | MIKROTIK_PORT=8728
--------------------------------------------------------------------------------
/config.ru:
--------------------------------------------------------------------------------
1 | # This file is used by Rack-based servers to start the application.
2 |
3 | require_relative "config/environment"
4 |
5 | run Rails.application
6 | Rails.application.load_server
7 |
--------------------------------------------------------------------------------
/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # 디폴트 무시된 파일
2 | /shelf/
3 | /workspace.xml
4 | # 에디터 기반 HTTP 클라이언트 요청
5 | /httpRequests/
6 | # Datasource local storage ignored files
7 | /dataSources/
8 | /dataSources.local.xml
9 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
<%= t('login.subtitle') %>
11 |The page you were looking for doesn’t exist. You may have mistyped the address or the page may have moved. If you’re the application owner check the logs for more information.
109 |<%= t('dashboard.subtitle') %>
5 |<%= t('dashboard.new_client_card.description') %>
22 |<%= t('dashboard.clients_card.description') %>
42 |<%= t('dashboard.guide.step1.description') %>
106 |<%= t('dashboard.guide.step2.description') %>
112 |<%= t('dashboard.guide.step3.description') %>
118 |The server cannot process the request due to a client error. Please check the request and try again. If you’re the application owner check the logs for more information.
109 |Your browser is not supported.
Please upgrade your browser to continue.
We’re sorry, but something went wrong.
If you’re the application owner check the logs for more information.
The change you wanted was rejected. Maybe you tried to change something you didn’t have access to. If you’re the application owner check the logs for more information.
109 |<%= t('clients.subtitle') %>
10 |<%= t('clients.no_clients.description') %>
67 | <%= link_to new_client_path(interface: @selected_interface), 68 | class: "group inline-flex items-center px-6 py-3 bg-gradient-to-r from-blue-600 to-indigo-600 hover:from-blue-700 hover:to-indigo-700 text-white font-semibold rounded-md hover: transition-all duration-200" do %> 69 | 70 | <%= t('clients.no_clients.action') %> 71 | <% end %> 72 |92 | <%= peer[:interface] %> 93 |
94 |<%= t('clients.stats.description') %>
187 |