The documentation on substitute is not clear. A month went by and I found the solution in stumbling on the "mod_substitute" and "mod_sed" modules. I hope you can help with this because I am a little bit confused. Whether to apply the inherited Substitute patterns first (on), or after the ones of the current context (off). Making statements based on opinion; back them up with references or personal experience. Make your website faster and more secure. Login. 1) a proxypass command: when the inbound traffic URL is suffixed with /liferay, I replace the URL with the LB-Internal URL so that the traffic gets forwarded to Liferay. See also mod_filter: Why does a SUBSTITUTE not work for certain URLs? # replaces text in the response. And, we have skinned it a tiny bit so it fits our companys look a bit more than the original layout. Instance Public methods, read_substitution(header, syms, winapis) It is closest defined merge order. hence contexts that inherit it (those that don't specify their own Basically its sed in an Apache module. For this purpose, we are going to use and work with the mod_proxy extension and several other related Apache modules. rev2023.6.2.43474. Ive followed this guide to the T. I wonder if it has to do with the fact that Im using DOs one-click Wordpress installation on Ubuntu. Run the following command to install build-essential package: Next, we are going to get the module and dependencies. @Josh Get better performance for your agency and ecommerce websites with Cloudways managed hosting. n. By default the pattern is treated as a regular expression. The mod_proxy Apache module takes care of most of it, but hardcoded URLs in the html code need to be translated as well from the internal IP to the external domain name. The reverse proxying works fine, but my back-end CMS is producing hard-coded absolute URLs in all the HTML links. Perform search and replace operations on response bodies, Available in Apache HTTP Server 2.2.7 and later, Change the merge order of inherited patterns. Note: To learn more about Apache, you can check out the Wikipedia entry on the subject - Apache HTTP Server. The Substitute directive specifies a search and replace pattern to apply to the response body. At work we run Roundcube as a webmail frontend. What exactly do I need from them (domain.com) in order for me to configure Apache 2.2 httpd-ssl.conf properly? are sent to the browser, you can use Apache's string substitution features. Repeat the steps from the previous steps but using these configuration options: Once you are happy with your configuration, you will need to restart the cloud server for the changes to go into effect. mod_proxy_wstunnel: Used for working with web-sockets (i.e. I always received err_too_many_redirects from my browser. What happens if a manifested instant gets blinked? Class Public methods So, DNS does not really help. http://www.objectmasters.com/Blog/Post/How-to-Inject-html-in-outgoing-responses-using-Apache-Substitute-module. The meaning of the pattern can be modified by using any combination of these flags: i. n. By default the pattern is treated as a regular expression. modifies any Location (redirect) headers that are sent I had a problem with the balancer. Perform a case-insensitive match. LoadModule proxy_module modules/mod_proxy.so For example, two substitutions would look like: You can find more information in the 16 Is it possible to replace content on every page passed through a proxy similar to how mod_rewrite is used for URLs? not currently possible to temporarily convert the response to EBCDIC before In Germany, does an academic position after PhD have an age limit? And that is even different than our images host (images.dealnews.com) that is also on the CDN, but on its own domain for some very complicated reasons dealing with the CDN. mod_substitute was working fine. FilterChain DN_REPLACE_URLS Stack Exchange network consists of 181 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers. I updated my answer with something to try to get your original substitute line working. . I am the middle man here. Substitute "s|||ni" The best answers are voted up and rise to the top, Not the answer you're looking for? ]:[port]/, # However, configure ProxyPass argument to, # Usage: SSLCertificateFile /path/to/cert.pem, # ProxyPass / balancer://balancer_cluster_name. SubstituteInheritBefore is itself inherited, hence contexts that inherit it (those that don't specify their own SubstituteInheritBefore value) will apply the closest defined merge order. z/OS Note: mod_substitute can only operate on EBCDIC responses. Using the n flag forces the pattern to be treated as a fixed string. At work we run Roundcube as a webmail frontend. However once we put it behind a firewall we ofcourse get 404s on a bunch of css and images. 1 Answer Sorted by: 5 The docs say filter normally applies to response status 200. Every analytics project has multiple subsystems. The Problem was the cluster member url contained a slash (/) after the portnumber - i removed those, and added a slash on ProxyPass. All was right in the world. Hello, I need some help: mod_substitute provides a mechanism to perform both regular expression and fixed string substitutions on response bodies. Using the n flag forces the pattern to be treated as . But there are five areas that really set Fabric apart from the rest of the market: 1. Also there are no error messages in error_log. reflect the official policy or position of my employer or other groups with which I may be affiliated. 2) a substitute command: when the page contains the LB . Basically it's sed in an Apache module. They need replacing and tools like mod_rewrite are not picking them up as they are not URL requests. Trying to enable them twice will just ensure that they are active. We have received your request and will respond promptly. You get paid; we donate to tech nonprofits. For my eyes it is exactly what the doc says. ServerName localhost.localdomain These links have the 3128 port hard-coded into them. Start with $100, free. What it does, is that, you guessed it, it searches and replaces in content before it gets delivered by the server. using SubstituteMaxLineLength. AddOutputFilterByType SUBSTITUTE text/html Most modern browsers will accept gzipped webpages (they use the "Accept-Encoding" header to tell the webserver whether they can accept zipped pages). The value can be given as the number of bytes and can be suffixed The Substitute directive specifies a search and replace pattern to apply to the response body. mod_substitute provides a mechanism to perform both regular expression and fixed string substitutions on response bodies. documentation for mod_substitute. Background. apache httpd substitute wont work Ask Question Asked 7 years, 8 months ago Modified 6 months ago Viewed 7k times 14 I configured apache httpd to apply substitute. Configuring Apache To Proxy Connections, Apache Working As A Reverse-Proxy Using mod_proxy. # www.sample.com ServerAdmin support@sample.com DocumentRoot /usr/local/apache2/htdocs ServerName www.sample.com ErrorLog logs/error_log CustomLog logs/access_log common, ProxyRequests Off Order deny,allow Allow from all , ProxyPass [sample.com:3128] ProxyPassReverse [sample.com:3128] AddOutputFilterByType SUBSTITUTE text/html Substitute s/3128/80/inq #Substitute "shttp://www.sample.com:3128http://www.sample.cominq" . Start editing the virtual-host settings like the previous step, but this time using the below configuration example: If you are dealing with SSL connections and certificates, you will also need to enable a secondary virtual host with below settings. In this scenario, substitute "http://192.168.1.23:8080/roller/" for "http://www.i-am.ws/" and you're all set. Substitute "s| It is enabled for use just like any other module and configuration is pretty basic (or standard), in line with others. Already a Member? is limited to restrict memory use. 2 svar p "Fun with mod_substitute in Apache2" Apache . Fast forward a day. it being a collection of application patches (or modules). Working on improving health and education, reducing inequality, and spurring economic growth? So, you can for instance search for roundcube_logo.png and replace it with my_awesome_logo.png. @GregL, this format of URL is a "protocol-relative" URL, it is perfectly valid way to link to pages, although it is not that commonly known. Make your website faster and more secure. This is what my directive looks like: FilterChain DN_REPLACE_URLS2 Why does bunched up aluminum foil become so extremely hard to compress? In this case, mod_substitute can be used to rewrite those URLs into something that will work from the front end: ProxyPassReverse modifies any Location (redirect) headers that are sent by the back-end server, and, in this example, Substitute takes care of the rest of the problem by fixing up the HTML response as well. mod_substitute. Thank you for helping keep Tek-Tips Forums free from inappropriate posts.The Tek-Tips staff will check this out and take appropriate action. I put in the URL mappings and VIOLA! At first, things went fine and then the same thing happened again. In this case, mod_substitute can be used to rewrite those URLs into something that will work from the . Perform a case-insensitive match. Already a member? The Substitute directive specifies a search and replace pattern to apply to the response body. What is wrong with it? Ive got the following 000-default.conf:: However, I still get a 404 when trying to browse to the webpage. Further investigation has shown that other ways of re-writing the HTML output (in addition to mod_substitute) are: 1. mod_proxy_html. mod_proxy_connect: This one is used for SSL tunnelling. Here is the config from my httpd.conf: # www.sample.com <VirtualHost *:80> ServerAdmin support@sample.com DocumentRoot /usr/local/apache2/htdocs ServerName www.sample.com ErrorLog logs/error_log CustomLog logs/access_log common ProxyRequests Off <Proxy *> The maximum line size handled by mod_substitute SubstituteInheritBefore value) will apply the column NOTE: The column pa, (PHP 4 >= 4.0.6, PHP 5, PHP 7) The only thing to be aware of is that you must be running a pretty recent version of Apache (2.2.7 for "mod_substitute" and even 2.3 for "mod_sed"). Thanks to Jim Boykin for taking care of WebmasterWorld for 5 yrs! Browse other questions tagged, Start here for a quick overview of the site, Detailed answers to any questions you might have, Discuss the workings and policies of this site. The meaning of the pattern can be modified by using any combination of these flags: i. The limit can be configured Another developer is testing some new code and finds that his XML is getting munged. Im an apache 2.2 httpd and want to communicate to a secured server which is also HTTPS SSL by using ProxyPass and ProxyPassReverse. I'd recommend trying that first as it's simpler to try and may be what's going on. You do not need to repeat the line If you need to replace strings in the output of your PHP scripts before they are sent to the browser, you can use Apache's string substitution features. If your Content-Type is text/javascript, both filters will match and fire. mixed mb_substitute_character ([, read_with_substitution( input, illegal=nil ) Connect and share knowledge within a single location that is structured and easy to search. mod_proxy is the Apache module for redirecting connections (i.e. A month went by and I found the solution in stumbling on the "mod_substitute" and "mod_sed" modules. Please let us know here why this post is inappropriate. Any ideas on what to do? - Apache Documentation Cool! I thought mod_substitute would do the job, but it errors out all the time with: AH01328: Line too long. when regular expressions are used, as illustrated in the following example: A common use scenario for mod_substitute is the Run the following command to install them: Before configuring Apache, we are going to enable the necessary modules that we will be using in this tutorial, or which might come in handy in the future. The mod_proxy Apache module takes care of most of it, but hardcoded URLs in the html code need to be translated as well from the internal IP to the external domain name. Actually, in the old days, it is called mod_sed ;). I am just trying to prepend and append a certain string to Apache responses matching certain filetypes. Just wondering instead of having to rewrite the URLs on the dev environment, have you tried simply overriding your DNS by putting entries for dealnews.com et al in your local hosts file, and having those entries point at the right IP addresses for your dev boxes? Normally everything gets 200, They are from link tags on an IIS server . You can just delete the old installation and unzip the new one and be done with it. So, from now on, whenever you upgrade Roundcube. The meaning of the pattern can be modified by using any combination of these flags: If either the pattern or the substitution contain a slash character then an alternative delimiter should be used: Backreferences can be used in the comparison and in the substitution, when regular expressions are used, as illustrated in the following example: A common use scenario for mod_substitute is the situation in which a front-end server proxies requests to a back-end server which returns HTML with hard-coded embedded URLs that refer to the back-end server. response bodies. http://www.objectmasters.com/Blog/Post/How-to-Inject-html-in-outgoing-responses-using-Apache-Substitute-module. That works fine. q The q flag causes mod_substitute to not flatten the buckets after each substitution. character then an alternative delimiter should be used: Backreferences can be used in the comparison and in the substitution, Ive set up a reverse proxy as above to go to www.example.com/server1. It appears mod_proxy ignores it. Hi Brian, *Tek-Tips's functionality depends on members receiving e-mail. To enable it to all statuses we set environment variable filter-errordocs. The following systemctl commands will query systemd for the state of Apache's processes. server which returns HTML with hard-coded embedded URLs that refer It is possible to run Apache very easily on many different platforms and set ups. Grabbing some old bits and pieces of code still lying around :-), that wasn't too tough. That works fine but when i click on any link in /server1 it bypasses the proxy and loads up the original page. to the back-end server. mod_proxy_ftp: This module does the same but for FTP protocol. Google Releases December 2022 Helpful Content Update, New: A guide to Google Search ranking systems, Google Adds Site Names on Mobile Search to Aid Identification, Single Sign On and Identifying Search Bots. If you haven't restarted Apache, be sure to do that, but if you've already done so, you could try a global output filter that runs a custom PHP script to do your replacing just to see if that solves it for some reason. In this DigitalOcean article, we are going to see set up Apache on Ubuntu 13 and use it as a reverse-proxy to welcome incoming connections and redirect them to application server(s) running on the same network. Instance Public methods Server Fault is a question and answer site for system and network administrators. Obligatoriska flt r mrkta *. mod_proxy is not just a single module but a collection of them, with each bringing a new set of functionality. Wed like to help. Then youre free to make your changes in roundcube.css and point to your awesome logo. Whether to apply the inherited Substitute . Further investigation has shown that other ways of re-writing the HTML output (in addition to mod_substitute) are: 1. mod_proxy_html 2. mod_sed 3. mod_ext_filter to invoke some other program to filter the output: # mod_ext_filter directive to define a filter which # replaces text in the response ExtFilterDefine external_sed mode=output intype=text/html cmd="/bin/sed s/california/CA/g", SetOutputFilter external_sed , WebmasterWorld 1996-2023 all rights reserved. I have Apache 2.2.9 installed on Solaris 10. Apache Working As A Reverse-Proxy Using mod_proxy, 4. Can you take a look and check what I am missing to get it working theoretically? The value can be given as the number of bytes and can be suffixed with a single letter b, B, k, K, m, M, g, G to provide the size in bytes, kilobytes, megabytes or gigabytes respectively. And different people in the company need to access all/some of them. Hi, thanks for the suggestion, unfortunately I have not had much luck down this path. Note: To learn more about Apache and mod_proxy, you can check out the official Apache documentation on the subject here. Copy-and-paste the below block of configuration, amending it to suit your needs: Press CTRL+X and confirm with Y to save and exit. Place this in your virtual host. However it does simply nothing. According to https://httpd.apache.org/docs/2.4/mod/mod_proxy.html#proxypassreverse which rewrites the headers, you use ". Update the software sources list and upgrade the dated applications: Lets continue with getting the essential package for application building - the build-essential. Update for a great answer but I got the other answer working first. wrong directionality in minted environment. What's the purpose of a convex saw blade? It only takes a minute to sign up. These URLs don't work for the end-user, since the back-end server is unreachable. By joining you are opting in to receive e-mail. Has anyone had success with using this format to handle separate Substitutions for different content types in the same Location? Best regards, SSLCertificateKeyFile /etc/httpd/conf.d/ssl/server_priv.pem. We will begin with preparing our virtual server. situation in which a front-end server proxies requests to a back-end LoadModule proxy_http_module modules/mod_proxy_http.so, how do you install mod-substitute on ubuntu? AddOutputFilterByType SUBSTITUTE text/html. In this step, we are going to see how to modify the default configuration file 000-default.conf inside /etc/apache2/sites-enabled to set up proxying functionality. Modules | Directives | FAQ | Glossary | Sitemap. These URLs don't work for the end-user, since the back-end server is unreachable. those URLs into something that will work from the front end: ProxyPassReverse documentation for mod_substitute. Elegant way to write a system of ODEs with a Matrix. How do I serve requests to :8550 on a clean url? The real problem was how to handle a CSS script, hosted on content.dealnews.com that references an image on images.dealnews.com and then how to make that URL somedevserver.images.dealnews.com when being served on a dev server. To have Apache perform a string replacement, add the following to the app's .htaccess file : AddOutputFilterByType SUBSTITUTE text/html Substitute s/sitename.example.com/sitename.com/ni Note: To learn more about virtual host configurations, you can check out the detailed Apache manual on the subject by clicking here. Does reducing content for mobile devices affect SEO? Get started with Microsoft Fabric. Unfortunately nothing is happening. Close this window and log in. It was driving me crazy thank you so much! This is my current configuration when the outside world visit the middle man apache server. Since the application is using redirects (more details here ), I'm trying to use apache's mod_substitute to modify the URLs in the redirects so they point to the right URL. To troubleshoot common Apache errors using the systemd service manager, the first step is to inspect the state of the Apache processes on your system. Updated on July 30, 2020. I use < so it itll be applied to the whole site. I dont think thats handyand insecured. I get a HTML 200 on the page but the browser shows: Content Encoding Error The page you are trying to view cannot be shown because it uses an invalid or unsupported form of compression. @Stuart: Well, there are 5 dev instances. mod_headers: Used for managing HTTP headers. by WWWillem in Software |, old bits and pieces of code still lying around. ProxyPass / http://0.0.0.0:8080/ I cant get this running. Neither of the above works at replacing the HTML string. Promoting, selling, recruiting, coursework and thesis posting is forbidden. Apache A common use scenario for mod_substitute is the situation in which a front-end server proxies requests to a back-end server which returns HTML with hard-coded embedded URLs that refer to the back-end server. 3. mod_ext_filter to invoke some other program to filter the output: # mod_ext_filter directive to define a filter which. Copyright 1998-2023 engineering.com, Inc. All rights reserved.Unauthorized reproduction or linking forbidden without expressed written permission. (Note: I did try to add the gzip encoding into my mod_substitute directive and it *didn't* work: AddOutputFilterByType SUBSTITUTE text/html application/x-Gzip multipart/x-gzip). @ Stuart: well, because I am using mod_substitute to filter the output: mod_ext_filter! Of css and images moved to issues with http 1.0 vs. 1.1 Apache documentation on the subject - http... Driving me crazy thank you so much this purpose, we are going to how... Above works at replacing the HTML links after the ones of the to! It being a collection of them simpler to try to get your original substitute line working answer but I the. An academic position after PhD have an age limit pieces of code still lying around: - ) and mod_substitute... Around: - ) and to do a case-insensitive search ( I ) 2023 Stack Exchange Inc ; contributions... Whenever you upgrade Roundcube response bodies network administrators decrease in memory utilization, it! With getting the essential package for application building - the build-essential by the server used working. Sure that we have everything up-to-date or responding to other answers does, is,. Licensed under CC BY-SA have the 3128 port hard-coded into them separate substitutions for different types!, recruiting, coursework and thesis posting is forbidden to miss out it itll be applied the. Ubuntu Apache 2.4, ServerAlias without www not working on improving health and education reducing... Glossary | Sitemap going on of code still lying around: - ), or the! Is also HTTPS SSL by using any combination of these learning paths ) headers that are sent the... I dont want to miss out are all the HTML string of Apache & # x27 ; s sed an! Copy-And-Paste the below block of configuration, amending it to all statuses we set environment variable filter-errordocs mod_substitute do! From them ( domain.com ) in order for me to configure Apache 2.2 httpd and to., thanks for the end-user, since the back-end server is unreachable its sed in an Apache module for Connections... Running one virtual machine or ten thousand need replacing and tools like mod_rewrite are not URL requests am proxying. The n flag forces the pattern is treated as a webmail frontend pattern be! Up aluminum foil become so extremely hard to compress have absolute paths instance search for and. Is used for working with web-sockets ( i.e current context ( off ) filter the output #! Handle separate substitutions for different content types in the cloud and scale up as are! Them, with each bringing a new set of functionality: # mod_ext_filter directive to define a which! To launch in the same thing happened again unzip the new one and be done with it affiliated... Then youre free to make your changes in roundcube.css and point to your awesome logo to save and.! `` mod_sed '' modules moved to issues with http 1.0 vs. 1.1 we put it behind firewall... Am looking for postdoc positions addition to mod_substitute ) are: 1..! See how to modify the default look, I still get a 404 when trying browse! To modify the default look, I added: ProxyPreserveHost on line you must and... Look and check what I am just trying to enable it to post a saying! The q flag causes mod_substitute to not flatten the buckets after each.... Problem with the balancer user contributions licensed under CC BY-SA to apply to the response body really.! For application building - the build-essential to save and exit and check I! Patches ( or modules ) content types in the old days, it is closest merge... To proxy Connections, Apache working as a webmail frontend a fixed string context ( off ) delete... Company need to access all/some of them, with each bringing a new set of functionality ways. Environment variable filter-errordocs tested it outside of the current context ( off ) shown that other ways re-writing. String substitutions on response bodies much luck down this path line you must load and enable mod_proxy_html build-essential package Next... Members receiving e-mail back them up as you grow whether youre running one virtual machine or ten thousand on bunch. Point to your awesome logo these flags: I but a collection of.! Line too long comment, it is exactly what the doc says Fun with mod_substitute in &! To be treated as a Reverse-Proxy using mod_proxy, 4 and I found the in. To EBCDIC before in Germany, does an academic position after PhD have an age limit on! $ text/ mod_substitute provides a mechanism to perform both regular expression see mod_filter! Keep Tek-Tips Forums free from apache mod_substitute not working posts.The Tek-Tips staff will check this out and appropriate... Look, I need from them ( domain.com ) in order for me to configure 2.2! Investigation has shown that other ways of re-writing the HTML string is there any evidence suggesting or that! Be helpful SSL by using any combination of these flags: I a 404 when trying to browse the! * Tek-Tips 's functionality depends on members receiving e-mail on opinion ; back them with! Get a 404 when trying to browse to the whole site then free... First, things went fine and then the same but for FTP protocol is also HTTPS SSL by any. Pages I am looking for postdoc positions by the server subject here academic position after PhD have age! Good reason Why you 've got the host/domain hardcoded the company need access. For SSL tunnelling: //192.168.1.23:8080/roller/ '' for `` http: //0.0.0.0:8080/ I cant this... Q the q flag causes mod_substitute to not flatten the buckets after each substitution I dont want to communicate a. 2.2 httpd and want to miss out, reducing inequality, and spurring economic growth, now... Become a partner to get the module and dependencies around: - and! Old bits and pieces of code still lying around: - ) and to do a case-insensitive search I... The LB command: when the page contains the LB went by and I found apache mod_substitute not working in... Using this format to handle separate substitutions for different content types in cloud! Regular expression ( n ) and moved mod_substitute to not flatten the after... Get a 404 when trying to browse to the back-end server is unreachable proxy_connect proxy_html the port from. An academic position after PhD have an age limit system and network administrators in stumbling on the subject Apache! It is exactly what the doc says using any combination of these learning paths is..., both filters will match and fire those URLs into something that will work from response. Substitute directive specifies a search and replace pattern to apply the inherited substitute patterns first ( on,... ( i.e finds that his XML is getting munged the Wikipedia entry on the `` mod_substitute '' ``... Comes from servers patchy nature - i.e substitute directive specifies a search and replace pattern apply! And also requestheader set Accept-Encoding identity for application building - the build-essential set up functionality. As you grow whether youre running one virtual machine or ten thousand,. Response status 200 host/domain hardcoded get better performance for your agency and ecommerce websites with Cloudways managed hosting statements on... Working on improving health and education, reducing inequality, and spurring economic?! Filter which we donate to tech nonprofits suggestion, unfortunately I have not had much luck down path! Be helpful / > we have everything up-to-date system and network administrators received your request and respond! Mod_Proxy, you guessed it, it apache mod_substitute not working closest defined merge order getting munged it behind a firewall we get. Does the same Location just ensure that they are active or other with... Certain filetypes equilibrium constant with respect to temperature the ones of the pattern is as! Are active, 4 Russia was not going to use and work a! | Directives | FAQ | Glossary | Sitemap using mod_proxy, you can delete... Thanks to Jim Boykin for taking care of WebmasterWorld for 5 yrs ``:... Instance Public methods server Fault is a question and answer site for system apache mod_substitute not working! So extremely hard to compress get up and running in the company to... Or early name comes from servers patchy nature - i.e will work from the response body which. It ( those that do n't specify their own Basically its sed in an Apache module for redirecting (! Happened again According to HTTPS: //httpd.apache.org/docs/2.4/mod/mod_proxy.html # ProxyPassReverse which rewrites the headers, you can just delete the days. S processes build-essential package: Next, we are going to see how to modify the default configuration file inside! Will query systemd for the end-user, since the back-end server is unreachable, since the back-end is. Apache server '' modules Why you 've got the following systemctl commands will query systemd the... Is producing hard-coded absolute URLs in all the HTML links the limit can be configured developer! The same but for FTP protocol regular expression ( n ) and moved mod_substitute to filter out the official or! Updated my answer with something to try to get up and running in the old installation and the... Can help with this because I can and because if Roundcube for instance the. Like mod_rewrite are not picking them up with references or personal experience that... Mod_Substitute '' and you 're all set either late or early get it working theoretically you... Launch in the same Location off ) people in the cloud, or responding to other answers to your! Case, mod_substitute can be configured Another developer is testing some new code and that!, thanks for the state of Apache & # x27 ; s sed in an Apache module is of. Apache2 & quot ; Apache other answers Fun with mod_substitute in Apache2 & quot Apache.

Benoit Saint-denis Vs Gabriel Miranda, Can Tea Cause Stomach Ulcers, Front Of Ankles Sore After Walking, What Is Equity In Education, Events In Las Vegas November 2022, Confronting Yourself Remastered, Flutter Map List To Widgets,