
Research
Two Malicious Rust Crates Impersonate Popular Logger to Steal Wallet Keys
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
pboling-subdomain-fu
Advanced tools
= SubdomainFu
SubdomainFu provides a modern implementation of subdomain handling in Rails. It takes aspects from account_location, request_routing, and other snippets found around the web and combines them to provide a single, simple solution for subdomain-based route and url management.
== Installation
SubdomainFu is available both as a traditional plugin and a GemPlugin. To install it as a traditional plugin (Rails 2.1 or later):
script/plugin install git://github.com/mbleigh/subdomain-fu.git
To use it as a GemPlugin, add it to your environment.rb:
config.gem 'mbleigh-subdomain-fu', :source => "http://gems.github.com", :lib => "subdomain-fu"
== Examples
SubdomainFu works inside of Rails's URL Writing mechanisms to provide an easy and seamless way to link and otherwise understand cross-subdomain routing. You can use the :subdomain option both in named and non-named routes as well as in generated resources routes.
Let's say my domain is 'intridea.com'. Here are some examples of the use of the :subdomain option:
url_for(:controller => "my_controller", :action => "my_action", :subdomain => "awesome") # => http://awesome.intridea.com/my_controller/my_action
Now let's say I'm at http://awesome.intridea.com/ and I want back to the root. Specifying "false" will remove any current subdomain:
users_url(:subdomain => false) # => http://intridea.com/users
Note that this plugin does not honor the :only_path notion of routing when doing so would go against the intent of the command. For example, if I were at http://intridea.com again:
users_path(:subdomain => "fun") # => http://fun.intridea.com/users users_path(:subdomain => false) # => /users
In this way you can rest assured that you will never misdirect your links to the same subdomain when you meant to change it.
== Use in controllers and views
You have access to current_subdomain and current_domain methods.
current_subdomain - returns all subdomains. http://awesome.website.stuff.example.com => "awesome.website.stuff"
current_domain - returns all subdomains except for the first subdomain and the domain with TLD. http://awesome.website.stuff.example.com => "website.stuff.example.com"
This might appear strange at first, but the original plugin in this space was account_location, which had this behavior for current domain. Subdomain-fu did not use the same style as account_location with current_subdomain, thus the overlap. However Subdomain-fu has created a lot of utility in its implementation of current_subdomain, so the overlap stays!
If what you really want is just the domain, then use request.domain. The purpose of current_domain is to only strip off the first subdomain, if any, and return what's left.
== Configuration
You may need to configure SubdomainFu based on your development setup. The configuration required is:
=== TLD Size
A hash for each environment of the size of the top-level domain name. (something.com = 1, localhost = 0, etc.)
SubdomainFu.tld_size = 1 # sets for current environment SubdomainFu.tld_sizes = {:development => 0, :test => 0, :production => 1} # set all at once (also the defaults)
=== Mirrors
Mirrors are the subdomains that are equivalent to no subdomain (i.e. they 'mirror') the usage of the root domain.
SubdomainFu.mirrors = %w(www site we) # Defaults to %w(www)
=== Preferred Mirror
SubdomainFu also understands the notion of a 'preferred mirror', that is, if you always want your links going to 'www.yourdomain.com' instead of 'yourdomain.com', you can set the preferred mirror like so:
SubdomainFu.preferred_mirror = "www"
Now when you create a link with subdomain => false in the options the subdomain will default to the preferred mirror.
== Routing
SubdomainFu can also work within Rails' routing for subdomain-specific routes. For instance, if you only wanted your administrative tools available in the "admin" subdomain you could add this to your routes.rb file:
map.with_options :conditions => {:subdomain => 'admin} do |admin|
admin.resources :posts
admin.resources :users
end
== Resources
Copyright (c) 2008 Michael Bleigh (http://www.mbleigh.com/) and Intridea, Inc. (http://www.intridea.com/). Released under the MIT license
FAQs
Unknown package
We found that pboling-subdomain-fu demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
Research
A malicious package uses a QR code as steganography in an innovative technique.
Research
/Security News
Socket identified 80 fake candidates targeting engineering roles, including suspected North Korean operators, exposing the new reality of hiring as a security function.